timols / java-gitlab-api

A wrapper for the Gitlab API written in Java
Apache License 2.0
387 stars 317 forks source link

Automatic publishing of new releases #363

Open rkpatel7 opened 5 years ago

rkpatel7 commented 5 years ago

I think it would be a nice feature to automatically publish a new version to maven on each merge. This could then reduce the toil for @timols to have to manually publish releases. I am not sure of best practices for automatic publishing, especially with regards to determining version bumps but that would be something that would need to be considered.

rkpatel7 commented 5 years ago

This would also eliminate the need to create issues like: https://github.com/timols/java-gitlab-api/issues/362, https://github.com/timols/java-gitlab-api/issues/289, https://github.com/timols/java-gitlab-api/issues/109, https://github.com/timols/java-gitlab-api/issues/80 among others.

@timols I can do some research and figure out if there is a good existing solution for an automatic release strategy, but I'm curious if you have any thoughts on this.

timols commented 5 years ago

@rkpatel7 I'm onboard with this and definitely in favor. The release process for maven artifacts involves integrating with Sonatype Nexus, so might take some work but happy to share anything I've come across whilst maintaining this library.

cowtowncoder commented 5 years ago

Just out of curiosity: is the current release process using standard Maven release plug-in, or something else? If it's just that, I could help with making releases too (or show @rkpatel7 or others how it's done) -- all that is needed aside from repo push access is filing a ticket for Sonatype OSS repo, and current author supporting giving access.

rkpatel7 commented 5 years ago

I could help with making releases manually if automatic releasing of libraries is not a good idea, if it's easy to do so. But I am not sure I am ready to take on the role of a full maintainer (merging in pull requests, etc.).

cowtowncoder commented 5 years ago

I think regardless of automation we could start with manual: I am not necessarily opposed to automation, but I think it requires use of something like Travis, and non-trivial set up. Definitely doable, but I have not done it myself. So manual release could be the initial first step even if automating.