Repository navigation
ci: announce each release in slack - #679
Merged
Merged
Conversation
…reen Adds a Release Announce workflow that runs after the tag's Split Packages run, verifies the GitHub Release, the split and Packagist, has Claude write a plain-language summary of the changelog, and posts it with the changelog to #releases (@channel) and #general. Any failed check fails the run without posting, and re-runs skip channels that already have the post. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017KaHtZbFKQDddzKrJV6VTk
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.
Summary
Posts every release to Slack once it is really out, with no manual step.
.github/workflows/release-announce.ymlruns after eachSplit Packagesrun on a tag (and on demand viaworkflow_dispatch)..github/scripts/release-announce.pythen:X.Y.Ztag with a published GitHub Release.Split Packagesrun to have succeeded.marko/coreserves the version (30 minutes max).CHANGELOG.mdat the tag.claude-opus-5-5, server-side refusal fallback on) write a one-paragraph plain-language summary from the changelog and PR descriptions, validated for length and no markdown; retried, never posted half-done.#releaseswith@channeland to#generalwithout it: headline, summary, then the changelog in a code block with explicit links.Any failed check fails the run and posts nothing. Before posting, each channel's recent history is checked for this bot's post for the version, so re-runs never double-post.
Manual runs default to
target: generalandpreview: true(print the payloads only).Needs repo secrets
SLACK_BOT_TOKEN,ANTHROPIC_API_KEYand variablesSLACK_RELEASES_CHANNEL,SLACK_GENERAL_CHANNEL(all set).🤖 Generated with Claude Code
https://claude.ai/code/session_017KaHtZbFKQDddzKrJV6VTk