Skip to content

Add Alpine Linux Support to CI Pipeline - #66

Merged
Goldziher merged 8 commits into
xberg-io:mainfrom
cleiton-kiper-tm:main
Nov 18, 2025
Merged

Add Alpine Linux Support to CI Pipeline#66
Goldziher merged 8 commits into
xberg-io:mainfrom
cleiton-kiper-tm:main

Conversation

@cleiton-kiper-tm

Copy link
Copy Markdown
Contributor

Summary

This PR adds Alpine Linux support to the CI pipeline, allowing wheels to be built and tested for Alpine-based distributions.

What Was Added

Alpine Linux Support

  • Added build-wheel-alpine job to build wheels for Alpine Linux (musl libc)
  • Added test-wheel-alpine job to test Alpine wheels across Python 3.10-3.13
  • Updated setup.py to detect Alpine Linux and use musllinux_1_2_{arch} platform tag (PEP 656 compliant)

Code Improvements

  • Created reusable .github/actions/test-wheel action to centralize wheel testing logic
  • Fixed incomplete build-wheels job in build_and_publish.yaml by adding missing build steps
  • Standardized uv installation across all build jobs using astral-sh/setup-uv@v5

Changes

  • .github/workflows/ci.yaml: Added Alpine build and test jobs
  • .github/workflows/build_and_publish.yaml: Completed build-wheels job and standardized uv installation
  • .github/actions/*: New reusable actions
  • setup.py: Added Alpine detection and musllinux platform tag support

cleiton-kiper-tm and others added 8 commits November 17, 2025 21:58
- Add Alpine Linux wheel building and testing
- Create reusable test-wheel action
- Fix incomplete build-wheels job
- Standardize uv installation across all jobs
- Add musllinux platform tag support for Alpine wheels
- Add build-wheel-alpine job to build wheels for Alpine Linux
- Add test-wheel-alpine job to test Alpine wheels
- Create reusable test-wheel action to reduce code duplication
- Refactor test jobs to use the new reusable action
- Add recursive search for wheel files when dist directory is not found
- Add debug logging to help diagnose artifact extraction issues
- Fix Alpine wheel testing by searching in all directories
- Detect Alpine Linux by checking /etc/alpine-release
- Use linux_musl_{arch} tag for Alpine wheels instead of manylinux2014
- Add debug output to show built wheel filenames
- Fixes wheel compatibility issue when testing on Alpine Linux
- Change from linux_musl_{arch} to musllinux_1_2_{arch} tag format
- Update pip before installing wheels to ensure musllinux tag support
- Fixes pip compatibility issue when installing Alpine wheels
- Fix trailing whitespace detected by pre-commit hook
- Add missing build steps to build-wheels job (was incomplete)
- Use astral-sh/setup-uv@v5 instead of pip install uv for Alpine
- Standardize uv installation across all build jobs
- Use reusable build-wheel action for consistency
- Remove echo statements and directory listings from test-wheel action
- Remove wheel listing debug output from build-wheel action
- Keep essential error messages for troubleshooting
@Goldziher
Goldziher merged commit 6737548 into xberg-io:main Nov 18, 2025
26 checks passed
@cleiton-kiper-tm

cleiton-kiper-tm commented Nov 19, 2025

Copy link
Copy Markdown
Contributor Author

@Goldziher Could you deploy a new release with this change?

@Goldziher

Copy link
Copy Markdown
Member

sure

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

Successfully merging this pull request may close these issues.

2 participants