Skip to content

fix: preserve branch name in release notes workflow to reuse PRs - #3822

Merged
mattleibow merged 1 commit into
mainfrom
mattleibow/fix-release-notes-preserve-branch
Apr 30, 2026
Merged

fix: preserve branch name in release notes workflow to reuse PRs#3822
mattleibow merged 1 commit into
mainfrom
mattleibow/fix-release-notes-preserve-branch

Conversation

@mattleibow

Copy link
Copy Markdown
Contributor

Problem

The update-release-notes agentic workflow creates duplicate PRs on every run instead of updating a single PR per version. For example, version 4.147.0 has 3 open PRs (#3818, #3819, #3820) and many more closed duplicates.

Root Cause

The create-pull-request safe output in gh-aw appends a random salt suffix to agent-specified branch names by default (preserve-branch-name defaults to false).

The workflow instructs the agent to use dev/release-notes-{VERSION} as the branch name, but each run gets a unique branch like:

Fix

Add preserve-branch-name: true to the create-pull-request safe output configuration. This skips the random salt suffix so the exact branch name dev/release-notes-{VERSION} is used, and subsequent runs update the same PR.

After Merging

The 3 duplicate open PRs (#3818, #3819, #3820) should be closed manually.

The create-pull-request safe output adds a random salt suffix to branch
names by default (preserve-branch-name defaults to false). This caused
every workflow run to create a new branch and a new PR instead of
updating the existing one for the same version.

Setting preserve-branch-name: true ensures the agent-specified branch
name (dev/release-notes-{VERSION}) is used exactly, so subsequent runs
push to the same branch and update the same PR.

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

Copy link
Copy Markdown
Contributor

📦 Try the packages from this PR

Warning

Do not run these scripts without first reviewing the code in this PR.

Step 1 — Download the packages

bash / macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/mono/SkiaSharp/main/scripts/get-skiasharp-pr.sh | bash -s -- 3822

PowerShell / Windows:

iex "& { $(irm https://raw.githubusercontent.com/mono/SkiaSharp/main/scripts/get-skiasharp-pr.ps1) } 3822"

Step 2 — Add the local NuGet source

dotnet nuget add source ~/.skiasharp/hives/pr-3822/packages --name skiasharp-pr-3822
More options
Option Description
--successful-only / -SuccessfulOnly Only use successful builds
--force / -Force Overwrite previously downloaded packages
--list / -List List available artifacts without downloading
--build-id ID / -BuildId ID Download from a specific build

Or download manually from Azure Pipelines — look for the nuget artifact on the build for this PR.

Remove the source when you're done:

dotnet nuget remove source skiasharp-pr-3822

@mattleibow
mattleibow merged commit dd1a5e7 into main Apr 30, 2026
3 checks passed
@mattleibow
mattleibow deleted the mattleibow/fix-release-notes-preserve-branch branch April 30, 2026 17:18
@github-actions

Copy link
Copy Markdown
Contributor

📖 Documentation Preview

The documentation for this PR has been deployed and is available at:

🔗 View Staging Site
🔗 View Staging Docs
🔗 View Staging Gallery (Blazor)
🔗 View Staging Gallery (Uno Platform)
🔗 View Staging SkiaFiddle

This preview will be updated automatically when you push new commits to this PR.


This comment is automatically updated by the documentation staging workflow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant