-
Notifications
You must be signed in to change notification settings - Fork 6
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
Remove goreleaser #1016
Remove goreleaser #1016
Conversation
Build a provider binary for a specific platform and zip it along with the readme and licence.
42698ec
to
90fd959
Compare
90fd959
to
831e6cc
Compare
Used via the makefile during tfgen.
- We use `-C` while adding the files. - Test using `make upstream` instead of `make tfgen`.
73ca95a
to
61377a9
Compare
We're not running go builds so we shouldn't be using much disk space in this job any more.
- Set PROVIDER_VERSION for whole provider build job for the makefile calls. - Use normalized VERSION_GENERIC instead of PROVIDER_VERSION in the makefile.
Try and work out why we're getting a message about the makefile target not existing.
- Remove unused shell option
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 looks good to me. I'd love to see this used end to end on a provider before we roll it out to the entire fleet.
provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/build_provider.yml
Show resolved
Hide resolved
provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/publish.yml
Show resolved
Hide resolved
uses: softprops/action-gh-release@v1 | ||
if: inputs.isPrerelease == false | ||
uses: #{{ .Config.actionVersions.goReleaser }}# | ||
env: | ||
GORELEASER_CURRENT_TAG: v${{ inputs.version }} | ||
PROVIDER_VERSION: ${{ inputs.version }} | ||
with: | ||
args: -p #{{ .Config.parallel }}# release --rm-dist --timeout #{{ .Config.timeout }}#m0s | ||
version: latest | ||
- name: Run GoReleaser (prerelease) | ||
if: inputs.isPrerelease == true | ||
uses: #{{ .Config.actionVersions.goReleaser }}# | ||
tag_name: v${{ inputs.version }} | ||
prerelease: ${{ inputs.isPrerelease }} | ||
# We keep pre-releases as drafts so they're not visible until we manually publish them. | ||
draft: ${{ inputs.isPrerelease }} | ||
body: ${{ steps.schema-summary.outputs.summary }} | ||
generate_release_notes: true | ||
files: dist/* |
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.
Does using this action give us anything over gh release create
? If not, should we just use the CLI command to avoid the indirection of a 3rd party action?
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.
Mostly just easier to integrate with options and better output. Using the CLI would be a little awkward to conditionally include the --draft
and --prerelease
flags.
provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/build_provider.yml
Outdated
Show resolved
Hide resolved
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.
LGTM - just one small question
provider-ci/internal/pkg/templates/bridged-provider/.github/workflows/publish.yml
Show resolved
Hide resolved
pulumi-kafka main run: https://github.com/pulumi/pulumi-kafka/actions/runs/9757616987 |
Stop using goreleaser, improve our release notes, speed up releases.
This should also save 3 hours of waiting per release of AWS.
Build cross-platform provider binaries, in parallel, straight after prerequisites, then only calculate hashes & push to S3 and GitHub releases directly during the publish job.
Specifics:
schema-embed.json
to avoid having to runtfgen
on every provider build.This does not include reworking tests to use the the provider binary being released - but this can be added later fairly easily.
Prerelease run: https://github.com/pulumi/pulumi-xyz/actions/runs/9749848070
Stable release run: https://github.com/pulumi/pulumi-xyz/actions/runs/9750181828
Example of published release: https://github.com/pulumi/pulumi-xyz/releases/tag/v1.0.3