Skip to content

Use a deployment job for PCS releases - #6799

Merged
premun merged 3 commits into
dotnet:mainfrom
premun:pcs-deployment-job
Oct 21, 2026
Merged

premun merged 3 commits into
dotnet:mainfrom
premun:pcs-deployment-job

Conversation

@premun

@premun premun commented Oct 20, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Replace the approval-only deployment job and separate migration/deploy stages with one environment-gated Release stage.
  • Run database migrations before the DeployPCS runOnce deployment job, retaining the existing Production/Staging environment selection and approval protection for both jobs.
  • Classify DeployPCS as a 1ES releaseJob, with isProduction true only on refs/heads/production.
  • Run deployment without a repository checkout: package global.json and the GitHub App token helper in the CLI artifact, and declare same-run PCS CLI and production-only AssetManifests artifacts through templateContext.inputs.
  • Document the 1ES requirement that the Azure DevOps environments use resource type None (no attached resources).
  • Preserve the deployment CLI, service connections, image-tag output, production-only release actions, and E2E jobs; update the E2E stage dependency and deployment documentation.

No changes to Azure DevOps environment approval settings or exclusive locking are included.

Azure DevOps/1ES server-side template validation and a staging deployment remain to be performed; authenticated Azure DevOps access was unavailable locally. Confirm that both the Production and Staging environments use resource type None before running the deployment.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 20, 2026 15:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 Needs a closer look

Azure DevOps/1ES server-side validation and a staging deployment remain pending for this production release pipeline change.

No open issues 🎉

What changed in this PR

Consolidates PCS releases into one environment-gated stage while preserving the existing deployment workflow.

Changes:

  • Runs database migrations before the DeployPCS deployment job in a single Release stage.
  • Adds explicit checkout and selective artifact downloads; updates the E2E dependency.
  • Documents environment approvals and the existing CLI-based rollout.
File Description
eng/​pipelines/​templates/​stages/​deploy.yaml Consolidates release jobs and updates E2E sequencing.
docs/​DevGuide.md Explains release gating and corrects the deployment CLI link.

Review effort: Balanced

premun and others added 2 commits October 21, 2026 11:43
Declare same-run pipeline artifacts through templateContext inputs and document the resource-less environment requirement.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove checkout from the release job and include SDK configuration and the GitHub App token helper in the CLI artifact. Keep source-based helper defaults for existing non-release callers.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@premun

premun commented Oct 21, 2026

Copy link
Copy Markdown
Member Author

@dkurepa

dkurepa commented Oct 21, 2026

Copy link
Copy Markdown
Member

We intentionally separated DB migration and Deployment into different sequential stages so we can just run deployment in case of a Maestro outage where we need to redeploy some version. Is there a way to separate them while keeping the deployment job?

@premun
premun enabled auto-merge (squash) October 21, 2026 13:56
@premun
premun merged commit 38d43ca into dotnet:main Oct 21, 2026
14 of 17 checks passed
@premun
premun deleted the pcs-deployment-job branch October 21, 2026 14:01
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