yuzutech / kroki

Creates diagrams from textual descriptions!
https://kroki.io
MIT License
2.79k stars 206 forks source link

Automate the release process #121

Open ggrossetie opened 4 years ago

ggrossetie commented 4 years ago

The current process is roughly:

Create a new release page on GitHub: https://github.com/yuzutech/kroki/releases

marcelstoer commented 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).

ggrossetie commented 3 years ago

We could start by creating the GitHub release and uploading the fat-jar.

nejch commented 2 years ago

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:

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 :)

ggrossetie commented 2 years ago

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 😃