Skip to content
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

update release-1.24 to go1.19 #113956

Merged
merged 9 commits into from Dec 20, 2022
Merged

Conversation

liggitt
Copy link
Member

@liggitt liggitt commented Nov 16, 2022

What type of PR is this?

/kind cleanup

What this PR does / why we need it:

Picks commits needed to update release-1.24 to go1.19, since go1.18 goes out of support in ~Feb 2023. go1.19 is supported through ~August 2023, which covers the remainder of the 1.24 releases.

This ensures that release-1.24 can pick up future runtime security fixes.

This happens to be possible because the only behavior change we needed to adapt to in go1.19 was the ErrDot LookPath change, which we were able to accommodate in-process when release-1.25 updated to go1.19.

This PR includes commits from master branch go1.19 update:

Before this can merge, 1.24 CI would need to be updated to use go1.19, so that gofmt and dependency CI checks pass (xref kubernetes/release#2822)

Which issue(s) this PR fixes:

xref #112408

Special notes for your reviewer:

Does this PR introduce a user-facing change?

Kubernetes 1.24 is now built with go1.19.4

@k8s-ci-robot k8s-ci-robot added this to the v1.24 milestone Nov 16, 2022
@k8s-ci-robot k8s-ci-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. do-not-merge/cherry-pick-not-approved Indicates that a PR is not yet approved to merge into a release branch. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. area/apiserver area/cloudprovider area/code-generation area/conformance Issues or PRs related to kubernetes conformance tests area/dependency Issues or PRs related to dependency changes area/e2e-test-framework Issues or PRs related to refactoring the kubernetes e2e test framework area/ipvs area/kubeadm area/kubectl area/kubelet area/network-policy Issues or PRs related to Network Policy subproject area/release-eng Issues or PRs related to the Release Engineering subproject area/test kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. sig/apps Categorizes an issue or PR as relevant to SIG Apps. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. sig/auth Categorizes an issue or PR as relevant to SIG Auth. sig/autoscaling Categorizes an issue or PR as relevant to SIG Autoscaling. and removed do-not-merge/needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Nov 16, 2022
@liggitt
Copy link
Member Author

liggitt commented Dec 19, 2022

Looks like we still have a couple of unhappy CI jobs

That's the verify job (failing because it doesn't like 1.19 gofmt) and dependencies job (failing because it doesn't like 1.19 go.mod files). The go-canary versions of those jobs running on go1.19 have already passed, so the next step is to get CI for release-1.24 shifted to use go1.19.4, then presubmits here will pass

@liggitt
Copy link
Member Author

liggitt commented Dec 19, 2022

/assign @dchen1107 @derekwaynecarr @mrunalp
needs cri-api approver since this touches a go.mod file and gofmt reformatted comments within that module (no other changes)

@@ -480,6 +480,7 @@ EOF
local go_version
IFS=" " read -ra go_version <<< "$(GOFLAGS='' go version)"
local minimum_go_version
# TODO(liggitt): Need to switch this to 1.19 once we update images to newer go version
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

needs to switch?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, I'll update this once we switch presubmit images to run with go1.19, it would have turned all CI jobs red before that

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, I think we should avoid bumping this until we're happy with post-submits and maybe until we cut the next 1.24 patch release. As soon as we do this, anything currently happily building off of release-1.24 with go1.18 will start failing, and I don't want to ripple out build/config changes past the immediate k8s.io/test-infra and k8s.io/release updates we're making quite yet

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

opened #114616 with this follow-up

@dchen1107
Copy link
Member

/approve from SIG Node.

Thanks for taking care of this for the community.

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Dec 19, 2022
@cpanato
Copy link
Member

cpanato commented Dec 20, 2022

/priority important-soon

@k8s-ci-robot k8s-ci-robot added priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. and removed needs-priority Indicates a PR lacks a `priority/foo` label and requires one. labels Dec 20, 2022
@liggitt
Copy link
Member Author

liggitt commented Dec 20, 2022

kubernetes/test-infra#28290 updated kubekins and krte images for 1.24

/test all

@liggitt
Copy link
Member Author

liggitt commented Dec 20, 2022

Previously failing required pull-kubernetes-dependencies job now passes on go1.19.4 🎉

Previously failing required pull-kubernetes-verify job now passes on go1.19.4 🎉

@liggitt
Copy link
Member Author

liggitt commented Dec 20, 2022

all presubmits green (including the optional azure jobs that triggered), has lgtm + approve 🎉

cc @kubernetes/release-managers

@@ -102,15 +102,15 @@ dependencies:
# This entry is a stub of the major version to allow dependency checks to
# pass when building Kubernetes using a pre-release of Golang.
- name: "golang: 1.<major>"
version: 1.18
version: 1.19.4
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be 1.<major>, i.e. 1.19. See on master for example:

version: 1.19

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed on Slack, it will be fixed in a follow-up PR along with the comment from @aojea.

Ref: https://kubernetes.slack.com/archives/C2C40FMNF/p1671026815368429

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

opened #114616 with this follow-up

Copy link
Member

@xmudrii xmudrii left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm
/approve

SIG Node CI/Test Board automation moved this from Archive-it to PRs - Needs Approver Dec 20, 2022
@xmudrii xmudrii added the cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. label Dec 20, 2022
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/cherry-pick-not-approved Indicates that a PR is not yet approved to merge into a release branch. label Dec 20, 2022
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dchen1107, dims, liggitt, xmudrii

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@liggitt
Copy link
Member Author

liggitt commented Dec 21, 2022

tracking status of postsubmits after this merged (commit 9e7bdc5)

no failed runs on this merge yet on jobs that were previously solid green

https://testgrid.k8s.io/sig-release-1.24-blocking

https://testgrid.k8s.io/sig-release-1.24-informing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/apiserver area/cloudprovider area/code-generation area/conformance Issues or PRs related to kubernetes conformance tests area/dependency Issues or PRs related to dependency changes area/e2e-test-framework Issues or PRs related to refactoring the kubernetes e2e test framework area/ipvs area/kubeadm area/kubectl area/kubelet area/network-policy Issues or PRs related to Network Policy subproject area/release-eng Issues or PRs related to the Release Engineering subproject area/test cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. lgtm "Looks good to me", indicates that a PR is ready to be merged. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. release-note Denotes a PR that will be considered when it comes time to generate release notes. sig/apps Categorizes an issue or PR as relevant to SIG Apps. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. sig/auth Categorizes an issue or PR as relevant to SIG Auth. sig/autoscaling Categorizes an issue or PR as relevant to SIG Autoscaling. sig/cli Categorizes an issue or PR as relevant to SIG CLI. sig/cloud-provider Categorizes an issue or PR as relevant to SIG Cloud Provider. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. sig/instrumentation Categorizes an issue or PR as relevant to SIG Instrumentation. sig/network Categorizes an issue or PR as relevant to SIG Network. sig/node Categorizes an issue or PR as relevant to SIG Node. sig/release Categorizes an issue or PR as relevant to SIG Release. sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling. sig/storage Categorizes an issue or PR as relevant to SIG Storage. sig/testing Categorizes an issue or PR as relevant to SIG Testing. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. triage/accepted Indicates an issue or PR is ready to be actively worked on. wg/structured-logging Categorizes an issue or PR as relevant to WG Structured Logging.
Development

Successfully merging this pull request may close these issues.

None yet