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

ETCD has not been building artefacts for darwin/arm64 to support Apple Silicon #14001

Closed
Tracked by #14138
camilamacedo86 opened this issue Apr 30, 2022 · 21 comments
Closed
Tracked by #14138

Comments

@camilamacedo86
Copy link

camilamacedo86 commented Apr 30, 2022

What happened?

We would like to be able to download binaries for the architecture darwin/arm64:

curl -sLO https://github.com/coreos/etcd/releases/download/${ETCD_VERSION}/${ETCD_BASE_NAME}.zip

Such as etcd-v3.5.1-darwin-arm64.zip.

What did you expect to happen?

ETCD produces artefacts for this platform and architecture so that we can begin to consume it.

How can we reproduce it (as minimally and precisely as possible)?

curl -sLO https://github.com/coreos/etcd/releases/download/3.5.1/etcd-v3.5.1-darwin-arm64.zip

@camilamacedo86
Copy link
Author

I can see that the arm64 for mac os was added.
So, we would need to have a new build and then it would be solved:
https://github.com/etcd-io/etcd/blob/main/.github/workflows/build.yaml#L13

Could we do the release?

@camilamacedo86
Copy link
Author

@ serathius, @ahrtr could you help out?

@ahrtr
Copy link
Member

ahrtr commented Apr 30, 2022

I don't think ARM64 + Darwin is supported. FYI Current support

cc @serathius @ptabor @spzala

@ahrtr ahrtr removed the type/bug label May 1, 2022
@camilamacedo86
Copy link
Author

camilamacedo86 commented May 3, 2022

Hi @ahrtr ,

The goal of this issue is to ask for the darwin/arm64 bin to begin to be built.
Also, I can see that it was added here : https://github.com/etcd-io/etcd/blob/main/.github/workflows/build.yaml#L12-L13

So, probably we are missing a new release?
cc @serathius @ptabor @spzala

@spzala
Copy link
Member

spzala commented May 10, 2022

@camilamacedo86 here is a related discussion on initial projected support, #13545 Our previous release managers are not so active lately, and @serathius is working on simplifying and improving the process. I believe the future release assets should have binaries that you asking for, but I will wait on him for a better answer. Thanks!

@camilamacedo86
Copy link
Author

camilamacedo86 commented May 10, 2022

Hi @spzala,

Thank you a lot for your attention and time.
We had a release 17 days ago: https://github.com/etcd-io/etcd/releases/tag/v3.5.4
So, it seems that we are still missing something to have this bin or we just do not add to the release the arm64 bin.

@serathius is working on simplifying and improving the process

Thank you @serathius 🥇

@camilamacedo86
Copy link
Author

camilamacedo86 commented May 29, 2022

Hi @spzala,

Any change on this one?
Do you think that we could have this bin?
Has something that we can do to help?

@ghost
Copy link

ghost commented Jun 5, 2022

Building 3.5.4 seems to work on darwin-arm64 for me. The build.yaml could just create/update releases when tags are pushed. Depending on which action is used, there is more or less flexibility. The one in my example seems good enough if you want to automate filling in release details.

Example build.yaml:
https://github.com/UniversalShipping/etcd/blob/730f3ec0c2be23838f8a5bf207d1b4d977039cfa/.github/workflows/build.yaml

Results: https://github.com/UniversalShipping/etcd/releases

@serathius / @hexfusion would be desirable over manually pushing these?

@camilamacedo86
Copy link
Author

camilamacedo86 commented Jun 7, 2022

@protosam that would be very helpful. Could you please add it to the releases page as etcd-v3.5.4-darwin-arm64.zip so that we can download it with curl -sLO https://github.com/coreos/etcd/releases/download/${ETCD_VERSION}/${ETCD_BASE_NAME}.zip from 3.5.4 ?

`

@serathius
Copy link
Member

@protosam Automating etcd releases is a great idea, however it's a little bit complicated. Etcd release process has additional steps over just building images, for example all binaries need to be signed by on one of the maintainers. Instead of scripts/build.sh we run scripts/release.sh.

I'm not saying that we shouldn't do it, it's just more effort. Work is tracked in #13980, please let me know if you want to help.

@serathius
Copy link
Member

@camilamacedo86 I will be looking into making sure that darwin/arm64 is included in next v3.5.5 release expected within weeks.

@camilamacedo86
Copy link
Author

camilamacedo86 commented Jun 8, 2022

Thank @serathius that would be too much helpful. See that a lot of users have been asked for that, We have 28 votes to support Apple Silicon (kubernetes-sigs/kubebuilder#1932) and I never so an RFE so much voted in kubeuilder. Also, we have more than 10 votes for we provide the kubebuilder tools with this binary which is required for Operator authors who are looking to test their solutions with ENVTEST provided by controller runtime.

That is a high priority for us and your help by adding the zip manually would be great since that is the only thing that we have been missing to accomplish that and it is the cleanest/easier solution so far.

@camilamacedo86
Copy link
Author

@serathius could we just manually add the zip for now on the latest one v3.5.4: https://github.com/etcd-io/etcd/releases/tag/v3.5.4? So that the next one is generated automatically?

@serathius
Copy link
Member

Due to lack of testing we dropped official support for ARM64. https://etcd.io/docs/v3.6/op-guide/supported-platform/

I can send a PR that would backport #13545 to release-3.5, however want to make sure we are consistent with other platforms. Technically we still build and publish images for windows-amd64 and darvin-amd64, so it's not unusual.

What's your opinion @ptabor @ahrtr @spzala ?

@spzala
Copy link
Member

spzala commented Sep 7, 2022

@serathius thanks, sounds good to backport and continue support as tier 3.

@ahrtr
Copy link
Member

ahrtr commented Sep 7, 2022

Agreed, it's OK to support it as tier 3, since it's clearly requested by some people. cc @dims

@dims
Copy link
Contributor

dims commented Sep 7, 2022

thanks @serathius @spzala @ahrtr

@serathius
Copy link
Member

Was released in v3.5.5

@dims
Copy link
Contributor

dims commented Sep 15, 2022

thanks a ton @serathius !

@wuhuizuo
Copy link

Will it back port to release 3.4?

wuhuizuo added a commit to PingCAP-QE/artifacts that referenced this issue Feb 22, 2024
It supports darwin arm64 buiding from v3.5.5 by etcd-io office source.

Ref: etcd-io/etcd#14001
Signed-off-by: wuhuizuo <wuhuizuo@126.com>
wuhuizuo added a commit to PingCAP-QE/artifacts that referenced this issue Feb 22, 2024
It supports darwin arm64 buiding from v3.5.5 by etcd-io office source.

Ref: etcd-io/etcd#14001
Signed-off-by: wuhuizuo <wuhuizuo@126.com>
ti-chi-bot bot pushed a commit to PingCAP-QE/artifacts that referenced this issue Feb 22, 2024
It supports darwin arm64 buiding from v3.5.5 by etcd-io office source.

Ref: etcd-io/etcd#14001
Signed-off-by: wuhuizuo <wuhuizuo@126.com>

---------

Signed-off-by: wuhuizuo <wuhuizuo@126.com>
@jmhbnz
Copy link
Member

jmhbnz commented Feb 22, 2024

Will it back port to release 3.4?

Hey @wuhuizuo, thanks for your question. The short answer is no.

The etcd project has tier 1 support for arm64 from release-3.5 onward (refer announcement).

To the best of my knowledge it is not a priority for the project to try to get release-3.4 to tier 1 support for arm64. We have very little capacity currently and must stay focused on our roadmap priorities.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

7 participants