Release guide
This is a guide for maintainers of this repository on how to release a new version of the Contest API and related specifications.
-
Create a new branch named
<yyyy>-<mm>, using the (approximate) current year and month to version this release. -
On this branch, replace the version
draftby<yyyy>-<mm>in all relevant places. This includes at least:- The default in the API information object and the example.
- The
API_VERSIONvariable in thecheck_api.shscript. - The constant in
json-schema/api_information.json. - The version mentioned in
README.md. See for example this commit.
-
Push this branch with these changes. To do so, either temporarily disable branch protection or create a PR targeting this new branch
<yyyy>-<mm>. -
On the
masterbranch, empty the "Changes compared to" section inREADME.mdand update the version to<yyyy>-<mm>. See for example this commit. -
Switch to the
gh-pagesbranch and updateREADME.mdandversions.json. See for example this commit. -
publish the changes to https://ccs-specs.icpc.io/ by running
export JEKYLL_GITHUB_TOKEN=github_pat_<long_private_token_string...> ./update-docs.shand then verify and push the commit the script made. See also
dev-notes.mdin this branch for a few more details.This currently takes a few hours, since the script pauses 30 minutes in between each version to not hit Github API rate limits.
TODO
- Replace the obsolete Jekyll setup with something more modern and easier to use.