2.2 KiB
Push changelogs
The user authorized Discord changelogs after new changes are successfully pushed.
Maintain a concise, player-facing newest entry in CHANGELOG.md for each update.
The .drone.yml pipeline can deliver it automatically for pushes to main from
any checkout. See docs/discord-changelog-ci.md for activation and secret setup.
On 2026-10-17 the user confirmed Drone is prepared with discord_webhook_url
and requested a test push. Drone now owns delivery; do not run the manual helper
for that push or subsequent pushes unless the user explicitly requests a fallback.
Once Drone activation and its discord_webhook_url secret are confirmed, let
Drone deliver the changelog and do not also run the manual helper. Check its
delivery result when available; do not claim delivery from Git push success alone.
Until Drone activation is confirmed, after each successful push to origin/main
from this checkout:
- Prepare a concise, player-facing changelog covering the commits in that push. Include only the changelog: describe fixes/features accurately, without server, deployment, or Git push status. Do not add operational disclaimers or footers. Phrase gameplay fixes without mentioning the server (for example, "Fixed radio station generation after an empty-session wait").
- Save the message to a temporary file and run
python3 tools/discord_changelog.py --commit <pushed-sha> --message-file <path>. - Report a delivery failure honestly. Do not blindly retry a pending delivery; check Discord first to avoid duplicates.
The webhook credential is in .local/discord-webhook.url (ignored, owner-only).
Never print it, commit it, or put it into changelogs or command-line arguments.
The helper verifies the remote commit, disables mentions, and records delivery in
.local/discord-changelog-state.json. Do not backfill old commits unless requested.
The manual helper is a fallback assistant workflow, not a Git hook. The Drone pipeline replaces it after activation; do not configure a second Discord push webhook alongside it. Inspect Discord before retrying an uncertain CI delivery or rebuilding the same push, since builds do not share delivery state.