- MIT LICENSE - CHANGELOG.md (CalVer, first entry 2026.04.15) - CODE_OF_CONDUCT, CONTRIBUTING, SECURITY, SUPPORT policies - docs/release.md covering preflight, tagging, rollback - GitHub Actions CI running shell syntax, shellcheck, desktop-file-validate, script tests, and nix flake check - tests/ harness with activate-path and preflight checks; preflight test stubs `id` via PATH so it cannot launch real Steam on a developer machine where /opt/steam already exists
1.1 KiB
1.1 KiB
Release Guide
This guide defines the repeatable release procedure for GitHub product releases.
Preflight
Run all checks locally from the repository root:
shellcheck scripts/*.sh tests/*.sh
bash -n scripts/*.sh tests/*.sh
desktop-file-validate desktop/steam.desktop
tests/run.sh
XDG_CACHE_HOME=/tmp nix flake check --no-build --no-write-lock-file
Versioning
Use CalVer tags: YYYY.MM.DD.
If multiple releases happen on the same day, append .1, .2, and so on.
Release Steps
- Update
CHANGELOG.mdwith the exact release version and notes. - Push all release files to
main. - Create an annotated tag.
- Push the tag.
- Create a GitHub Release from that tag and copy release notes from
CHANGELOG.md.
Example:
git tag -a 2026.04.15 -m "release 2026.04.15"
git push origin 2026.04.15
Rollback
- Revert the problematic commit range on
main. - Cut a new patch release tag for the rollback build (for example
2026.04.15.1). - If a system needs cleanup after failed deployment, run:
nix run .#uninstall
Then re-activate with the corrected release once available.