Create GAM-Release-Process.md
Some checks failed
Push wiki / pushwiki (push) Has been cancelled

This commit is contained in:
Jay Lee
2025-09-17 16:50:35 -04:00
committed by GitHub
parent 8c12e33321
commit c0dc8ae790

View File

@@ -0,0 +1,19 @@
# Steps to release a new GAM version
1. In a final commit before release:
- [src/gam/__init.py](https://github.com/GAM-team/GAM/blob/main/src/gam/__init__.py) `__version___` value should be updated to the new version.
- [src/GamUpdate.txt](https://github.com/GAM-team/GAM/blob/main/src/GamUpdate.txt) should be updated with a high-level changelog.
- [wiki/GamUpdates.md](https://github.com/GAM-team/GAM/blob/main/wiki/GamUpdates.md) should be updated with same high-level changelog.
2. The [build.yaml](https://github.com/GAM-team/GAM/blob/main/.github/workflows/build.yml) Github Action for final commit should complete successfully and creating a new dated Draft release.
- We should *NEVER* upload release files manually. Only release files automatically created and [attested](https://github.com/GAM-team/GAM/wiki/Verifying-a-GAM7-Build-is-Legitimate-and-Official#github-attestation-linuxmacoswindows) as created by the Github Action should be used.
3. Edit the Draft release:
- Create a new tag with the format: `vN.NN.NN` where N.NN.NN is the GAM release version.
- name the release "GAM N.NN.NN" where N.NN.NN is the GAM release version.
- Include the changelog details for the new version in details.
- leave "Set as pre-release" unchecked and "Set as the latest release" checked.
- Publish the release.
# TODO: Release Process Improvements
- copying changelog between GamUpdate.txt, GamUpdates.md and release description is manual and tedious. Automate it.
- copying version string from gam/__init__.py, changelogs and release details and tag in manual and tedious. Automate it.
- See if we can block releases with binaries not uploaded by GitHub Actions to further secure release pipelines.