Open ggrossetie opened 4 years ago
Not sure if you already have a plan but to me the most straightforward approach is this:
In the end all you need to run is mvn release:prepare
and mvn release:perform
(handles version and Git tasks).
We could start by creating the GitHub release and uploading the fat-jar.
Would you still need any support here @Mogztter?
I see most of it is already automated, the only thing you might still want would be:
fix
, feature
, breaking
).actions/create-release
workflow for the body_path
. Again something that is more common with conventional commits but I'm sure there are other solutions out there.Just wondering as that would make things like https://github.com/yuzutech/kroki/pull/1017 (and potential follow-up as discussed in https://github.com/blockdiag/blockdiag/pull/150#issuecomment-986279816) easier to land with more frequent releases :)
Would you still need any support here? I see most of it is already automated, the only thing you might still want would be(...) Just wondering as that would make things like #1017 (and potential follow-up as discussed in blockdiag/blockdiag#150 (comment)) easier to land with more frequent releases :)
The release part is almost completely automated and does not require much time. However, we are lacking tests. I'm not confident enough with the current test suites, and, as a result, it takes quite a bit of time to build everything locally and perform tests.
The CI already takes around 25 minutes but I think we should run tests depending on what's changed (using paths
and paths-ignore
: https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#onpushpull_requestpaths).
We should also be able to run a complete tests suite against https://kroki.io to make sure that the deployment (of the latest version) went well.
In short, we need more automated tests in order to release more frequently 😃
The current process is roughly:
mvn versions:set -DnewVersion={{version}}
mvn clean package
git tag v{{version}}
git commit -m "Release version {{version}}"
git push origin master --tags
Create a new release page on GitHub: https://github.com/yuzutech/kroki/releases