-
Notifications
You must be signed in to change notification settings - Fork 254
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Automate binary releases #437
Conversation
Codecov Report
@@ Coverage Diff @@
## main #437 +/- ##
==========================================
+ Coverage 81.42% 81.46% +0.04%
==========================================
Files 26 27 +1
Lines 2175 2180 +5
==========================================
+ Hits 1771 1776 +5
+ Misses 311 310 -1
- Partials 93 94 +1
Continue to review full report at Codecov.
|
This looks great! @mattwynne @aurelien-reeves let’s discuss this to make sure it’s aligned with the general release process that is described in https://github.com/cucumber/.github/blob/main/RELEASING.md |
Sure, it looks good to me. @vearutop did you consider using https://github.com/goreleaser/goreleaser? |
@aslakhellesoy I think Collecting unreleased changes and then eventually (or periodically) releasing them seems unnecessary limiting for small self-contained changes, though it totally makes sense if multiple changes need to be shipped and tested together. I think we can make patch version releases asap with only CHANGELOG.md updates, and prepare more documentation in @mattwynne I was conservatively thinking to make this with least changes and dependencies. We can upgrade to The approach from this PR was tested with some of my personal projects. |
It is difficult to test this with main repo before merge, but it worked ok in my fork: https://github.com/vearutop/godog/releases/tag/test-release-assets5. |
The reason we use The You can see how this is set up in the tag-expressions repo: |
I suggest we merge this, and we can deal with the other two suggestions (goreleaser, automation via |
What's the new |
For example you can install
We can remove build tags and move the contents to an existing file given that go1.11 is very old and is not supported anyway. Should I do it?
|
ed3a0a9
to
d1a48b0
Compare
Description
This PR adds GitHub Action to build and upload binary artifacts on release creation.
Also it arranges examples in a single module that references current
godog
, so that examples are always up to date with latestgodog
.Motivation & context
Currently artifacts uploading is manual and makes releases more effortful than they should be.
With this automation we can reduce the burden for smaller releases and tag every meaningful change as soon as it is ready and PR is merged.
Type of change
Note to other contributors
godog.Version
is now populated from module info and does not need manual editing.Update required of cucumber.io/docs
No update.
Checklist: