Conversation
There was a problem hiding this comment.
Pull request overview
Removes the redundant non-Helix Azure DevOps CI build jobs now that equivalent coverage is expected from GitHub Actions and Helix, reducing duplication and resource usage.
Changes:
- Delete the non-Helix Windows/macOS/Linux build-and-test jobs from the public Azure DevOps pipeline.
- Delete the non-Helix Windows/macOS/Linux (including dedicated Azure Cosmos) jobs from the internal test pipeline.
- Remove Cosmos emulator connection/token variables from both pipelines and disable ADO test-result publishing in the internal pipeline template parameters.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| azure-pipelines-public.yml | Removes non-Helix CI jobs/variables, leaving Helix-based execution. |
| azure-pipelines-internal-tests.yml | Removes non-Helix jobs/variables (including Azure Cosmos token-credential execution) and adjusts test-result publishing setting. |
| isAssetlessBuild: true | ||
| enableTelemetry: true | ||
| helixRepo: dotnet/efcore | ||
| jobs: |
There was a problem hiding this comment.
Removing the non-Helix Linux_Cosmos job drops coverage for Cosmos tests running against a real Azure Cosmos account using token credentials (the deleted job set Test__Cosmos__UseTokenCredential=true and ran EFCore.Cosmos.FunctionalTests via AzureCLI@2). I couldn’t find an equivalent run in the remaining ADO Helix jobs or in .github/workflows/Build.yml, so this change appears to eliminate that test path entirely. If token-credential/real-account coverage is still required, please add it to GitHub Actions or Helix before removing this job; otherwise, document in the pipeline/PR why that coverage is no longer needed.
| jobs: | |
| jobs: | |
| - job: Linux_Cosmos | |
| displayName: 'Linux Cosmos' | |
| timeoutInMinutes: 180 | |
| pool: | |
| name: $(DncEngInternalBuildPool) | |
| demands: ImageOverride -equals 1es-ubuntu-2204 | |
| os: linux | |
| variables: | |
| - skipComponentGovernanceDetection: true | |
| steps: | |
| - task: NuGetCommand@2 | |
| displayName: 'Clear NuGet caches' | |
| condition: succeeded() | |
| inputs: | |
| command: custom | |
| arguments: 'locals all -clear' | |
| - template: /eng/common/templates-official/steps/enable-internal-sources.yml | |
| - template: /eng/common/templates-official/steps/enable-internal-runtimes.yml | |
| - script: ./restore.sh -ci /p:configuration=$(_BuildConfig) $(_InternalRuntimeDownloadArgs) | |
| displayName: Restore packages | |
| - task: AzureCLI@2 | |
| displayName: Run Cosmos functional tests with token credentials | |
| inputs: | |
| scriptType: bash | |
| scriptLocation: inlineScript | |
| inlineScript: | | |
| . ./activate.sh | |
| ./dotnet.sh test test/EFCore.Cosmos.FunctionalTests/EFCore.Cosmos.FunctionalTests.csproj --configuration $(_BuildConfig) --no-restore | |
| env: | |
| Test__Cosmos__UseTokenCredential: true |
There was a problem hiding this comment.
Ah, assuming this is true, I think I wasn't clear on real Cosmos only being tested in the non-Helix build.
I think we've said we're OK with relying only on the (Windows) emulator and have received confirmation from the Cosmos team about this approach. So I think it should be fine to drop real Cosmos test coverage - but let me know if I've misunderstood.
AndriySvyryd
left a comment
There was a problem hiding this comment.
We only discussed removing these jobs from the GitHub PRs, I'll send out a PR that does that
Up to you, but why would we keep this for the other stuff given we already have both Helix and Github Actions? |
Because Helix is slow and flaky |
|
I don't understand... Maybe we should chat tomorrow. Is this about the trigger rules of Github Actions not covering some cases? In my mind, everything should be covered by our GA CI (if we need to update trigger rules we should), rather than having different CI workflows for Github PRs vs. other stuff. |
Now that we have full Github Action CI coverage, we have three CI runs covering the same things: Github Actions, Helix and the non-Helix CI build. This removes the last, to simplify and conserve resources.