- Check that
- all relevant PRs are merged
- documentation is up-to-date
- CHANGELOG is up-to-date
- if major version release: release notes for announcement/blog is ready
- Select the new release number: We use a number consisting of the parts
<major>.<minor>.<patch>
, in the following abbreviated asX.Y.Z
. We change the patch version, if the release only contains bugfixes. Releases with additions like new features or not mandatory additional API request parameters etc. are minor releases. If there are breaking changes with require changes e.g. in existing configuration files or API requests, the major version is incremented. - Create a Release branch named
releases/vX.Y.Z
and a. Updateversion
property in package.json to new release number b. Update CHANGELOG.md as follows:- Change unreleased to new release number
- Add today's Date
- Change unreleased link to compare new release: [unreleased]: https://github.com/GIScience/openrouteservice/compare/vnew...HEAD
- Add new compare link below [new]: https://github.com/GIScience/openrouteservice/compare/vlast...vnew
- Double check issue links are valid
- Add [unreleased] section with all subsections as above
b. Update version numbers in POM using
mvn versions:set -DnewVersion=X.Y.Z
or setting it manually in the main and all child POMs c. Commit changes as chore or build, and push d. Open and merge PR aschore: release vX.Y.Z
- After the branch
release/vX.Y.Z
is merged to main, draft a new release on Github. Generate release notes automagically and curate by hand. This also creates the newvX.Y.Z
tag. - Check that the following assets exists, after the workflows have finished:
- docker-compose.yml (using the new version)
- ors-config.env
- ors-config.yml
- ors.jar
- ors.war
- Source code (zip)
- Source code (tar.gz)
- Check that docker images were created correctly:
vX.Y.Z
should now existlatest
should point to the new imagevX
should point to the new image- This is currently set up for openrouteservice/openrouteservice. To copy the docker images also to heigit/openrouteservice, do the following:
docker pull openrouteservice/openrouteservice:vX.Y.Z docker tag openrouteservice/openrouteservice:vX.Y.Z heigit/openrouteservice:vX.Y.Z docker push heigit/openrouteservice:vX.Y.Z docker tag heigit/openrouteservice:vX.Y.Z heigit/openrouteservice:latest docker push heigit/openrouteservice:latest
- Change latest and vX tags:
a. Delete tags on github
b. Delete tags locally:
- git tag -d latest
- git tag -d vX c. Re-create tags locally on the new main HEAD
- git tag latest
- git tag vX d. Push new tags
- git push origin tag latest
- git push origin tag vX
- Update version in POMs to X.Y.Z-SNAPSHOT using mvn versions:set -DnewVersion=X.Y.Z-SNAPSHOT
- Check whether outreach, announcement, … is necessary and do so.