This document outlines the release policy for games within our organization.
We adhere to Semantic Versioning for our releases, following the MAJOR.MINOR.PATCH format.
Our projects maintain the following active branches:
- main: This branch represents the next release and is where all merges take place.
We use Github Actions to automate the release process. When a new version is released, the CI pipeline automatically triggers a publication on the GitHub and itch.io platforms.
- Update the version in the code base
- Update the
.envfile- Change the
GAME_VERSIONvariable to the new version - Run the
bump-versionrecipe
- Change the
- Update the
CHANGELOG.mdfile- Replace the
Unreleasedtitle with the new version - Add a link for the new version at the bottom of the changelog
- Create a new
Unreleasedsection
- Replace the
- Update the
- Merge the change into the
mainbranch- Create a branch
release-<version>from themainbranch - Commit the changes with
"chore: bump version to <version> for release"as message - Push the branch to the remote repository
- Create a pull request targeting the
mainbranch - Review the changes in the pull request and ensure they meet the release criteria
- Merge the pull request into the
mainbranch
- Create a branch
- Tag the
mainbranch- Tag the
mainbranch with the release version - Push the tags to the remote repository
- Tag the