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
.env
file- Change the
GAME_VERSION
variable to the new version - Run the
bump-version
recipe
- Change the
- Update the
CHANGELOG.md
file- Replace the
Unreleased
title with the new version - Add a link for the new version at the bottom of the changelog
- Create a new
Unreleased
section
- Replace the
- Update the
- Merge the change into the
main
branch- Create a branch
release-<version>
from themain
branch - 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
main
branch - Review the changes in the pull request and ensure they meet the release criteria
- Merge the pull request into the
main
branch
- Create a branch
- Tag the
main
branch- Tag the
main
branch with the release version - Push the tags to the remote repository
- Tag the