Migrate CI/CD from GitHub Actions to ADO; remove GH Actions workflow (#895)
* Add ADO pipeline hyperlinks to CI-AND-RELEASE-PIPELINES.md * Add Python 3.8 to ADO CI matrix * Move benchmarks from GH Actions to ADO; remove cb job from GH workflow * Remove GH Actions CI/CD workflow — tests and publish fully covered by ADO pipelines 3064 and 3067 * Address Copilot review: fix benchmark branch condition, switch to PublishPipelineArtifact@1; add TSA config, PostBuildCleanup, job retries * Fix: move retries from job to retryCountOnTaskFailure on pytest step (matrix jobs don't support retries) * Address Copilot review: wire tsaConfig.json to PublishSecurityAnalysisLogs@3; fix Cache@2 key escaping * Move cryptography version-gating tests to warning-only step The cryptography ceiling tests fail whenever a new major version of the cryptography package is released. These are maintenance-reminder tests and should not block unrelated PRs. Run them in a separate step with continueOnError: true so they appear as warnings rather than failures. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add Benchmark stage to pipeline documentation Update pipeline purpose, stage diagram, and stage table to include the Benchmark stage that runs on post-merge pushes to dev. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address Copilot review: benchmark skip, pytest install, artifact guard - Add --benchmark-skip to CI pytest runs so benchmarks only run in the dedicated Benchmark stage, not on every PR across all Python versions - Explicitly install pytest in the Benchmark job instead of relying on transitive dependency from pytest-benchmark - Guard PublishPipelineArtifact with a file existence check so a missing benchmark.json does not mask the underlying failure Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix: allow Build/Publish stages to proceed on SucceededWithIssues The cryptography ceiling check runs with continueOnError: true, which causes the CI stage to finish as SucceededWithIssues rather than Succeeded. The strict eq(..., 'Succeeded') conditions on Build, PublishMSALPython, and PublishPyPI stages caused them to skip. Change all three conditions to use in(..., 'Succeeded', 'SucceededWithIssues') so warning-only tasks don't block the release. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Upgrade EsrpRelease task from v9 to v12 Per ESRP team feedback, v12 returns errors properly. * updated for e2e tests * updated the pipeline runtime and updated the version for sku for rc * Update template-pipeline-stages.yml * Update template-pipeline-stages.yml * Resolved comments --------- Co-authored-by: Nilesh Choudhary <nichoudhary@microsoft.com>
R
Ryan Auld committed
c504b419a5a604a761d80d3f46365077ed8e6a21
Parent: 192a82d
Committed by GitHub <noreply@github.com>
on 5/21/2026, 10:14:35 PM