Skip to content

ci: announce published releases on Discord - #49

Merged
TechDufus merged 2 commits into
mainfrom
ci/release-announce
Nov 11, 2026
Merged

TechDufus merged 2 commits into
mainfrom
ci/release-announce

Conversation

@TechDufus

@TechDufus TechDufus commented Nov 11, 2026 •

Copy link
Copy Markdown
Owner

What and why

Publishing a GitHub release now posts it, with its notes, to Discord.

  • New workflow release-announce: on release: published it calls the shared workflow TechDufus/.github/.github/workflows/release-announce.yml, pinned to commit f7202aa. A manual run (workflow_dispatch with a tag) announces an existing release again.
  • The webhook URL is the repository secret DISCORD_RELEASES_WEBHOOK (already set), passed by name; no secrets: inherit.
  • The repository webhook that sent release events to Discord through its GitHub formatter showed the linked title only, without the notes. It is removed once this is merged and tested, so a release is not posted twice.
  • docs/development.md: step 5 of the release procedure.

How it was tested

  • actionlint and zizmor --config .github/zizmor.yml .github (1.32.0): no findings; no forbidden trigger.
  • The shared workflow: its step was run locally against the v0.16.1 release with curl stubbed (title dash v0.16.1: usage figures stay in their cards, 758 characters of notes), plus cases for long notes, CRLF, no notes and a pre-release.
  • After the merge: a manual run for v0.16.1.

Checklist

  • make check passes. (left to CI: only a workflow and a doc changed)
  • Generated files are regenerated with make generate and committed. (none affected)
  • Commits follow conventional commits and are signed.
  • Tests cover the change; no assertion was weakened. (no code changed)
  • Docs are updated where behaviour, settings or the API changed.
  • No lab identifiers: fixtures and docs use example.com, the documentation IP ranges and neutral names.
  • A new plugin has a demo twin. (no plugin)

Hygiene allowlist

TestNoLabIdentifiers failed on the first push: a reusable workflow is named by its owner and repository, so the uses: line carries the owner's name. The second commit adds one allowlist entry for that form in .github/workflows/release-announce.yml, only when the reference is pinned to a 40-character commit (the scan test proves a branch reference in the same file still hits), and rewords the workflow comment and the docs so they no longer name the owner. No other assertion changed.

A release-announce workflow calls the shared workflow of
TechDufus/.github (pinned to a commit) when a GitHub release is
published, and posts the release with its notes through the webhook
in the repository secret DISCORD_RELEASES_WEBHOOK. A manual run with
a tag announces an existing release again.

Discord's own GitHub formatter links the title and leaves the notes
out; this replaces the repository webhook that used it.
A reusable workflow is named by its owner and repository, so the
caller's uses line has to carry the owner's name. The allowlist
excuses that one form in release-announce.yml, and only when it is
pinned to a commit; the comment and the release docs no longer name
the owner.
@TechDufus
TechDufus merged commit 261cd00 into main Nov 11, 2026
7 checks passed
@TechDufus
TechDufus deleted the ci/release-announce branch November 11, 2026 14:52
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.

1 participant