- git checkout staging
- Check all PRs in github
- merge development branches into staging, commit changes
- git stash local changes if any
- update version in package.json and Makefile and docs/conf.py
- update VERSION, OLD_VERSION, PRE_RELEASE in Makefile
- update version of thiss-ds in package.json dependencies (if needed)
- add entry in docs/releasenotes.rst
- npm install
- make build
- git add Makefile and package-lock.json and package.json and docs and dist (in
dist-pre/v${API_VERSION}/${VERSION}) - if
$PREV_VERSIONdid not reach production, git rm -r dist-pre/${PREV_VERSION} - git tag, push, push tags
- make release in github
- readthedocs
- make clean
- git fetch
- git checkout $VERSION
- make docker (providing all the needed env vars, see
Configurationin the docs).
First we pre-release a version that adds the new version assets, along with the old assets, and keeps the old entry points, and deploy this.
To make such a pre-release version, we set the PRE_RELEASE variable in the Makefile to 'true', and the OLD_VERSION to the version currently in production.
Then we release a version with the same assets as the pre-release, but with the new entry points.
For this, we create a new version in which the only change is setting the PRE_RELEASE variable in the Makefile to 'false'.