3.3 KiB
Releasing
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_RCif 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, andRCshould 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.
This is not done automatically for prereleases; if you want to do this manually,
-
Clone rgbds-www. You can use
git clone https://github.com/gbdev/rgbds-www.git. -
Make sure that you have installed
groffandmandoc. You will needmandoc1.14.5 or later to support-O toc. -
Inside of the
mandirectory, run<path/to/rgbds-www>/maintainer/man_to_html.sh <tag> *then<path/to/rgbds-www>/maintainer/new_release.sh <tag>. This will render the RGBDS documentation as HTML and PDF and copy it torgbds-www.If you do not have
groffinstalled, you can changegroff -Tpdf -mdoc -walltomandoc -Tpdf -I os=Linuxin .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-wwwdirectory, not RGBDS).
-
-
Write a changelog in the GitHub draft release.
-
Click the "Publish release" button to publish it!
-
Update the
releasebranch. You can usegit push origin release.