Releasing deegree - deegree/deegree3 GitHub Wiki
Checklist
Tasks do be done when publishing a release version of deegree:
- create new milestone on github https://github.com/deegree/deegree3/milestones/
- tag and label all merged PR for this milestone, use a query like is:pr is:merged merged:>=2022-03-02. Follow also Update GitHub pull requests
- run build job without perform release enabled
- Continue when no error occurred!
- run build job with maven release perform enabled
- verify that relevant artifacts have been uploaded to nexus: https://repo.deegree.org/repository/public/org/deegree/deegree-webservices/
- update Dockerfile to new version: https://github.com/deegree/deegree3-docker/blob/main/3.5/Dockerfile
- verify build and push docker image to docker hub: https://github.com/deegree/deegree3-docker/actions/workflows/docker-image.yaml
- test docker image as described in https://github.com/deegree/deegree3-docker/blob/main/README.md
- Continue when no fatal or unknown error occurred!
- publish documentation as described here
- create release from tag and upload WAR and PDF artifacts to https://github.com/deegree/deegree3/releases
- publish tag and use "auto-generate release notes"
- close milestone and add link to release tag
- update and publish website as described here
- update end-of-life matrix: https://github.com/deegree/deegree3/wiki/End-of-Life-and-Support-Matrix
- send email out to mailing lists as described here
- Send a tweet for #deegree_org at twitter: https://twitter.com/deegree_org
Update GitHub pull requests
Tag every merged pull request with "bug", "enhancement" or "feature". Remove other tags such as "in progress" or "under review" and assign it to the target milestone. For PR which have been rejected by TMC add flag "invalid", "duplicate" or "wontfix" remove any milestone set. Comment on rejected pull request as described in pull request response templates.
Run Jenkins jobs
NOTE: You need to be logged in to Jenkins, otherwise the relevant actions are not available.
In order to avoid the need for manual rollbacks, always run the jobs as normal (non-release) jobs first and only to go on if these builds succeed:
- 3.4: Link -> "Build with parameters" without release perform
- 3.5: Link -> "Build with parameters" without release perform
If build worked fine, perform the actual release:
- 3.4: Link -> "Build with parameters" and release perform enabled
- 3.5 Link -> "Build with parameters" and release perform enabled
Cleaning up in case the release perform failed
Attention: If a release build fails, clean up Jenkins before continuing:
- Log in to central.deegree.org via SSH. Become hudson:
sudo su - hudson
- Change to checkout directory:
cd /home/hudson/hudson-builds/{Jenkins Job}/workspace
- Check status:
git status
- Remove untracked files:
git clean -fd
- Revert changes:
git reset --hard master
(if commits have been made by release plugin, reset to specific commit) - Remove tag if necessary:
git tag -d {Release tag}
- Remove remote tag if necessary:
git push origin/master :refs/tags/{Release tag}
Publish the handbook
Run build job: https://buildserver.deegree.org/view/misc/job/internal/job/publish-documentation
with parameter RELEASE_VERSION=3.5.X
WORKAROUND: Login to central.deegree.org (ssh), then:
cd /var/www/download.deegree.org/documentation/
rm current
ln -s ./3.5.X ./current
NOTE: You need to exchange 3.5.X with the correct version.
Update homepage
- Clone the website https://github.com/deegree/deegree.github.io.git
- Update the main page:
pages/pages-root-folder/index.md
-> https://www.deegree.org/ - Update Download page:
pages/download.md
-> https://www.deegree.org/download - Update Documentation page:
pages/documentation.md
-> https://www.deegree.org/documentation
Send release announcement
NOTE: adapt versions and links!
Subject: deegree webservices 3.X.Y available
Body:
Dear deegree users,
we're happy to be able to announce new official deegree-webservices releases:
* New point release: 3.X.Y *
- Download: http://www.deegree.org/Download
- Documentation: http://www.deegree.org/Documentation
- Changelog: https://github.com/deegree/deegree3/issues?milestone=X&state=closed
Enjoy!