Skip to content

CHORE: add OneBranch official + dummy release pipelines - #549

Merged
bewithgaurav merged 2 commits into
devfrom
bewithgaurav/onebranch-release-pipelines
Jul 27, 2026
Merged

CHORE: add OneBranch official + dummy release pipelines#549
bewithgaurav merged 2 commits into
devfrom
bewithgaurav/onebranch-release-pipelines

Conversation

@bewithgaurav

Copy link
Copy Markdown
Collaborator

What

Completes the release loop on top of the build pipeline (#548):

File Template Purpose
official-release-pipeline.yml OneBranch Official Download build dropESRP release to PyPI. Gated by releaseToPyPI (default false = dry run).
dummy-release-pipeline.yml OneBranch NonOfficial Exercise the full ESRP path against a Maven ContentType (never PyPI) to validate wiring safely.

Design

  • Safe by default: the official pipeline's releaseToPyPI defaults to false — a run only downloads + validates the artifact (dry run). Flip to true + re-run to actually publish. The dummy pipeline never targets PyPI (Maven ContentType).
  • No hard-coded build definition id: both consume the build output via a pipelines: resource (download: buildPipeline), resolving the drop_build_build artifact from the selected build run.
  • ESRP creds come from the existing ESRP Federated Creds (AME) variable group (already present in the mssql-django project).
  • Manual-trigger only (trigger: none) — releases must be deliberate.

The complete loop (once all merged + wired)

GitHub dev --(github-ado-sync, #547)--> ADO main
                                          |
                    Build-Release-Package (#548) --> 'drop' (sdist + wheel)
                                          |
              +---------------------------+---------------------------+
              |                                                       |
   Official-Release (this PR)                          Dummy-Release (this PR)
   ESRP -> PyPI (gated)                                ESRP -> Maven (test only)

Depends on

Draft until the ADO release definitions are created.

Completes the release loop on top of the build pipeline (PR #548):

- official-release-pipeline.yml: OneBranch Official. Downloads the build's
  'drop' artifact and releases to PyPI via ESRP. Gated by releaseToPyPI
  (default false = dry run) so a run never publishes by accident.
- dummy-release-pipeline.yml: OneBranch NonOfficial. Exercises the full ESRP
  path against a Maven ContentType (never PyPI), to validate release wiring
  safely.

Both consume the build via a `pipelines:` resource (download: buildPipeline),
so no build definition id is hard-coded.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@bewithgaurav
bewithgaurav marked this pull request as ready for review July 27, 2026 07:17
Copilot AI review requested due to automatic review settings July 27, 2026 07:17

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.

Pull request overview

Adds OneBranch release pipelines to complete the build→release loop for mssql-django: an Official pipeline intended to ESRP-release to PyPI (gated), and a NonOfficial “dummy” pipeline intended to exercise ESRP wiring safely using a Maven content type.

Changes:

  • Added an Official OneBranch release pipeline that downloads the build drop artifact and (optionally) submits an ESRP PyPI release.
  • Added a NonOfficial dummy release pipeline that downloads the same artifact and submits a dummy ESRP release using Maven content type.
  • Included basic artifact inspection steps prior to release submission (with room to make validation consistent across both pipelines).

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 7 comments.

File Description
OneBranchPipelines/official-release-pipeline.yml New Official pipeline for gated ESRP release to PyPI from the build drop artifact.
OneBranchPipelines/dummy-release-pipeline.yml New NonOfficial dummy pipeline to validate ESRP wiring via Maven content type (never PyPI).

Comment thread OneBranchPipelines/official-release-pipeline.yml
Comment thread OneBranchPipelines/official-release-pipeline.yml
Comment thread OneBranchPipelines/official-release-pipeline.yml
Comment thread OneBranchPipelines/official-release-pipeline.yml
Comment thread OneBranchPipelines/dummy-release-pipeline.yml
Comment thread OneBranchPipelines/dummy-release-pipeline.yml
Comment thread OneBranchPipelines/dummy-release-pipeline.yml
@bewithgaurav
bewithgaurav merged commit b1c4aaf into dev Jul 27, 2026
6 of 66 checks passed
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