Skip to content

Remove non-Helix Azure DevOps CI builds#38165

Open
roji wants to merge 1 commit intomainfrom
roji/remove-non-helix-ci-build
Open

Remove non-Helix Azure DevOps CI builds#38165
roji wants to merge 1 commit intomainfrom
roji/remove-non-helix-ci-build

Conversation

@roji
Copy link
Copy Markdown
Member

@roji roji commented Apr 26, 2026

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.

Copilot AI review requested due to automatic review settings April 26, 2026 08:20
@roji roji requested a review from AndriySvyryd as a code owner April 26, 2026 08:20
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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:
Copy link

Copilot AI Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
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

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Member

@AndriySvyryd AndriySvyryd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We only discussed removing these jobs from the GitHub PRs, I'll send out a PR that does that

@roji
Copy link
Copy Markdown
Member Author

roji commented Apr 27, 2026

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?

@AndriySvyryd
Copy link
Copy Markdown
Member

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

@roji
Copy link
Copy Markdown
Member Author

roji commented Apr 27, 2026

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.

@AndriySvyryd
Copy link
Copy Markdown
Member

@roji We need to have the AzDo runs for the redundancy groups to take effect and avoid reporting failures due to test flakiness, see #38160

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants