fixes #434 -- build pypy manylinux wheels (#436)

This commit is contained in:
Alex Gaynor 2022-10-07 17:47:30 -05:00 committed by GitHub
parent fa58244234
commit a9daceec8b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 37 additions and 10 deletions

View File

@ -7,6 +7,12 @@ on:
version:
description: The version to build
required: false
pull_request:
paths:
- .github/workflows/wheel-builder.yml
- setup.py
- setup.cfg
- pyproject.toml
jobs:
@ -15,14 +21,25 @@ jobs:
strategy:
matrix:
PYTHON:
- {VERSION: "cp36-cp36m", ABI_VERSION: 'cp36'}
CONTAINER:
- {IMAGE: "cryptography-manylinux2014:x86_64", NAME: "manylinux2014"}
- {IMAGE: "cryptography-manylinux_2_24:x86_64", NAME: "manylinux_2_24"}
- {IMAGE: "cryptography-manylinux_2_28:x86_64", NAME: "manylinux_2_28"}
- {IMAGE: "cryptography-musllinux_1_1:x86_64", NAME: "musllinux_1_1"}
name: "${{ matrix.PYTHON.ABI_VERSION }} ${{ matrix.CONTAINER.NAME }}"
container: ghcr.io/pyca/${{ matrix.CONTAINER.IMAGE }}
- { VERSION: "cp36-cp36m", ABI_VERSION: 'cp36' }
- { VERSION: "pp37-pypy37_pp73" }
- { VERSION: "pp38-pypy38_pp73" }
- { VERSION: "pp39-pypy39_pp73" }
MANYLINUX:
- { CONTAINER: "cryptography-manylinux2014:x86_64", NAME: "manylinux2014" }
- { CONTAINER: "cryptography-manylinux_2_24:x86_64", NAME: "manylinux_2_24" }
- { CONTAINER: "cryptography-manylinux_2_28:x86_64", NAME: "manylinux_2_28" }
- { CONTAINER: "cryptography-musllinux_1_1:x86_64", NAME: "musllinux_1_1" }
exclude:
# There are no readily available musllinux PyPy distributions
- PYTHON: { VERSION: "pp37-pypy37_pp73" }
MANYLINUX: { NAME: "musllinux_1_1", CONTAINER: "cryptography-musllinux_1_1:x86_64" }
- PYTHON: { VERSION: "pp38-pypy38_pp73" }
MANYLINUX: { NAME: "musllinux_1_1", CONTAINER: "cryptography-musllinux_1_1:x86_64"}
- PYTHON: { VERSION: "pp39-pypy39_pp73" }
MANYLINUX: { NAME: "musllinux_1_1", CONTAINER: "cryptography-musllinux_1_1:x86_64"}
name: "${{ matrix.PYTHON.VERSION }} for ${{ matrix.MANYLINUX.NAME }}"
container: ghcr.io/pyca/${{ matrix.MANYLINUX.CONTAINER }}
steps:
- uses: actions/checkout@v3.1.0
with:
@ -34,7 +51,12 @@ jobs:
- name: Make sdist
run: .venv/bin/python setup.py sdist
- run: tar zxvf dist/bcrypt*.tar.gz && mkdir tmpwheelhouse
- run: cd bcrypt* && ../.venv/bin/python setup.py bdist_wheel --py-limited-api=${{ matrix.PYTHON.ABI_VERSION }} && mv dist/bcrypt*.whl ../tmpwheelhouse
- name: Build the wheel
run: |
if [ -n "${{ matrix.PYTHON.ABI_VERSION }}" ]; then
PY_LIMITED_API="--py-limited-api=${{ matrix.PYTHON.ABI_VERSION }}"
fi
cd bcrypt* && ../.venv/bin/python setup.py bdist_wheel $PY_LIMITED_API && mv dist/bcrypt*.whl ../tmpwheelhouse
env:
RUSTUP_HOME: /root/.rustup
- run: auditwheel repair tmpwheelhouse/bcrypt*.whl -w wheelhouse/
@ -46,7 +68,7 @@ jobs:
- run: mv wheelhouse/bcrypt*.whl bcrypt-wheelhouse/
- uses: actions/upload-artifact@v1
with:
name: "bcrypt-${{ github.event.inputs.version }}-${{ matrix.CONTAINER.NAME }} -${{ matrix.PYTHON.ABI_VERSION }}"
name: "bcrypt-${{ github.event.inputs.version }}-${{ matrix.MANYLINUX.NAME }} -${{ matrix.PYTHON.ABI_VERSION }}"
path: bcrypt-wheelhouse/
macos:

View File

@ -51,6 +51,11 @@ While bcrypt remains an acceptable choice for password storage, depending on you
Changelog
=========
4.1.0
-----
* We now build PyPy ``manylinux`` wheels.
4.0.0
-----