Skip to content

[pre-commit.ci] pre-commit autoupdate #620

[pre-commit.ci] pre-commit autoupdate

[pre-commit.ci] pre-commit autoupdate #620

Workflow file for this run

name: manylinux
on: [push, pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref_name != 'master' }}
jobs:
cache_libs:
uses: ./.github/workflows/cache_libs.yml
secrets: inherit
manylinux:
needs: cache_libs
runs-on: ubuntu-latest
env:
LIBXML2_VERSION: ${{ needs.cache_libs.outputs.LIBXML2_VERSION }}
LIBXSLT_VERSION: ${{ needs.cache_libs.outputs.LIBXSLT_VERSION }}
strategy:
matrix:
python-abi: [cp39-cp39, cp310-cp310, cp311-cp311, cp312-cp312, cp313-cp313, cp314-cp314]
image:
- manylinux2014_x86_64
- manylinux_2_28_x86_64
- musllinux_1_2_x86_64
steps:
- uses: actions/checkout@v5.0.0
with:
fetch-depth: 0
- name: Cache [libs]
uses: actions/cache/restore@v4.3.0
with:
path: |
libs/*.xz
libs/*.gz
libs/*.zip
key: libs-${{ runner.os }}-${{ runner.arch }}-${{ env.LIBXML2_VERSION }}-${{ env.LIBXSLT_VERSION }}
# Keep this job on the host runner so JS-based actions (for example actions/cache)
# can run, then execute build/test inside the target manylinux/musllinux container.
- name: Build and test in container
env:
PYXMLSEC_STATIC_DEPS: true
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PY_ABI: ${{ matrix.python-abi }}
MANYLINUX_IMAGE: ${{ matrix.image }}
run: |
set -euxo pipefail
docker run --rm \
-v "$PWD:$PWD" \
-w "$PWD" \
-e GH_TOKEN \
-e PYXMLSEC_STATIC_DEPS \
-e PY_ABI \
-e MANYLINUX_IMAGE \
-e HOST_UID="$(id -u)" \
-e HOST_GID="$(id -g)" \
"quay.io/pypa/${MANYLINUX_IMAGE}" \
sh .github/scripts/manylinux_build_and_test.sh