-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Add ARM64 build targets for kops and nodeup #8922
Conversation
This looks great. It would be great to rationalize some of the makefile tasks (I think we have bazel and non-bazel versions for everything!), but I agree with just adding arm64 and not trying to tackle that at the same time. I'm going to mark this for 1.19, as I worry that e.g. changing the path to nodeup will break some things, and we're about to cut 1.18. This seems like a good reason to create the 1.18 branch also! |
Thanks @justinsb, sounds good to be a feature for 1.19! |
be22ac3
to
cc48042
Compare
/retest |
/assign @justinsb |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: hakman, rifelpet 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 |
@@ -216,8 +216,19 @@ ${DIST}/linux/amd64/nodeup: ${BINDATA_TARGETS} | |||
mkdir -p ${DIST} | |||
GOOS=linux GOARCH=amd64 go build ${GCFLAGS} -a ${EXTRA_BUILDFLAGS} -o $@ ${LDFLAGS}"${EXTRA_LDFLAGS} -X k8s.io/kops.Version=${VERSION} -X k8s.io/kops.GitVersion=${GITSHA}" k8s.io/kops/cmd/nodeup | |||
|
|||
.PHONY: ${DIST}/linux/arm64/nodeup |
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.
Not actually phony.
@@ -239,14 +258,18 @@ ${DIST}/linux/amd64/kops: ${BINDATA_TARGETS} | |||
mkdir -p ${DIST} | |||
GOOS=linux GOARCH=amd64 go build ${GCFLAGS} -a ${EXTRA_BUILDFLAGS} -o $@ ${LDFLAGS}"${EXTRA_LDFLAGS} -X k8s.io/kops.Version=${VERSION} -X k8s.io/kops.GitVersion=${GITSHA}" k8s.io/kops/cmd/kops | |||
|
|||
.PHONY: ${DIST}/linux/arm64/kops |
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.
Not phony
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.
Some cleanup in the "phony" area would be nice also. Kept it similar to the similar targets for now.
@@ -229,6 +240,14 @@ crossbuild-nodeup-in-docker: | |||
docker kill nodeup-build-${UNIQUE} | |||
docker rm nodeup-build-${UNIQUE} | |||
|
|||
.PHONY: nodeup-dist | |||
nodeup-dist: crossbuild-nodeup-in-docker | |||
mkdir -p ${DIST} |
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.
Wouldn't cross-build-nodeup-in-docker have created ${DIST}
? Otherwise where does ${DIST}/linux/amd64/nodeup
come from?
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 agree, this is pretty much not needed. I think it was copy/paste. In any case, seems that there are some more places where mkdirs would not be needed. Some cleanup will be nice.
mkdir -p ${UPLOAD}/kops/${VERSION}/darwin/amd64/ | ||
mkdir -p ${UPLOAD}/kops/${VERSION}/images/ | ||
mkdir -p ${UPLOAD}/utils/${VERSION}/linux/amd64/ |
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.
Looks like some of the utils.tar.gz-removal PR sneaked in here.
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.
That this was not actually used:
Lines 321 to 323 in fecec5a
cp ${DIST}/linux/amd64/utils.tar.gz ${UPLOAD}/kops/${VERSION}/linux/amd64/utils.tar.gz | |
cp ${DIST}/linux/amd64/utils.tar.gz.sha1 ${UPLOAD}/kops/${VERSION}/linux/amd64/utils.tar.gz.sha1 | |
cp ${DIST}/linux/amd64/utils.tar.gz.sha256 ${UPLOAD}/kops/${VERSION}/linux/amd64/utils.tar.gz.sha256 |
@johngmyers any thoughts on trying to remove the |
I've been thinking of ripping out the |
There shouldn't be anything downstream that cares about the upstream build files, but we can bring it up during office hours. |
Adding the ARM64 build targets for kops and nodeup to see how build and CI is behaving.
This should be merged first to avoid issue with ARM64 assets not being found by
kops apply cluster
.