From f3a3248295ebd72b217f0e2ab822cd7003b370a7 Mon Sep 17 00:00:00 2001 From: florianvazelle Date: Sat, 10 Feb 2024 16:11:44 +0100 Subject: [PATCH] chore: add a release guide --- .pre-commit-config.yaml | 3 ++- README.md | 4 ++++ RELEASING.md | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 RELEASING.md diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c05084e..7c07ce9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -49,7 +49,8 @@ repos: LICENSE.md| LICENSES/| public/| - README.md + README.md| + RELEASING.md ) - id: format-shaders name: format shaders diff --git a/README.md b/README.md index 9a68a89..8f1ea74 100644 --- a/README.md +++ b/README.md @@ -51,3 +51,7 @@ The race is infinite, and the game ends when only one marble remains. We welcome community contributions to this project. Please read our [Contributor Guide](CONTRIBUTING.md) for more information on how to get started. + +## Releasing + +Please read our [Release Guide](RELEASING.md) for more information on how we manage our releases. diff --git a/RELEASING.md b/RELEASING.md new file mode 100644 index 0000000..b65e058 --- /dev/null +++ b/RELEASING.md @@ -0,0 +1,37 @@ +# Releasing + +This document outlines the release policy for games within our organization. + +## Versioning + +We adhere to [Semantic Versioning](https://semver.org/) for our releases, following the `MAJOR.MINOR.PATCH` format. + +## Branching + +Our projects maintain the following active branches: +* **main**: This branch represents the next release and is where all merges take place. + +## Continuous Delivery + +We use [Github Actions](https://docs.github.com/en/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. + +## Steps to release + +1. Update the version in the code base + - Update the `.env` file + 1. Change the `GAME_VERSION` variable to the new version + 2. Run the `bump-version` recipe + - Update the `CHANGELOG.md` file + 1. Replace the `Unreleased` title with the new version + 2. Add a link for the new version at the bottom of the changelog + 3. Create a new `Unreleased` section +2. Merge the change into the `main` branch + 1. Create a branch `release-` from the `main` branch + 2. Commit the changes with `"chore: bump version to for release"` as message + 3. Push the branch to the remote repository + 4. Create a pull request targeting the `main` branch + 5. Review the changes in the pull request and ensure they meet the release criteria + 6. Merge the pull request into the `main` branch +3. Tag the `main` branch + 1. Tag the `main` branch with the release version + 2. Push the tags to the remote repository