shipkit / shipkit-auto-version

Gradle plugin that helps automating releases by automatically deducing the next Semver version
Apache License 2.0
42 stars 10 forks source link

GitHub action #20

Closed jplaisted closed 4 years ago

jplaisted commented 4 years ago

We're starting a new(ish) project (https://github.com/linkedin/datahub-gma) and I'm looking into publishing jars and all that good stuff. I also work at LinkedIn, and our presentations by you (@mockitoguy) recommend skipkit and auto version. They're pretty neat, and I'd love to use them.

However, in order to make this plugin useful, I basically have to copy Ambry's gradle files, and then somehow get the CI/CD part to work with GitHub workflows rather than Travis.

However, I realized that these actions seem pretty standard. Tag the commit, push the tag, and then upload to bintray/maven. Would it make sense to have a GitHub action for the first two parts, the ones that really involve this plugin? I get other people use travis, but for those of us using workflows it would be nice.

I'm happy to contribute this if you think this is a good feature. I guess the only issue is atomicity of tagging. Which may be a bigger rabbit hole than I think...

jplaisted commented 4 years ago

Seems like, with actions, turnstyle is a good solution. It busy waits, but locking to tag should take almost no time.

https://github.community/t/how-to-limit-concurrent-workflow-runs/16844 https://github.com/softprops/turnstyle

mockitoguy commented 4 years ago

Tag the commit, push the tag

Feels like it's an overkill to wrap this with a GitHub action. Please note that GH Actions have implicit write token so you don't have to pass the secret key via env variables. See how simple tagging is for this project: https://github.com/shipkit/shipkit-auto-version/blob/master/gradle/release.gradle#L33

Also, the GH Action is yet another code to maintain (and in the open source, that's our private time ;-))

However, if you are really keen on a GH action, go for it ;-)

jplaisted commented 4 years ago

Ok, sounds good! I'll consider making my own repo if it makes sense to do so.