Skip to content

Support for ARM runners #356

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

Open
Tenzer opened this issue May 7, 2025 · 5 comments
Open

Support for ARM runners #356

Tenzer opened this issue May 7, 2025 · 5 comments

Comments

@Tenzer
Copy link

Tenzer commented May 7, 2025

The action currently fails to run on the ARM runners GitHub have made available because the Docker image used for releases only is available for the linux/amd64 architecture.

Would it be possible to add support for linux/arm64 as well, please?

It looks like https://github.com/pypa/gh-action-pypi-publish/blob/HEAD/.github/workflows/build-and-push-docker-image.yml is what needs to be edited to accomplish this.

That workflow could potentially be changed to make use of some of the existing actions available for building Docker images, such as what I use here: https://github.com/Tenzer/dockerfiles/blob/main/.github/workflows/uwsgi-werkzeug-echo.yml. I don't know if that would be appreciated or not.

@webknjaz
Copy link
Member

webknjaz commented May 7, 2025

This would increase the support surface area and maintenance burden related to it. So I'm not sure I want to do this.

What's the motivation here, anyway? I noticed that most unusual requests are coming from people refusing to follow the documented and supported way of using the action.

@Tenzer
Copy link
Author

Tenzer commented May 7, 2025

What's the motivation here, anyway?

To be able to run all our CI workflows on the cheaper ARM runners.

I noticed that most unusual requests are coming from people refusing to follow the documented and supported way of using the action.

I don't think it's documented anywhere that this action only works on the x86/amd64 architecture?

My reason for making this issue was also to let you know that ARM runners now is a thing, and due to how this action is made, it won't work on them out of the box, unlike most other actions available.

@2bndy5
Copy link

2bndy5 commented May 14, 2025

The docker requirement might be circumvented with a dedicated venv (possibly using uv to init/activate the venv) and migrating to a composite action.

unlike most other actions available

This phrase implies presumptions (👎🏼). I suspect any action using a docker container, especially using custom docker images like this one, would have similar problems. And, a lot of actions use docker containers if they are not driven by JS/TS.

Composite actions were introduced to bypass the limitations of docker containers' isolation (and more).

@Tenzer
Copy link
Author

Tenzer commented May 14, 2025

unlike most other actions available

This phrase implies presumptions (👎🏼). I suspect any action using a docker container, especially using custom docker images like this one, would have similar problems. And, a lot of actions use docker containers if they are not driven by JS/TS.

I just migrated all our workflows to run on ARM runners, and this was the only action that wasn't compatible with them.

@webknjaz
Copy link
Member

Yep. Docker is only available on GNU/Linux runners.
The supported VMs are mentioned @ https://github.com/marketplace/actions/pypi-publish#Non-goals. For many reasons, I'm not open to changing the architecture in here, in particular, that would be encouraging poor security practices. It's currently composite+docker+python.
The only thing I haven't yet considered is supporting ubuntu-24.04-arm. The currently supported image is ubuntu-latest and two steps — download+publish.

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

No branches or pull requests

3 participants