-
Notifications
You must be signed in to change notification settings - Fork 72
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
Repo controlled build go version #99
Conversation
3befee5
to
99984b5
Compare
99984b5
to
ceb6db6
Compare
.github/workflows/ci.yaml
Outdated
@@ -12,7 +12,7 @@ jobs: | |||
- name: Setup Go | |||
uses: actions/setup-go@v3 | |||
with: | |||
go-version: 1.19 | |||
go-version: 1.20.10 |
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.
Why use a point release and not just 1.20
?
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.
Fixed
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.
my question was why use 1.XX.YY instead of just 1.XX? then we won't have to update for every point 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.
my question was why use 1.XX.YY instead of just 1.XX? then we won't have to update for every point release
@micahhausler the YY bump could mean some CVE fixes in Golang minor version, thus we can follow to patch the component and cut a new image tag for the Go version bump. Otherwise, there is no change in the component and we can't cut a new image tag.
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.
@micahhausler not sure why, but with 1.20 in the github workflow has failure in CI build job: https://github.com/kubernetes-sigs/aws-encryption-provider/actions/runs/6873400343, 1.20.10 is working fine
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.
We do this in kubernetes so it's still a controlled PR to upgrade and builds are more reproducible (this isn't itself enough to get reproducible builds however) but YMMV.
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.
@BenTheElder With this PR, everything about Go version is predictable in this repo, leveraging .go-image-tag (currently there is a small gap for me to adopt .go-version).
With this change to adopt gimme, in both pre-merge tests in Prow and local environment, the build system will choose the Go version in .go-image-tag as the Go version for building binary, running tests and building image.
With a0c85ee, GitHub action is also able to leverage .go-image-tag to set up Go version to release binaries.
What's your thought @micahhausler ?
bc79a20
to
7857abf
Compare
/retest |
7857abf
to
5355e26
Compare
5355e26
to
f4b97df
Compare
3535099
to
a0c85ee
Compare
/lgtm |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: nckturner, xdu31 The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Follow KEP-3744 to make
aws-encryption-provider
to stay on supported Go versions.This PR follows kubernetes/kubernetes#114660 and kubernetes/kubernetes#115377 for repo-controlled go version to use in CI.