Post-Release Cleanup (satellite)
Run this after the release branch's CI build is green and the package has been manually pushed to MyGet. This is the point where a version is actually shipped — nothing in git or CI observes the manual MyGet push directly, so tagging and creating the GitHub Release happen here, not on branch push or CI completion.
Workflow
Confirm the release actually shipped. Ask the user (AskUserQuestion) to confirm the package for this release branch was pushed to MyGet. If not confirmed, stop — do not tag or merge an unpublished release.
Identify the release branch and its target:
release/*branches cut frommainmerge back intomain(v18)release/*branches cut fromsupport/17.xmerge back intosupport/17.x(v17)
If ambiguous, ask the user.
Fetch latest state:
git fetch origin --tagsMerge the release branch into its target:
git checkout main # or support/17.x git pull origin main # or support/17.x git merge --no-ff origin/release/<name> -m "Merge release/<name> into main"Read the shipped version from
version.jsonon the merge commit (this is the stable version set by/release-management, e.g.18.0.0).Tag the merge commit and push the tag:
git tag release-<version> git push origin release-<version>Tag naming is
release-<version>(e.g.release-18.0.0,release-17.0.0) — matches the existing tag convention in this repo.Create the GitHub Release:
gh release create release-<version> --target main --generate-notes(
--target support/17.xfor a v17 release.) Use--generate-notes— GitHub's auto-generated summary of merged PRs since the previous release. Do not hand-write release notes.Push the merge commit:
git push origin main # or support/17.xPatch-bump
version.jsonon the target branch so nightly--preview.*builds sort above the just-shipped stable version (e.g.18.0.0→18.0.1). Commit as:git commit -am "chore(release): Bump <branch> to <new-version> after <release-branch-name> release" git push origin main # or support/17.xDelete the release branch, local and remote:
git branch -d release/<name> git push origin --delete release/<name>Report summary:
✓ Merged release/2026.07.3 into main ✓ Tagged release-18.0.0 and pushed ✓ Created GitHub Release release-18.0.0 (auto-generated notes) ✓ Bumped main to 18.0.1 for next-cycle nightlies ✓ Deleted release/2026.07.3 (local + remote)
Notes
- Always run from repository root.
- This is a light version of the core Umbraco.Automate
post-release-cleanupskill — no changelog files, no release manifest, no multi-product tag scanning (single product, oneversion.json). - Do not tag or create a release for a branch whose package was not actually confirmed on MyGet.
- If no
release/*branch matches, or the merge conflicts, stop and report — do not force-resolve conflicts silently.