2.8 KiB
Push changelogs
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.
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.
Before every push to origin/main, fetch the latest published Workshop version
before preparing the commit. The user should not need to supply a version number.
On this workstation use the live in-game catalogue (the website can be cached):
python3 tools/workshop_changelog.py --sync --native-compat .local/rhs-19-work/compat
This runs a bounded, silent query in a disposable game profile and updates only
the changelog version preamble. It does not download or publish an addon. Never
terminate an existing editor to acquire the private prefix. On other machines,
--sync without --native-compat checks the official Workshop page, verifies the
addon identity and published/approved version, and rejects a downgrade. If a
lookup fails or returns stale data, resolve it through a fresh Workshop query;
do not guess, use a local bundle as publication proof, or ask the user to enter
the version manually. Include the synchronized preamble in the requested push.
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.
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.
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.