Context
The goal of this task is to automate releasing Knot.x so that most of the steps are done by tools and releasing Knot.x is time efficient (e.g. one-click release).
Describe the solution you'd like
Currently, we have release scripts, that are able to release new version of Knot.x, push it to the OSSH Staging repo and update corresponding repositories with new tag and development version.
We need a fully automated build that will be able to prepare release and publish, prepare summary in a form of release notes and finally prepare repositories to the next development version.
Context The goal of this task is to automate releasing Knot.x so that most of the steps are done by tools and releasing Knot.x is time efficient (e.g. one-click release).
Describe the solution you'd like Currently, we have release scripts, that are able to release new version of Knot.x, push it to the OSSH Staging repo and update corresponding repositories with new tag and development version.
We need a fully automated build that will be able to prepare release and publish, prepare summary in a form of release notes and finally prepare repositories to the next development version.
Automated release process sequence
git
] clone repositories (preferably shallow copy)?
] set release versiongradle/maven/docker
] publish modulegithub
] update CHANGELOG.mdgit
] create a version tag and push to the repository with all changesgit
] set the next development version and push to the repositoryweb
] update the website after the releaseManual actions still required:
Optional automatization:
Additional requirements:
version.release.log
so that it can be reviewed later to track the whole processdry-run
option, that goes through all steps without making/persisting actual changes