-
Notifications
You must be signed in to change notification settings - Fork 16
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 release with goreleaser and GitHub Actions #59
Automate release with goreleaser and GitHub Actions #59
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: karuppiah7890 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 |
981b0d1
to
e4ea071
Compare
Thank you so much for the PR @karuppiah7890!
How would this work? We maintain only a single
Yes, please. I'm not familiar with goreleaser so if we have the entire process noted step by step in the
The
Let's stick to
We don't have a use case for that (as of now 🙂) so I guess we can skip it. In the prow job we simply install depstat using @kubernetes-sigs/depstat-admins can someone please help review this, I've little knowledge about release best practices. /label tide/merge-method-squash |
No, there's no need to cut separate release branch, we just have to push a git tag which we are already doing. But yeah, I can put extra condition that only git tags on
There's no process really per se, haha.
The PR already has a single commit only for
Ah okay, cool
Cool ! and who uses the released binaries? human users? Since prow uses |
Yup that sounds good, thanks!
Could you please add a line about the command to be used for this in
Not sure if we have any users 😅 but yes we just release the binaries in case someone wants to use them (maybe in the future :P). I've been building the binaries on MacOS using |
/hold Holding till I make changes to the PR based on the comments |
e4ea071
to
d238101
Compare
/remove-hold |
- Add goreleaser config yaml - Ignore goreleaser's `dist` directory which is used as the build / distribution directory - Add GitHub Action workflow config yaml for automatic release using goreleaser on push of git tag - Update RELEASE.md with the new process detailing about GitHub Actions and goreleaser release automation Signed-off-by: Karuppiah Natarajan <karuppiahn@vmware.com>
d238101
to
9cf8b99
Compare
Made the changes as mentioned 👍 |
Should we probably open up this PR when it's needed? I don't think folks have bandwidth to look at this PR now. Also, it's not urgent I believe. So we could close it for now |
Let's leave it open, no? I'll have to cut a release soon (hopefully this month) and maybe we can merge and test this out then, WDYT? 🙂 |
Okay! 👍 |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
Any thoughts on what we should do about this PR? 😅 Should I remove the life cycle labels? |
I guess so, but we wouldn't be doing any releases soon since we're still waiting on a word from the go team on this. |
/remove-lifecycle rotten |
kindly ping @karuppiah7890 @RinkiyaKeDad nice works, everything looks good! 🥳🚀 But I've got a bunch of questions. 🙋🏻♂️
|
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /close |
@k8s-triage-robot: Closed this PR. In response to this:
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. |
RELEASE.md
dist
directory which is used as the build / distribution directoryFixes #37
Should I also update the
RELEASE.md
with the information aboutgoreleaser
and GitHub Actions workflow for automatic release once the repo has a git tag for a given version? I think step 3 and 4 would need some changes - https://github.com/kubernetes-sigs/depstat/blob/main/RELEASE.md to mention that release (building and creating GitHub release) is automated but yeah, the owner can change the changelog for the GitHub release if it's neededYou can look at a sample of the GitHub Actions workflow here - https://github.com/karuppiah7890/depstat/runs/3424475399?check_suite_focus=true
and a sample release here - https://github.com/karuppiah7890/depstat/releases . Particularly - https://github.com/karuppiah7890/depstat/releases/tag/v0.7.0-rc.1 , a dummy RC release
Let me know if we want to split the single commit
automate release process using goreleaser and github actions
into two commits like -add goreleaser config yaml for automated release
andadd github action workflow config yaml for automated release using goreleaser
Some things to note
snapshot
config. We can remove it if we think we never need itchangelog
config and feature of goreleasergo.mod
and also in the existing GitHub Action workflow. But we can change it if needed to v1.17 as it's already out https://golang.org/dl/Since we have goreleaser config now, with this we can also have a
install.sh
script with the help of godownloader for automated install. Let me know if we want to add that too, in this PR or separate PR with separate issue for installer scriptAlso, do we want to publish Docker images? Something to discuss, in case we want to use it in containers. I noticed mention of prow jobs, those run in containers? We can discuss that too in a separate issue or here. GoReleaser supports releasing Docker images it seems