Record Workshop versions in Drone changelogs and retire local sending

This commit is contained in:
2026-10-17 17:42:39 +02:00
parent 8f2e1f210d
commit 38fd8f7dd2
10 changed files with 222 additions and 96 deletions
+26 -31
View File
@@ -1,37 +1,32 @@
# 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.
Drone is the sole Discord changelog sender. Its first delivery was verified in
build #1 on 2026-10-17, and the user confirmed receipt and disabled local sending.
Do not run a local/manual Discord sender after pushes or as an automatic fallback.
`tools/discord_changelog.py` is disabled and cannot send messages.
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.
For player-facing changes, maintain the newest entry in `CHANGELOG.md` before
pushing to `origin/main`. Keep it concise and describe only fixes/features, without
server, deployment, Git push status, operational disclaimers or footers. Do not
backfill old changes unless requested. Internal workflow-only changes need no
announcement.
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.
After a confirmed successful Workbench Workshop upload, run
`python3 tools/workshop_changelog.py --published` before committing the changelog.
This reads the local publishing manifest and records the version in the changelog
preamble. Compilation/bundling alone is not confirmation of publication; check
the successful upload result first. With no flag the helper only displays the
bundled version. Drone includes the recorded version with new changelog entries;
a version-only edit does not announce an old entry again.
Until Drone activation is confirmed, after each successful push to `origin/main`
from this checkout:
The `.drone.yml` pipeline posts the latest changed entry using Drone's
`discord_webhook_url` repository secret. See `docs/discord-changelog-ci.md`.
Check the Drone result and notification log when available; a successful Git push
alone does not prove delivery. Report delivery failures honestly. Inspect Discord
before rerunning an uncertain delivery or rebuilding the same push, since builds
do not share delivery state and retries can produce duplicates.
1. 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").
2. Save the message to a temporary file and run
`python3 tools/discord_changelog.py --commit <pushed-sha> --message-file <path>`.
3. 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.
The saved local webhook in `.local/discord-webhook.url` is no longer used for
post-push notifications. Never print it, commit it, or put it into changelogs or
command-line arguments. Do not configure an additional Discord push webhook
alongside Drone.