Skip to content

Commit 8a24b15

Browse files
committed
docs: describe release version strategy and how to copy docker image to heigit repo
1 parent b418014 commit 8a24b15

File tree

1 file changed

+51
-42
lines changed

1 file changed

+51
-42
lines changed

Diff for: RELEASE.md

+51-42
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,59 @@
11
1. Check that
2-
- all relevant PRs are merged
3-
- documentation is up-to-date
4-
- CHANGELOG is up-to-date
5-
- if major version release: release notes for announcement/blog is ready
6-
2. Create a Release branch named releases/vX.X.X and
2+
- all relevant PRs are merged
3+
- documentation is up-to-date
4+
- CHANGELOG is up-to-date
5+
- if major version release: release notes for announcement/blog is ready
6+
2. Select the new release number: We use a number consisting of the parts `<major>.<minor>.<patch>`, in the following abbreviated as `X.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.
7+
3. Create a Release branch named `releases/vX.Y.Z` and
78
a. Update CHANGELOG.md as follows:
8-
1. Change unreleased to new release number
9-
2. Add today's Date
10-
3. Change unreleased link to compare new release:
11-
[unreleased]: https://github.com/GIScience/openrouteservice/compare/vnew...HEAD
12-
4. Add new compare link below
13-
[new]: https://github.com/GIScience/openrouteservice/compare/vlast...vnew
14-
5. Double check issue links are valid
15-
6. Add [unreleased] section with all subsections as above
16-
b. Update version numbers in POM using
17-
mvn versions:set -DnewVersion=X.X.X
18-
or setting it manually in the main and all child POMs
19-
c. Commit changes as chore or build, and push
20-
d. Open and merge PR as
21-
chore: release vX.X.X
22-
3. Draft a new release on Github
23-
Generate release notes automagically and curate by hand
24-
This also creates the new vX.X.X tag.
25-
4. Check that the following assests exists, after the workflows have finished:
26-
- docker-compose.yml (using the new version)
27-
- ors-config.env
28-
- ors-config.yml
29-
- ors.jar
30-
- ors.war
31-
- Source code (zip)
32-
- Source code (tar.gz)
9+
1. Change unreleased to new release number
10+
2. Add today's Date
11+
3. Change unreleased link to compare new release:
12+
[unreleased]: https://github.com/GIScience/openrouteservice/compare/vnew...HEAD
13+
4. Add new compare link below
14+
[new]: https://github.com/GIScience/openrouteservice/compare/vlast...vnew
15+
5. Double check issue links are valid
16+
6. Add [unreleased] section with all subsections as above
17+
b. Update version numbers in POM using
18+
`mvn versions:set -DnewVersion=X.Y.Z`
19+
or setting it manually in the main and all child POMs
20+
c. Commit changes as chore or build, and push
21+
d. Open and merge PR as
22+
`chore: release vX.Y.Z`
23+
3. After the branch `release/vX.Y.Z` is merged to main, draft a new release on Github.
24+
Generate release notes automagically and curate by hand.
25+
This also creates the new `vX.Y.Z` tag.
26+
4. Check that the following assets exists, after the workflows have finished:
27+
- docker-compose.yml (using the new version)
28+
- ors-config.env
29+
- ors-config.yml
30+
- ors.jar
31+
- ors.war
32+
- Source code (zip)
33+
- Source code (tar.gz)
3334
5. Check that docker images were created correctly:
34-
- vX.X.X should now exist
35-
- latest should point to the new image
36-
- v<major> should point to the new image
37-
6. Change latest and v<major> tags:
35+
- `vX.Y.Z` should now exist
36+
- `latest` should point to the new image
37+
- `vX` should point to the new image
38+
- This is currently set up for openrouteservice/openrouteservice. To copy the docker images also to heigit/openrouteservice, do the following:
39+
```shell
40+
docker pull openrouteservice/openrouteservice:vX.Y.Z
41+
docker tag openrouteservice/openrouteservice:vX.Y.Z heigit/openrouteservice:vX.Y.Z
42+
docker push heigit/openrouteservice:vX.Y.Z
43+
docker tag heigit/openrouteservice:vX.Y.Z heigit/openrouteservice:latest
44+
docker push heigit/openrouteservice:latest
45+
```
46+
6. Change latest and vX tags:
3847
a. Delete tags on github
3948
b. Delete tags locally:
40-
- git tag -d latest
41-
- git tag -d v<major>
42-
c. Re-create tags locally on the new main HEAD
43-
- git tag latest
44-
- git tag v<major>
45-
d. Push new tags
46-
- git push origin tag latest
47-
- git push origin tag v<major>
49+
- git tag -d latest
50+
- git tag -d vX
51+
c. Re-create tags locally on the new main HEAD
52+
- git tag latest
53+
- git tag vX
54+
d. Push new tags
55+
- git push origin tag latest
56+
- git push origin tag vX
4857
7. Update version in POMs to X.Y.Z-SNAPSHOT using
4958
mvn versions:set -DnewVersion=X.Y.Z-SNAPSHOT
5059
8. Check whether outreach, announcement, … is necessary and do so.

0 commit comments

Comments
 (0)