Open juherr opened 2 years ago
@juherr - Can you please help elaborate as to what aspects of our release would this streamline? Just trying to understand the scope of what this ticket asks for.
@krmahadevan the goal is having the release process described in a file that automatize it.
Currently, I think only the maven central part is automatic.
It could be improved by the group announce, github release changelog, ...
Hello there! I'm the JReleaser author. Happy to help with any questions you may have 😄
@aalmiray - I will surely bug you with questions. I haven't yet gotten around to exploring JReleaser yet but I will definitely want to automate the entire release orchestration :)
There are a several projects out there that use the JReleaser Gradle plugin in combination with the Kotlin DSL. Recently (in v1.3.0
we added an option to also upload JARs & POMs to Maven Central. The upcoming v1.5.0
will support uploading Gradle metadata files if that's what you do today with your current setup.
@aalmiray - Here's what we have as of today.
n
release candidates which gets vetted out for any possible issues with some early adopters before a final release happens (based on the last released candidate)I have created a wiki page that explains all this.
@juherr wanted us to explore JReleaser to see if we can automate all of this as well.
I hope that gives you some context on what the expectation is here.
I see. Perhaps keeping the stage-vote-release-plugin
in place is the safest choice as it currently serves its purpose. JReleaser could support a voting process but it does not do it yet.
Now, creating the Git release and posting announcements is where JReleaser could help. The announcement to Google Groups may be posted via the SMTP announcer. Posting to Linkedin may be trickier as I believe it requires registering an app and obtaining an OAuth access token. Might be possible to use the HTTP announcer.
A GH workflow that reacts to a tag being created could be used to trigger the creation of a Git release + announcements.
@aalmiray - Thanks for sharing those details. That should help me get started with the experimentation part. Will keep you posted on the progress that I make.
For linkedin post, something could be done with https://www.make.com/en/help/app/linkedin Then jreleaser could just have to call an http url
Unfortunately that integration requires OAuth which means it's browser bound. OTOH it looks like GoReleaser only requires an access token (somehow obtained from a previous OAuth authentication session) and likely calls a REST endpoint https://goreleaser.com/customization/announce/linkedin/
I suppose jreleaser is able to make and http query. If the make.com flow is triggered by a webhook, we can decide what is the http security.. Then make.com manages all the auth problem with LinkedIn.
Not the best way but it should work 😁
@juherr - Personally, I am not too concerned on the LinkedIn integration because that ties it with me. I can still live with having to do this manually. As long as the rest of the stuff can be done, I think we should be good.
Basically anyone in the TestNG dev (today its mostly just you and me) should be able to do this release. Posting on LinkedIn|Twitter is just an added bonus :)
Yes, agree
https://jreleaser.org/