-
Notifications
You must be signed in to change notification settings - Fork 66
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
GHA to create release #437
base: master
Are you sure you want to change the base?
Conversation
Can you give some background on the savings here on starting a GH workflow vs publishing release in GH? |
5d836bc
to
bddfbea
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As mentioned at temporalio/api-go#170 (review), I am a bit concerned about the maintenance of these two workflows for such an incredibly simple thing, but if y'all are resolving to maintain them and are now in full control of the release process of this and the API repo, ok.
bddfbea
to
d0cd2bf
Compare
d0cd2bf
to
2cab9a7
Compare
.github/workflows/create-tag.yml
Outdated
base_tag: | ||
description: "Base tag to generate commit list for release notes" | ||
required: false | ||
skip_sdk_check: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This shouldn't be allowed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cretz mentioned a use case here: temporalio/sdk-go#1749 (review)
Thanks! Note, when making the api side, you may want the ability to bypass. The reason one might want to bypass is because we know the API is incompatible and we plan on tagging a new Go SDK release with the new API release immediately after API release is complete.
if: | | ||
!cancelled() && | ||
needs.prepare-inputs.result == 'success' && | ||
contains(fromJSON('["success", "skipped"]'), needs.check-compatibility-sdk-go.result) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would have imagined this would be the default, is it not so?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Github actions doesn't work well when the dependency has a condition for running.
In this case, the check-compatibility-sdk-go
job runs only if the flag is set. So, even if I add it to needs
, the create-release
job never runs. So, I need to manually check the conditions.
fa660a1
to
8a60658
Compare
What changed?
GHA to create, publish and delete releases.
create-release
: manually triggered, it validates the input, checks compatibility with sdk-go, and creates draft releases inapi
andapi-go
.publish-release
: triggered when a release is published, it publishes the correspondingapi-go
release.delete-release
: triggered when a release is deleted, it deletes the correspondingapi-go
release (only works for deleting draft releases).Why?
Automation.
Breaking changes
Server PR