From f3a3248295ebd72b217f0e2ab822cd7003b370a7 Mon Sep 17 00:00:00 2001 From: florianvazelle Date: Sat, 10 Feb 2024 16:11:44 +0100 Subject: [PATCH 1/2] 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 From e026f7c6512fe738581bd3536ea7f6bbaf040747 Mon Sep 17 00:00:00 2001 From: florianvazelle Date: Sat, 10 Feb 2024 16:12:24 +0100 Subject: [PATCH 2/2] chore: bump version to 1.5.0 for release --- .env | 2 +- CHANGELOG.md | 12 +++++++++++- export_presets.cfg | 8 ++++---- project.godot | 2 +- public/packaging/org.mechanicalflower.Marble.desktop | 2 +- public/packaging/snap/snapcraft.yaml | 6 +++--- 6 files changed, 21 insertions(+), 11 deletions(-) diff --git a/.env b/.env index 50018bc..8e541af 100644 --- a/.env +++ b/.env @@ -7,5 +7,5 @@ GODOT_VERSION=4.2.1-stable # Game GAME_NAME=Marble -GAME_VERSION=1.4.6 +GAME_VERSION=1.5.0 GAME_ITCHIO_KEY=marble diff --git a/CHANGELOG.md b/CHANGELOG.md index 58d6db9..235732b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,15 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ## [Unreleased] ### Added +### Changed +### Deprecated +### Removed +### Fixed +### Security +### Dependencies + +## [1.5.0] +### Added - Add speed boost areas in races ([#43](https://github.com/MechanicalFlower/Marble/pull/43)) ### Changed ### Deprecated @@ -76,7 +85,8 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) - Bump `ubuntu` from v20 to v22 ([#15](https://github.com/MechanicalFlower/Marble/pull/15)) - Bump `kobewi/godot-universal-fade` from ddab6c2 to f091514 ([#12](https://github.com/MechanicalFlower/Marble/pull/12)) -[Unreleased]: https://github.com/MechanicalFlower/Marble/compare/1.4.6...HEAD +[Unreleased]: https://github.com/MechanicalFlower/Marble/compare/1.5.0...HEAD +[1.5.0]: https://github.com/MechanicalFlower/Marble/compare/1.4.6...1.5.0 [1.4.6]: https://github.com/MechanicalFlower/Marble/compare/1.4.5...1.4.6 [1.4.5]: https://github.com/MechanicalFlower/Marble/compare/1.4.4...1.4.5 [1.4.4]: https://github.com/MechanicalFlower/Marble/compare/1.4.3...1.4.4 diff --git a/export_presets.cfg b/export_presets.cfg index 2a6bb0e..43459d3 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -35,8 +35,8 @@ application/modify_resources=true application/icon="" application/console_wrapper_icon="" application/icon_interpolation=4 -application/file_version="1.4.6.20240204" -application/product_version="1.4.6.20240204" +application/file_version="1.5.0.20240210" +application/product_version="1.5.0.20240210" application/company_name="Mechanical Flower" application/product_name="Marble" application/file_description="" @@ -130,8 +130,8 @@ application/icon_interpolation=4 application/bundle_identifier="io.itch.MechanicalFlower" application/signature="" application/app_category="Games" -application/short_version="1.4" -application/version="1.4.6" +application/short_version="1.5" +application/version="1.5.0" application/copyright="2023-present Mechanical Flower" application/copyright_localized={} application/min_macos_version="10.12" diff --git a/project.godot b/project.godot index 2c885d5..04ab39f 100644 --- a/project.godot +++ b/project.godot @@ -15,7 +15,7 @@ universal_fade/patterns_directory="res://addons/UniversalFade/Patterns" [application] config/name="Marble" -config/version="1.4.6" +config/version="1.5.0" run/main_scene="res://scenes/main.tscn" config/project_settings_override="override.cfg" config/features=PackedStringArray("4.2") diff --git a/public/packaging/org.mechanicalflower.Marble.desktop b/public/packaging/org.mechanicalflower.Marble.desktop index 3a37833..12a9f3c 100644 --- a/public/packaging/org.mechanicalflower.Marble.desktop +++ b/public/packaging/org.mechanicalflower.Marble.desktop @@ -1,6 +1,6 @@ [Desktop Entry] -Version=1.4.6 +Version=1.5.0 Type=Application Name=Marble diff --git a/public/packaging/snap/snapcraft.yaml b/public/packaging/snap/snapcraft.yaml index 941b893..cca2501 100644 --- a/public/packaging/snap/snapcraft.yaml +++ b/public/packaging/snap/snapcraft.yaml @@ -2,7 +2,7 @@ --- name: marble-race base: core20 -version: '1.4.6' +version: '1.5.0' summary: A marble race minigame description: | A marble race minigame, made with Godot Engine. @@ -25,7 +25,7 @@ apps: parts: marble-source: - source: https://github.com/MechanicalFlower/Marble/archive/refs/tags/1.4.6.tar.gz + source: https://github.com/MechanicalFlower/Marble/archive/refs/tags/1.5.0.tar.gz override-build: | snapcraftctl build @@ -40,7 +40,7 @@ parts: mkdir -p ${SNAPCRAFT_PRIME}/gui cp ${SNAPCRAFT_PART_SRC}/assets/icon.png ${SNAPCRAFT_PRIME}/gui/icon.png marble-dist: - source: https://github.com/MechanicalFlower/Marble/releases/download/1.4.6/Marble-linux-v1.4.6.zip + source: https://github.com/MechanicalFlower/Marble/releases/download/1.5.0/Marble-linux-v1.5.0.zip override-build: | snapcraftctl build