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

Provide manylinux aarch64 pip package #455

Closed
diegorusso opened this issue Jan 17, 2025 · 4 comments · Fixed by #457
Closed

Provide manylinux aarch64 pip package #455

diegorusso opened this issue Jan 17, 2025 · 4 comments · Fixed by #457
Assignees
Labels
packaging Packaging of zizmor in various ecosystems

Comments

@diegorusso
Copy link

Hello,

is it possible to start publishing aarch64 manylinux pip packages?
I see there is the musllinux variant but not the manylinux for aarch64.

Our CI started failing on aarch64 because when pre-commit installs zizmor, it tries to compile from scratch

pre-commit run --show-diff-on-failure --all-files
 [INFO] Initializing environment for https://github.com/astral-sh/ruff-pre-commit.
 [INFO] Initializing environment for https://github.com/psf/black-pre-commit-mirror.
 [INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks.
 [INFO] Initializing environment for https://github.com/python-jsonschema/check-jsonschema.
 [INFO] Initializing environment for https://github.com/rhysd/actionlint.
 [INFO] Initializing environment for https://github.com/woodruffw/zizmor-pre-commit.
 [INFO] Initializing environment for https://github.com/sphinx-contrib/sphinx-lint.
 [INFO] Installing environment for https://github.com/astral-sh/ruff-pre-commit.
 [INFO] Once installed this environment will be reused.
 [INFO] This may take a few minutes...
 [INFO] Installing environment for https://github.com/psf/black-pre-commit-mirror.
 [INFO] Once installed this environment will be reused.
 [INFO] This may take a few minutes...
 [INFO] Installing environment for https://github.com/pre-commit/pre-commit-hooks.
 [INFO] Once installed this environment will be reused.
 [INFO] This may take a few minutes...
 [INFO] Installing environment for https://github.com/python-jsonschema/check-jsonschema.
 [INFO] Once installed this environment will be reused.
 [INFO] This may take a few minutes...
 [INFO] Installing environment for https://github.com/rhysd/actionlint.
 [INFO] Once installed this environment will be reused.
 [INFO] This may take a few minutes...
 [INFO] Installing environment for https://github.com/woodruffw/zizmor-pre-commit.
 [INFO] Once installed this environment will be reused.
 [INFO] This may take a few minutes...
 An unexpected error has occurred: CalledProcessError: command: ('/home/ent-user/.cache/pre-commit/repomlt_w_tk/py_env-python3.12/bin/python', '-mpip', 'install', '.')
 return code: 1
 stdout:
     Processing /home/ent-user/.cache/pre-commit/repomlt_w_tk
       Installing build dependencies: started
       Installing build dependencies: finished with status 'done'
       Getting requirements to build wheel: started
       Getting requirements to build wheel: finished with status 'done'
       Preparing metadata (pyproject.toml): started
       Preparing metadata (pyproject.toml): finished with status 'done'
     Collecting zizmor==0.8.0 (from zizmor-pre-commit==0.0.0)
       Downloading zizmor-0.8.0.tar.gz (173 kB)
       Installing build dependencies: started
       Installing build dependencies: finished with status 'done'
       Getting requirements to build wheel: started
       Getting requirements to build wheel: finished with status 'done'
       Preparing metadata (pyproject.toml): started
       Preparing metadata (pyproject.toml): finished with status 'error'
 stderr:
       error: subprocess-exited-with-error
       
       × Preparing metadata (pyproject.toml) did not run successfully.
       │ exit code: 1
       ╰─> [6 lines of output]
           
           Cargo, the Rust package manager, is not installed or is not on PATH.
           This package requires Rust and Cargo to compile extensions. Install it through
           the system's package manager or via https://rustup.rs/
           
           Checking for Rust toolchain....
           [end of output]
       
       note: This error originates from a subprocess, and is likely not a problem with pip.
     error: metadata-generation-failed
     
     × Encountered error while generating package metadata.
     ╰─> See above for output.
     
     note: This is an issue with the package mentioned above, not pip.
     hint: See above for details.

I guess this is also very good timing :)

https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/

Thanks!

@woodruffw
Copy link
Owner

woodruffw commented Jan 17, 2025

Thanks for the report @diegorusso! Yeah, publishing aarch64 manylinux wheels is something I plan on doing now that GitHub has free hosted runners for it.

(I've always been a little bit confused about why pip doesn't allow musllinux tags to be resolved on glibc hosts, however -- my maybe incorrect understanding is that musllinux-built wheels are statically linked, so they should always run fine on glibc hosts. But maybe that's wrong.) Edit: this is completely wrong, they're dynamically linked just like manylinux.

@woodruffw woodruffw added the packaging Packaging of zizmor in various ecosystems label Jan 17, 2025
@woodruffw woodruffw self-assigned this Jan 17, 2025
@diegorusso
Copy link
Author

Great to hear that you plan to publish it! I'll follow the issue! Thanks

@woodruffw
Copy link
Owner

Done with #457 -- the next release will include aarch64 manylinux builds. Thanks for bringing this to my attention @diegorusso!

@diegorusso
Copy link
Author

Thanks for being so responsive!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
packaging Packaging of zizmor in various ecosystems
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants