This describes for the maintainers of RGBDS how to publish a new release on GitHub.
Update, commit, and push include/version.hpp with values for
PACKAGE_VERSION_MAJOR
,PACKAGE_VERSION_MINOR
,PACKAGE_VERSION_PATCH
, andPACKAGE_VERSION_RC
, as well as Dockerfile with a value forARG version
. Only definePACKAGE_VERSION_RC
if you are publishing a release candidate! You can usegit commit -m "Release <version>"
andgit push origin master
.Create a Git tag formatted as
v<MAJOR>.<MINOR>.<PATCH>
, orv<MAJOR>.<MINOR>.<PATCH>-rc<RC>
for a release candidate.MAJOR
,MINOR
,PATCH
, andRC
should match their values from include/version.hpp. You can usegit tag <tag>
.Push the tag to GitHub. You can use
git push origin <tag>
.GitHub Actions will run the create-release-artifacts.yaml workflow to detect the tag starting with "
v[0-9]
" and automatically do the following:Build 32-bit and 64-bit RGBDS binaries for Windows with
cmake
.Package the binaries into zip files.
Package the source code into a tar.gz file with
make dist
.Create a draft GitHub release for the tag, attaching the three packaged files. It will be a prerelease if the tag contains "
-rc
".If an error occurred in the above steps, delete the tag and restart the procedure. You can use
git push --delete origin <tag>
andgit tag --delete <tag>
.
GitHub Actions will run the create-release-docs.yml workflow to add the release documentation to rgbds-www.
For a release candidate, which creates a prerelease, you will have to take these steps yourself.
Clone rgbds-www. You can use
git clone https://github.com/gbdev/rgbds-www.git
.Make sure that you have installed
groff
andmandoc
. You will needmandoc
1.14.5 or later to support-O toc
.Run
.github/actions/get-pages.sh -r <path/to/rgbds-www> <tag>
. This will render the RGBDS documentation as HTML and PDF and copy it torgbds-www
.If you do not have
groff
installed, you can changegroff -Tpdf -mdoc -wall
tomandoc -Tpdf -I os=Linux
in .github/actions/get-pages.sh and it will suffice.Commit and push the documentation. You can use
git commit -m "Create RGBDS <tag> documentation"
andgit push origin master
(within thergbds-www
directory, not RGBDS).
Write a changelog in the GitHub draft release.
Click the "Publish release" button to publish it!
Update the release branch. You can use
git push origin release
.