-
Notifications
You must be signed in to change notification settings - Fork 695
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
GoReleaser build and release support #140
Conversation
Thanks very much for reviewing Gus. |
Have had a go at docs tidy up to go with Specifically: TBD:
|
Seems pretty complete. Happy to amend as needed. |
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.
oh, I didn't hit send on these comments from earlier. I think you mostly already replied to them..
README.md
Outdated
# Install server-side controller into kube-system namespace (by default) | ||
$ kubectl create -f https://github.com/bitnami-labs/sealed-secrets/releases/download/$release/controller.yaml | ||
# For clusters with RBAC | ||
$ wget https://github.com/bitnami-labs/sealed-secrets/examples/controller.yaml |
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.
Hrm. I don't think we can just do this, since this controller.yaml
doesn't have any embedded version tag, so it will just install :latest controller image. I think we need to add builds.hooks.post: make controller.yaml controller-norbac.yaml
and then copy those generated yaml files either to github release artefacts (preferred), or into the goreleaser archive.
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.
Okay, sure will try that and verify flow with new tag in my fork.
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.
Generating and adding YAML's to archive with builds.hooks.post
was straight forward with two exceptions:
Makefile
target builds docker image as part of generating YAML, this duplicates goreleaser and could lead to different docker images, see proposed changeMakefile
adds+dirty
to$(VERSION)
if repo dirty but+
is invalid image tag character, see proposed change
I'm trying not to alter existing flow too much but there is overlapping functionality.
EDIT: This broke Travis so had to addcontroller.image
target in.travis.yml
, now builds again.
RE: Publishing to GitHub as part of Release:
Looks like the Release
struct in Goreleaser doesn't have a Files
var like some of the others.
I've asked on their Slack channel about it. Imagine it would take a bit of plumbing to wire it through if they are open to a PR. Maybe there's an alternate method?
Example release on my fork - (Squashed commits for this PR)
I think this is mostly awesome, and ready to merge (with the above comments). You haven't hooked this into anything that actually invokes |
|
Simplified build (and release?) per #134. Not automatically hooked into Travis or anything (yet). **Binaries tested with `--version`:** - linux (docker images as well) - windows **Binaries not tested:** - darwin (don't have mac) **Build and Publish tested:** - Create [GitHub Token](https://goreleaser.com/environment/) - In `.goreleaser.yml` comment out `release.disable: true` - `git commit` - `git tag v0.7.1 && git push` - `make publish` - single archive per platform contains both `controller` and `kubeseal` binaries, plus kubernetes yaml's - locally docker images are created **Not Tested:** - docker image push - In `.goreleaser.yml` comment out `docker.skip_push: true` **Build fork/dirty/etc:** (assuming merged, patch on upstream or blog link below) ``` make snapshot ``` This results in binaries, archives and docker images tagged with full git commit hash. **To Do:** - [x] TODO: comment added for brew to change to [published formula](https://github.com/Homebrew/homebrew-core/blob/master/Formula/kubeseal.rb) - [x] confirm ok publishing archive instead of binaries - [x] yamls added to archive - [x] DOCS update and simplification First time using goreleaser so... :)
Rebased on master with TPR removed. |
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! Are we ready to merge this?
In particular: I think nothing changes immediately/automatically. The new release process needs to be triggered manually when the time comes (good, means we can check it over first).
Yes! Thanks for your patience. |
Merging! bors r+ |
140: GoReleaser build and release support r=anguslees a=kskewes GoReleaser build and release support Simplified build (and release?) per #134. Not automatically hooked into Travis or anything (yet). **Binaries tested with `--version`:** - linux (docker images as well) - windows **Binaries not tested:** - darwin (don't have mac) **Build and Publish tested:** - Create [GitHub Token](https://goreleaser.com/environment/) - In `.goreleaser.yml` comment out `release.disable: true` - `git commit` - `git tag v0.7.1 && git push` - `make publish` - single archive per platform contains both `controller` and `kubeseal` binaries, plus kubernetes yaml's - locally docker images are created **Not Tested:** - docker image push - In `.goreleaser.yml` comment out `docker.skip_push: true` **Build fork/dirty/etc:** (assuming merged, patch on upstream or blog link below) ``` make snapshot ``` This results in binaries, archives and docker images tagged with full git commit hash. **To Do:** - [x] TODO: comment added for brew to change to [published formula](https://github.com/Homebrew/homebrew-core/blob/master/Formula/kubeseal.rb) - [x] confirm ok publishing archive instead of binaries - [x] yamls added to archive - [x] DOCS update and simplification First time using goreleaser so... :) Co-authored-by: Karl Skewes <karl.skewes@gmail.com> Co-authored-by: Karl <karl.skewes@gmail.com>
Build succeeded |
We actually will need to release due to the included docs changes. Or revert. |
GoReleaser build and release support
Simplified build (and release?) per #134.
Not automatically hooked into Travis or anything (yet).
Binaries tested with
--version
:Binaries not tested:
Build and Publish tested:
.goreleaser.yml
comment outrelease.disable: true
git commit
git tag v0.7.1 && git push
make publish
controller
andkubeseal
binaries, plus kubernetes yaml'sNot Tested:
.goreleaser.yml
comment outdocker.skip_push: true
Build fork/dirty/etc: (assuming merged, patch on upstream or blog link below)
This results in binaries, archives and docker images tagged with full git commit hash.
To Do:
First time using goreleaser so... :)