Skip to content

CI / release: Linux wheels: dependency on ziglang? #312

Description

@jayaddison

During the GitHub Actions CI build of ua-parser-rs wheels for linux systems, the PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad action is called with the --zig option enabled:

case 'linux':
job['manylinux'] = 'auto'
job['args'] = ' --zig'

I think that's a legacy factor, resulting from the port of the wheel publication code from the uap-rust repository.

Is ziglang required for the wheel builds here? If so, I think it could help to declare the dependency more clearly; and if not, then I think that option should probably be removed.

(NB: as far as I can tell, that version of maturin-action will proceed without an error if ziglang is unavailable when requested)

Edit: markdown syntax fixup

Activity

  1. masklinn commented on Apr 8, 2026

    @masklinn
    Contributor

    I don't think it's necessary anymore, I believe I added it at the start because I was cross-compiling, but it didn't really work right and then the ARM64 windows and linux builders became available to free repositories so I switched over to that (ua-parser/uap-rust@2a0a85c). I either didn't think of removing it, or figured it couldn't hurt, couldn't tell you.

    Does it cause problems?

    NB: as far as I can tell, that version of maturin-action will proceed without an error if ziglang is unavailable when requested

    If it's unavailable yes, but it doesn't need to be installed separately, maturin will install zig if available for the platform: https://github.com/ua-parser/uap-python/actions/runs/24009038924/job/70017466074#step:5:43

  2. jayaddison commented on Apr 9, 2026

    @jayaddison
    ContributorAuthor

    It's not causing any problems as far as I know, no - it stood out when I was inspecting the diff from 1.0.1...1.0.2 here.

    I attempted a build of ua-parser-rs in this repository without ziglang installed, and that succeeded, so maybe it is unused?

  3. jayaddison commented on May 8, 2026

    @jayaddison
    ContributorAuthor

    @masklinn would you accept a pull request to remove the --zig build argument?

  4. masklinn commented on May 8, 2026

    @masklinn
    Contributor

    sure.

  5. jayaddison commented on May 11, 2026

    @jayaddison
    ContributorAuthor

    After learning more in #315 -- and reading the maturin documentation -- I now think that Zig is used to support cross-platform manylinux Python wheel builds, providing an alternative to Docker-based wheel builds.

  6. masklinn commented on May 12, 2026

    @masklinn
    Contributor

    Closing for the reason noted above, turns out --zig is apparently of use.

  7. added a commit that references this issue on May 27, 2026
    6dd8c39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions