jenkins-x / jx

Jenkins X provides automated CI+CD for Kubernetes with Preview Environments on Pull Requests using Cloud Native pipelines from Tekton
https://jenkins-x.io/
Apache License 2.0
4.57k stars 787 forks source link

Mac m1 arm binary #8067

Open jotka opened 2 years ago

jotka commented 2 years ago

how is it possible you don't have m1 arm binary in releases?

tomhobson commented 2 years ago

Hey, thanks for the issue. This is a good point and we should certainly do it.

I'll have a look at the options for building the binaries

luctrate commented 2 years ago

Thanks, now there appears to be a darwin arm release. "jx-darwin-arm64.tar.gz" And it works. But most plugins dont have one right now, which will lead to errors like jx health status ERROR: failed to install binary plugin jx-health version 0.0.75 to /Users/steven/.jx3/plugins/bin: unable to locate binary for arm64 darwin for health

paweljankowski commented 2 years ago

Hey. Any progress?

aabhas-sao commented 2 years ago

Was investigating a little. So what I understood is we are using goreleaser to build and upload binaries with GitHub actions. Although jx repository and jx-preview repository have similar .goreleaser.yml file and workflow files jx builds binaries for darwin-arm64 as well but jx-preview doesn't but both build linux-arm64. Also I noticed that jx-health in jenkins-x-plugins org has no github actions file just .goreleaser.yml, so how are binaries pushed there automatically. cc: @ankitm123 @tomhobson

luctrate commented 2 years ago

@aabhas-sao I suspect it's because of the hard-coded go version within the make file that the darwin arm is not built by the go releaser. "GO_VERSION := $(shell $(GO) version | sed -e 's/^^0-9..*/\1/')" is from jenkins x cli make file, where it seems to work. https://github.com/jenkins-x/jx/blob/main/Makefile

Go Version and darwin arm support. https://github.com/goreleaser/goreleaser/issues/1952

I have created a PR to check. Pls have a look https://github.com/jenkins-x-plugins/jx-preview/pull/354

aabhas-sao commented 2 years ago

@luctrate yeah that might help. Nice job noticing it. Let's hope it works.

luctrate commented 2 years ago

@aabhas-sao Sadly it did not fix the issue. Another try, the goreleaser version was set to 0.155.0 within the github actions file. For jx parent its 1.4.1 https://github.com/jenkins-x/jx/blob/main/.github/workflows/jenkins-x-release.yaml

Please check. https://github.com/jenkins-x-plugins/jx-preview/pull/356

aabhas-sao commented 2 years ago

@luctrate nice work. It worked. Now we can update other plugins as well.