asciidoctor / asciidoctor-diagram

:left_right_arrow: Asciidoctor diagram extension, with support for AsciiToSVG, BlockDiag (BlockDiag, SeqDiag, ActDiag, NwDiag), Ditaa, Erd, GraphViz, Mermaid, Msc, PlantUML, Shaape, SvgBob, Syntrax, UMLet, Vega, Vega-Lite and WaveDrom.
http://asciidoctor.org
MIT License
432 stars 106 forks source link

Missing GitHub Releases #400

Closed dduportal closed 1 year ago

dduportal commented 1 year ago

Hello there 👋

In the Asciidoctor official image, we are tracking the versions of the asiidoctor-diagram gem with a process that checks the github release (before checking the gem existence) in order to provide changelog links to improve trust while auto-updating.

But the automatic process did not pick the releases after 2.2.1 because there has been only git tags but no GitHub Release associated.

The main reason for using GitHub release was that it provided a nifty way to get changelog between versions: it is not a hard constraint but it was useful.

I would like to know, as maintainer of the official image, what are the expected source of truth so the automatic update can be adapted accordingly:

=> If we have to switch to either git tag or ruby gem as "last version source of truth", then what is the expected changelog?

Thanks a lot for your work on this project!

mojavelinux commented 1 year ago

If you're interested in automating the creation of the GitHub Release, you could consider using the script I'm using in the Asciidoctor PDF project. See https://github.com/asciidoctor/asciidoctor-pdf/blob/main/release.sh#L42-L43

pepijnve commented 1 year ago

I haven't really been using GitHub releases so far. I think I made one once. Tags should be there unless I forgot to push them.

For the time being rubygems.org is the place to track the latest version since that's the canonical place from where (I think) most people install the gem.

dduportal commented 1 year ago

Thanks for the feedbacks! I'm closing the issue here since https://github.com/asciidoctor/docker-asciidoctor/pull/336 should fix the dependency tracking beheavior on the official asciidocotr image.

If you want some help to automate the changelog generation using github release, in addition to the current deployment process, I would be happy to help (with the experience and tooling from the Jenkins project): mention me here or in Zulip if you want!

Thanks all for your investment.

pepijnve commented 1 year ago

@dduportal sure, any help would be much appreciated. My "release process" at the moment is basically gem release and gem publish. Automating that, processing the changelog, making the git release, etc. would make a lot of sense. I just haven't had much free time to work on the gem lately.

pepijnve commented 1 year ago

@dduportal I've retroactively created GitHub releases. Working on scripting the release steps so that these will be automatically created going forward.

dduportal commented 1 year ago

I see that in https://github.com/asciidoctor/docker-asciidoctor/pull/351 @pepijnve : congrats (and thanks for the additional work here!).

It looks really good.

Anything I can do to help on the release process scripting?

pepijnve commented 1 year ago

Anything I can do to help on the release process scripting?

Thanks for the offer, but I think at this point I'm good for now. I make the gem builds using https://github.com/svenfuchs/gem-release so it's only a matter of calling gem bump -v <version> -t -r followed by invoking the gh_release script now. I'll put that into a little shell script next time I need to make a release.