-
Notifications
You must be signed in to change notification settings - Fork 114
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
Set up GoReleaser to make releases for tags #192
Conversation
Related: kubernetes-sigs#17 Adding [GoReleaser](https://goreleaser.com/) to handle generating releases for tags. This will make it so that cutting releases is as simple as pushing a tag. The result will be a release which includes the changelog, binaries for Linux/Windows/Darwin, as well as the checksums for each of the archives. To see what this looks like, I've created a dummy release on my fork. Because this is the first release, the changelog is massive, but going forward it should be a little more reasonable. Sample release: https://github.com/pseudomuto/kubetest2/releases/tag/v0.1.0 I've added some light details about how it works in RELEASE.md as well as the one-time setup step required to make it work (A limited scope GitHub token).
|
Welcome @pseudomuto! |
Hi @pseudomuto. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: pseudomuto The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
I don't have any context on this change, was there a conversation in the slack about the need for this framework? @BenTheElder |
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.
Thanks but, this isn't an approach the Kubernetes project uses to releasing, cc @kubernetes-sigs/release-engineering ... and the problem with #17 is "nobody has time to work on this project" (I try to make time to at least review PRs, but that's honestly well beyond what I can commit to) not "running builds and uploading them to a release page takes too long".
I am focused right now on finding an approver with time commitment.
This will make it so that cutting releases is as simple as pushing a tag.
I disagree, releases come with an expectation of a level of stability and support when we cannot guarantee any. Cutting a release is more about ensuring things are in the right state and documenting noteworthy changes, not about building and uploading binaries or adding git tags.
I don't want to start cutting releases now and give a false impression of a level of support that does not exist. This repo is getting best-effort PR reviews at this time, nothing more.
If folks would like to help https://github.com/kubernetes-sigs/kubetest2/blob/master/CONTRIBUTING.md we can work on reaching a level of trust to hand off the project.
If anyone wishes to pin to a specific commit themselves, that's low-cost to do without any changes to the repo. Versioning the repo adds maintenance expectations that we cannot support at this time.
@@ -51,6 +51,10 @@ SHELL:=env PATH=$(subst $(SPACE),\$(SPACE),$(PATH)) $(SHELL) | |||
# flags for reproducible go builds | |||
BUILD_FLAGS?=-trimpath -ldflags="-buildid=" | |||
|
|||
KERNEL?=$(shell uname -s) | |||
MACHINE?=$(shell uname -m) | |||
GORELEASER_BIN?=https://github.com/goreleaser/goreleaser/releases/download/v1.9.0/goreleaser_$(KERNEL)_$(MACHINE).tar.gz |
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 seems pretty insecure as well
uses: actions/setup-go@v2 | ||
with: | ||
go-version: 1.16 | ||
- name: Release |
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'm personally not super comfortable running releases with actions, because actions have little to no defense against bad updates to the actions implementation repos.
Ok, thanks for clarifying. |
Related: #17
Adding GoReleaser to handle generating
releases for tags. This will make it so that cutting releases is as
simple as pushing a tag. The result will be a release which includes the
changelog, binaries for Linux/Windows/Darwin, as well as the checksums
for each of the archives.
To see what this looks like, I've created a dummy release on my fork.
Because this is the first release, the changelog is massive, but going
forward it should be a little more reasonable.
Sample release:
https://github.com/pseudomuto/kubetest2/releases/tag/v0.1.0
I've added some light details about how it works in RELEASE.md as well
as the one-time setup step required to make it work (A limited scope
GitHub token).