8aacb48798
release.yml now releases the game by itself: after every green checks run of a push to main, every hour (a release the cooldown held goes out without another merge) and by hand. tools/release_train.py decides from the pull requests merged since the last published game release: a release when one changed what players run and the last release is 3 hours old, at once for a pull request labelled release-now; skip-release pull requests don't count. RELEASES_PAUSED=1 stops it. Tags vYYYY.MM.DD, then .1, .2 the same UTC day. Linux (ubuntu-22.04) and Windows build on GitHub with Cargo caches, macOS on the Mac mini's runner (MAC_RUNNER=macos-latest sends it to GitHub). Each builds horizon-client, horizon-ctl and horizon-prepare (all three named: --bin selects only the named binaries), checks all three exist, checks their libraries, starts each one, packages with xtask and archives; the Mac also runs the game offscreen for 300 frames on a new world with resources prepared from its own Minecraft. The notes: New (label feature), Fixed (the rest), Known issues (docs/known-issues.md). A hand-started run off main, or with dry_run, builds everything and writes the notes but publishes nothing. docs/release-flow.md describes the flow, the labels, pausing and rolling back; the launcher gets a test that a release turned back into a draft is never offered. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
338 B
338 B
Known issues
Every game release lists the bullets below under "Known issues" (tools/release_train.py). Keep them short and written for players; remove a bullet in the pull request that fixes it.
- Sprint-jumping has been reported as broken, but we couldn't reproduce it. If it happens to you, describe it in #horizon-bugs on Discord.