feat: automated Release Announcement draft maintained by GitHub Copilot#3640
Closed
Copilot wants to merge 5 commits into
Closed
feat: automated Release Announcement draft maintained by GitHub Copilot#3640Copilot wants to merge 5 commits into
Copilot wants to merge 5 commits into
Conversation
Adds a working ReleaseAnnouncement.md (separate from the ChangeLog) that is automatically updated by GitHub Copilot via actions/ai-inference whenever a PR is merged to main. The announcement is curated for Client users and Server operators only. Co-authored-by: pljones <1549463+pljones@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add feature to update release announcement on merge
Add automated Release Announcement maintained by GitHub Copilot
Mar 15, 2026
…ase lifecycle - Rewrite ReleaseAnnouncement.md to match the flat bullet-point, contributor-credited style of real Jamulus Discussion announcements (beta5 example); add Windows REMINDER and reference to tools/get_release_contributors.py - Add .github/release-announcement-template.md as the pristine template for resets - Add .github/prompts/release-announcement.prompt.yml with real Jamulus examples and rules; maintainable without touching workflow YAML - Rewrite update-release-announcement.yml: use prompt-file + file_input (safe for any PR body content), response-file output, push:tags trigger, reset-after-release job that resets the draft after every full (non-prerelease) release tag - Update autobuild.yml paths-ignore for all new documentation files Co-authored-by: pljones <1549463+pljones@users.noreply.github.com>
Copilot
AI
changed the title
Add automated Release Announcement maintained by GitHub Copilot
Add automated working Release Announcement maintained by GitHub Copilot
Mar 15, 2026
…nnouncement link - Fix critical truncation bug: add modelParameters (maxCompletionTokens: 16384, temperature: 0.1) to release-announcement.prompt.yml — actions/ai-inference defaults max-tokens to only 200, which would cut off the document mid-write - Add non-empty guard in workflow before overwriting ReleaseAnnouncement.md with the AI response, preventing accidental wipe on empty/missing model output - Use intermediate variables for BASH_REMATCH capture groups in reset-after-release job for clarity - CONTRIBUTING.md: mention that the CHANGELOG: line also feeds ReleaseAnnouncement.md and that CHANGELOG: SKIP skips both - pull_request_template.md: extend CHANGELOG comment to reference Release Announcement Co-authored-by: pljones <1549463+pljones@users.noreply.github.com>
Copilot
AI
changed the title
Add automated working Release Announcement maintained by GitHub Copilot
Add working Release Announcement draft, auto-updated by GitHub Copilot on each PR merge
Mar 15, 2026
Add a new update-announcement-on-autobuild job to update-release-announcement.yml that runs whenever a developer pushes to an autobuild** branch. The job checks out the pushed branch, reads the HEAD commit's message (honouring CHANGELOG: SKIP), writes commit metadata to a temp file via env vars (safe from YAML injection), calls actions/ai-inference@v1 with the same prompt used for PR merges, then commits the updated ReleaseAnnouncement.md back to the branch. Loop prevention: the job-level if skips when github.actor == 'github-actions[bot]'. autobuild.yml already has ReleaseAnnouncement.md in paths-ignore, so the bot commit never re-triggers a build run. Co-authored-by: pljones <1549463+pljones@users.noreply.github.com>
Copilot
AI
changed the title
Add working Release Announcement draft, auto-updated by GitHub Copilot on each PR merge
feat: automated Release Announcement draft maintained by GitHub Copilot
Mar 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
ReleaseAnnouncement.md— a working draft of the end-user release announcement (separate fromChangeLog) that GitHub Copilot keeps up to date automatically, matching the conversational bullet-point style used in real Jamulus Discussion posts.New files
ReleaseAnnouncement.md— live draft; flat bullet list; includes Windows virus-checker REMINDER and pointer totools/get_release_contributors.py.github/release-announcement-template.md— pristine blank template; copied over the draft after each full release.github/prompts/release-announcement.prompt.yml— AI prompt with verbatim real Jamulus announcement examples;modelParameters.maxCompletionTokens: 16384/temperature: 0.1(action default of 200 tokens would truncate mid-document)Workflow:
.github/workflows/update-release-announcement.ymlpull_request_target: closed → main— updates draft on every merged PR; workflow + prompt always sourced frommain; PR body written to$RUNNER_TEMPviaenv:before passing asfile_input(prevents YAML injection);CHANGELOG: SKIPin PR body skips updatepush: branches: autobuild**— updates draft on the autobuild branch itself so developers can preview how their change would read in the announcement before merging; loop prevention viagithub.actor != 'github-actions[bot]';autobuild.ymlalready hasReleaseAnnouncement.mdinpaths-ignorepush: tags: r*+reset-after-releasejob — resets to template only on clean version tags (r3_12_0); pre-release tags (r3_12_0beta1,r3_12_0rc1) intentionally leave the draft intact so it accumulates through the beta/RC cycleautobuild.yml—ReleaseAnnouncement.md,.github/release-announcement-template.md,.github/prompts/**added topaths-ignoreso bot commits don't trigger builds.CONTRIBUTING.md/.github/pull_request_template.md— note thatCHANGELOG:feeds bothChangeLogandReleaseAnnouncement.md;CHANGELOG: SKIPskips both.CHANGELOG: SKIP
Context: Fixes an issue?
Implements the approach discussed in #3443 (comment) and https://github.com/orgs/jamulussoftware/discussions/3626.
Does this change need documentation? What needs to be documented and how?
The release process checklist at https://jamulus.io/contribute/Release-Process could reference
ReleaseAnnouncement.mdas the draft to polish and publish, replacing the manual "Draft an announcement" step at the RC stage.Status of this Pull Request
Working implementation. Requires GitHub Models (
models: readpermission) to be enabled on the repository foractions/ai-inference@v1.What is missing until this pull request can be merged?
Confirm GitHub Models access is available for this repo.
Checklist
📱 Kick off Copilot coding agent tasks wherever you are with GitHub Mobile, available on iOS and Android.