Update pipelines for the 7.1 branch - #4690
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
Pipeline documentation must be aligned with the updated defaults and disabled triggers.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Updates Azure DevOps and GitHub pipeline triggers, schedules, synchronization defaults, and guidance for the 7.1 release branch.
Changes:
- Retargets pipeline filters and schedules to
release/7.1branches. - Disables legacy package-reference PR and GitHub triggers.
- Updates sync naming, performance defaults, and pipeline documentation.
File summaries
| File | Reviewed change |
|---|---|
eng/pipelines/sqlclient-pr-project-ref-pipeline.yml |
Retargets PR validation branches. |
eng/pipelines/sqlclient-pr-package-ref-pipeline.yml |
Disables package-reference PR validation. |
eng/pipelines/pr/sqlclient-pr-pipeline.yml |
Updates PR branch filters. |
eng/pipelines/perf/sqlclient-perf-pr-pipeline.yml |
Changes the performance baseline default; related documentation needs alignment. |
eng/pipelines/onebranch/sqlclient-official.yml |
Updates the official build schedule. |
eng/pipelines/github-sync-pipeline.yml |
Updates sync defaults and generated branch naming. |
eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml |
Updates CI branches and schedules. |
eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml |
Updates package-reference CI triggers. |
eng/pipelines/ci/stress/sqlclient-ci-stress-pipeline.yml |
Updates completion-trigger branches. |
eng/pipelines/ci/package/sqlclient-ci-package-pipeline.yml |
Adds staggered schedules and separates GitHub and ADO runs. |
eng/pipelines/ci/managed-instance/sqlclient-ci-managed-instance-pipeline.yml |
Updates completion-trigger branches. |
eng/pipelines/ci/kerberos/sqlclient-ci-kerberos-pipeline.yml |
Updates completion-trigger branches. |
.github/instructions/onebranch-pipeline-design.instructions.md |
Refreshes official schedule guidance. |
.github/instructions/ado-pipelines.instructions.md |
Refreshes branch and schedule guidance; should document disabled package-reference exceptions. |
Review details
Suppressed comments (1)
.github/instructions/ado-pipelines.instructions.md:80
- This blanket statement is inconsistent with the package-reference CI pipeline in this PR: its GitHub push entry remains commented out due to limited resources, while only the ADO internal branch is active. Please call out that exception (and other scheduled-only CI pipelines if applicable) so this guidance does not imply a GitHub push trigger that is intentionally disabled.
- Trigger on push to `release/7.1` (GitHub) and `internal/release/7.1` (ADO) with `batch: true`
- Scheduled daily builds are staggered to avoid main and other release-branch schedules (see individual pipeline files for cron times)
- Files reviewed: 14/14 changed files
- Comments generated: 2
- Review effort level: Lite (auto)
Note
Copilot is running an experiment and ran this review at Lite.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
- Note the legacy package-reference PR pipeline's empty branch include list in the PR-trigger guidance so it is not described as auto-triggered. - Update the perf PR pipeline header and eng/pipelines/perf/README.md to state release/7.1 as the baselineSourceRef default instead of main.
There was a problem hiding this comment.
🔵 Needs a closer look
Broad trigger and schedule changes require human verification, and two documentation clarifications remain.
Review details
Suppressed comments (2)
.github/instructions/ado-pipelines.instructions.md:80
- This summary now says all CI pipelines push-trigger on both branches, but the legacy package-reference CI pipeline intentionally comments out its GitHub
release/7.1push entry and retains only the ADO internal branch (eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml:60-66). Please document that exception here so this guidance does not imply that the disabled GitHub CI trigger is active; its GitHub scheduled run remains enabled.
- Trigger on push to `release/7.1` (GitHub) and `internal/release/7.1` (ADO) with `batch: true`
eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml:25
- The GitHub CI entry is commented out below, so this new bullet does not describe the trigger behavior: only the GitHub schedule uses
release/7.1, while ADO retains the push trigger. The surrounding GOTCHA/header consequently still says the pipeline is triggered by GitHub CI even though this PR disables it; distinguish the schedule from the disabled GitHub push trigger here.
# - The GitHub registration uses the release/7.1 branch filters.
- Files reviewed: 15/15 changed files
- Comments generated: 0 new
- Review effort level: Lite (auto)
Note
Copilot is running an experiment and ran this review at Lite.
- Note in the CI-trigger guidance that the legacy package-reference CI pipeline has its GitHub push entry commented out, leaving only the ADO push trigger active while the GitHub daily schedule still runs. - Clarify the package-reference pipeline header so the GitHub registration is described as schedule-only rather than push-triggered.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## release/7.1 #4690 +/- ##
==============================================
Coverage ? 65.27%
==============================================
Files ? 291
Lines ? 68557
Branches ? 0
==============================================
Hits ? 44749
Misses ? 23808
Partials ? 0
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
🔵 Needs a closer look
Unresolved documentation mismatches remain in pipeline inventories and package-reference trigger guidance.
Review details
Suppressed comments (3)
.github/instructions/ado-pipelines.instructions.md:74
- This exception describes the current pipeline incorrectly:
sqlclient-pr-package-ref-pipeline.ymlusespr: none, not an empty branch include list. Please state that explicitly so maintainers know which setting to change when re-enabling PR validation.
- Exception: the legacy `sqlclient-pr-package-ref-pipeline.yml` has an empty branch include list, so it has no PR trigger and is manual-queue only
eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml:70
- These trigger changes leave the repository's CI trigger inventory stale:
eng/dashboards/ado.net-pipelines-ci-builds-by-branch.mdstill records MDS Main CI and MDS Main CI-Package oninternal/mainat 01:00 UTC, while these definitions now useinternal/release/7.1and the 09:00/17:00 and 11:00/19:00 schedules. Please update the dashboard entries so operators do not follow the old branch and times.
- cron: '0 9 * * *'
eng/pipelines/onebranch/sqlclient-official.yml:20
- The official schedule now runs daily at 23:00 UTC from
internal/release/7.1, buteng/dashboards/ado.net-pipelines-official-builds.mdstill lists this pipeline oninternal/mainwith the old Mon-Fri/Sunday times. Update that inventory along with this trigger so the documented official build path matches the YAML.
- cron: "0 23 * * *"
displayName: 7.1 Daily Official Build (23:00 UTC)
branches:
include:
- internal/release/7.1
- Files reviewed: 15/15 changed files
- Comments generated: 0 new
- Review effort level: Lite (auto)
Note
Copilot is running an experiment and ran this review at Lite.
Description
Update Azure DevOps pipeline branch specifications for the 7.1 release branch:
release/7.1andinternal/release/7.1.mainand existing release branches./as-in its generated sync branch name.This replaces #4689, which targeted the now-superseded
release/7.1-stagingbranch.There are no public API or product behavior changes.
Testing
Automatic PR validation
sqlclient-prrelease/7.1PR-SqlClient-Projectrelease/7.1PR-SqlClient-Package4b83c2a4dpr: noneManually queued Public pipelines
All runs below were queued from
dev/paul/release/7.1/pipelinesat commit4b83c2a4d.CI-SqlClientCI-SqlClient-Packagesqlclient-ci-packageManually queued ADO.Net pipelines
All runs below were queued from the mirrored
dev/paul/release/7.1/pipelinesbranch at commit4b83c2a4d.MDS Main CIMDS Main CI-Packagesqlclient-ci-packagesqlclient-officialsqlclient-perf-prGitHub ADO mirror syncsqlclient-ci-kerberosAutomatically triggered downstream pipelines
Azure evaluates pipeline-completion trigger filters from each downstream pipeline's Default branch for manual and scheduled builds, then runs the downstream YAML from the upstream branch when both pipelines use the same repository. The current default branch for the ADO.Net downstream definitions is
refs/heads/internal/main.sqlclient-ci-package#175375sqlclient-ci-stresssqlclient-ci-package#175395sqlclient-ci-stresssqlclient-ci-package#175395sqlclient-ci-managed-instance4b83c2a4dsqlclient-ci-package#175395sqlclient-ci-kerberosThe default-branch trigger-discovery gap is addressed by follow-up draft PR #4694. Release branches remain scoped to their own package completion events.