Skip to content

Updating Patch Release Process - #50712

Merged
Jair Myree (jairmyree) merged 5 commits into
mainfrom
jairmyree/updating-patch-releases
Oct 26, 2026
Merged

Jair Myree (jairmyree) merged 5 commits into
mainfrom
jairmyree/updating-patch-releases

Conversation

@jairmyree

Copy link
Copy Markdown
Member

This pull request introduces major improvements to the Azure SDK for Java patch release process, focusing on automation, determinism, and clarity for patch merge-back operations. The changes ensure that released patch versions, changelog entries, and POM updates are consistently and automatically merged back into main using a manifest-driven approach, reducing manual intervention and errors. The documentation has also been updated to reflect these new workflows and guardrails.

Patch Release and Merge-back Automation

  • The patch release pipeline now automatically generates a merge-back PR against main after publishing packages, using a manifest file (patch-changelog.md) to drive exact dependency version, changelog, and POM updates. Source resets, README changes, and other patch-branch-only files are excluded. [1] [2] [3]
  • A new step in the prepare pipeline removes unused entries from external_dependencies.txt and generates the patch-changelog.md manifest, ensuring only relevant dependencies and changelog entries are included in the release. [1] [2]

Manifest-driven Changelog and Dependency Resolution

  • The authoritative source for patch changelog entries is now patch-changelog.md, and only the exact blocks from this manifest are merged back into main. The documentation and reconciliation guides have been updated to reflect this, clarifying that no other release-branch content is merged. [1] [2]
  • Dependency version promotion in version_client.txt is now manifest-driven: only artifacts listed in patch-changelog.md are updated, and only if the patch version is newer than main. The current-version is always preserved from main.

Documentation and Pipeline Template Updates

  • The documentation for patch release and merge-back has been overhauled to describe the new manifest-driven process, including updated critical rules, workflows, and guardrails. It emphasizes the role of patch-changelog.md, the exclusion of certain files, and the automated nature of the merge-back. [1] [2]
  • Pipeline templates and parameters have been updated to support the new merge-back and manifest workflow, including new parameters for passing the manifest path and toggling merge-back behavior. [1] [2] [3] [4] [5]

These changes make the patch release process more robust, reproducible, and less error-prone by codifying the exact set of changes to be merged back and automating their application.

Jair Myree (jairmyree) and others added 2 commits October 6, 2026 10:55
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).
34 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

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

It changes post-publication release automation and repository-wide version reconciliation, warranting final human validation.

0 open findings

What changed in this PR

Automates deterministic patch-release merge-backs into main using a generated changelog manifest.

Changes:

  • Generates and validates patch-changelog.md.
  • Automates dependency, changelog, and generated POM merge-back updates.
  • Adds tests and updates release documentation.
File Description
eng/​versioning/​test_find_unused_dependencies.py Tests unused dependency removal.
eng/​versioning/​find_unused_dependencies.py Adds dependency cleanup mode.
eng/​scripts/​tests/​patch-mergeback-helpers.tests.ps1 Tests manifest and reconciliation helpers.
eng/​scripts/​tests/​Create-Patch-Mergeback.tests.ps1 Tests end-to-end merge-back preparation.
eng/​scripts/​patch-mergeback-helpers.ps1 Implements manifest parsing and updates.
eng/​scripts/​New-PatchChangelog.ps1 Generates the patch manifest.
eng/​scripts/​Create-Patch-Mergeback.ps1 Prepares merge-back changes from main.
eng/​pipelines/​templates/​stages/​archetype-sdk-client-patch.yml Adds merge-back validation.
eng/​pipelines/​templates/​stages/​archetype-java-release-patch.yml Creates merge-back PRs after publication.
eng/​pipelines/​patch-release.yml Enables merge-back automation.
eng/​pipelines/​Patch-Release-README.md Documents the new process.
eng/​pipelines/​patch-release-prepare.yml Generates preparation artifacts.
.github/​skills/​azsdk-java-patch-mergeback/​SKILL.md Updates recovery guidance.
.github/​skills/​azsdk-java-patch-mergeback/​references/​version-client-resolution.md Documents version reconciliation.
.github/​skills/​azsdk-java-patch-mergeback/​references/​changelog-resolution.md Documents changelog reconciliation.

🧠 Review effort: Balanced


Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.

Comment thread eng/scripts/Create-Patch-Mergeback.ps1 Resolved
Comment thread eng/scripts/New-PatchChangelog.ps1 Resolved
Comment thread eng/scripts/patch-mergeback-helpers.ps1 Resolved
Comment thread eng/scripts/patch-mergeback-helpers.ps1 Resolved
Comment thread eng/scripts/patch-mergeback-helpers.ps1 Resolved
Comment thread eng/scripts/patch-mergeback-helpers.ps1 Resolved
Co-authored-by: Alan Zimmer <48699787+alzimmermsft@users.noreply.github.com>
Co-authored-by: Alan Zimmer <48699787+alzimmermsft@users.noreply.github.com>
@jairmyree
Jair Myree (jairmyree) merged commit 8d1fdf4 into main Oct 26, 2026
25 checks passed
@jairmyree
Jair Myree (jairmyree) deleted the jairmyree/updating-patch-releases branch October 26, 2026 15:03
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