summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorMatt Davis <mrd@redhat.com>2022-06-29 14:14:10 -0700
committerMatt Davis <mrd@redhat.com>2022-06-29 14:14:10 -0700
commiteaa9538f4130d7953297e1926ec4c08bd6c8d9f0 (patch)
tree1cb58cb08e8ecf0dfcb8f59ff8ac63a6df6f7c8d /.github
parentddd56a92609eacd598cde41e4244b08722f01730 (diff)
downloadcffi-eaa9538f4130d7953297e1926ec4c08bd6c8d9f0.tar.gz
musllinux test updates and wheels, py3.11 beta wheels
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/ci.yaml41
1 files changed, 32 insertions, 9 deletions
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index b26dfec..d30f9b0 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -33,6 +33,7 @@ jobs:
- spec: cp38-manylinux_x86_64
- spec: cp39-manylinux_x86_64
- spec: cp310-manylinux_x86_64
+ - spec: cp311-manylinux_x86_64
- spec: cp27-manylinux_i686
cibw_version: cibuildwheel<2.0 # py2.7 is not supported on CIBW 2.0+
manylinux_img: manylinux1 # build really old Pythons on manylinux1
@@ -42,12 +43,20 @@ jobs:
- spec: cp38-manylinux_i686
- spec: cp39-manylinux_i686
- spec: cp310-manylinux_i686
+ - spec: cp311-manylinux_i686
+ - spec: cp39-musllinux_x86_64
+ - spec: cp310-musllinux_x86_64
+ - spec: cp311-musllinux_x86_64
+ - spec: cp39-musllinux_i686
+ - spec: cp310-musllinux_i686
+ - spec: cp311-musllinux_i686
steps:
- name: clone repo
uses: actions/checkout@v2
- name: build/test wheels
env:
+ CFLAGS: -Dffi_call=cffistatic_ffi_call # override name for ffi_call to break hard if we linked against someone else's libffi
CIBW_ARCHS_LINUX: auto
CIBW_BUILD: ${{ matrix.spec }}
CIBW_BEFORE_BUILD: |
@@ -55,19 +64,20 @@ jobs:
curl -L -O https://github.com/libffi/libffi/archive/v3.4.2.tar.gz && \
tar zxf v3.4.2.tar.gz && cd libffi-3.4.2 && \
./autogen.sh && \
- ./configure --without-gcc-arch --disable-docs && \
+ ./configure --without-gcc-arch --disable-docs --with-pic --enable-shared=no && \
make && \
make install && \
- ldconfig
- # TODO: update default to '' once CIBW 2.1.3 ships: https://github.com/pypa/cibuildwheel/pull/829
- CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.manylinux_img || 'manylinux2010' }}
- CIBW_MANYLINUX_I686_IMAGE: ${{ matrix.manylinux_img || 'manylinux2010' }}
+ ldconfig || true
+ CIBW_ENVIRONMENT_PASS_LINUX: CFLAGS # ensure that the build container can see our overridden build config
+ CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.manylinux_img || '' }}
+ CIBW_MANYLINUX_I686_IMAGE: ${{ matrix.manylinux_img || '' }}
+ CIBW_PRERELEASE_PYTHONS: 'True'
CIBW_TEST_REQUIRES: pytest
- CIBW_TEST_COMMAND: python -m pytest {project}/c {project}/testing
+ CIBW_TEST_COMMAND: PYTHONUNBUFFERED=1 python -m pytest {project}
run: |
python -m pip install --upgrade "${{ matrix.cibw_version || 'cibuildwheel' }}"
- # actually build libyaml + wheel (using env tweaks above)
+ # actually build libffi + wheel (using env tweaks above)
python -m cibuildwheel --output-dir dist .
@@ -94,6 +104,7 @@ jobs:
- spec: cp38-macosx_x86_64
- spec: cp39-macosx_x86_64
- spec: cp310-macosx_x86_64
+ - spec: cp311-macosx_x86_64
# build for arm64 under a hacked macOS 12 self-hosted x86_64-on-arm64 runner until arm64 is fully supported
# FIXME: ? cp38-macosx_arm64 requires special handling and fails some test_zdist tests under cibw 2.1.2, skip it (so Apple's XCode python3 won't have a wheel)
- spec: cp39-macosx_arm64
@@ -107,6 +118,14 @@ jobs:
runs_on: [self-hosted, macOS]
run_wrapper: arch -arm64 bash --noprofile --norc -eo pipefail {0}
sdkroot: macosx11.3
+
+ - spec: cp311-macosx_arm64
+ deployment_target: '11.0'
+ runs_on: [self-hosted, macOS]
+ run_wrapper: arch -arm64 bash --noprofile --norc -eo pipefail {0}
+ sdkroot: macosx11.3
+
+
steps:
- name: clone repo
uses: actions/checkout@v2
@@ -119,8 +138,9 @@ jobs:
- name: build/test wheels
env:
CIBW_BUILD: ${{ matrix.spec }}
+ CIBW_PRERELEASE_PYTHONS: 'True'
CIBW_TEST_REQUIRES: pytest
- CIBW_TEST_COMMAND: pip install pip --upgrade; cd {project}; pytest
+ CIBW_TEST_COMMAND: pip install pip --upgrade; cd {project}; PYTHONUNBUFFERED=1 pytest
run: |
if [[ -n "${{ matrix.deployment_target || '' }}" ]]
then
@@ -141,7 +161,7 @@ jobs:
if-no-files-found: error
windows:
- runs-on: windows-2016
+ runs-on: windows-2019
strategy:
matrix:
include:
@@ -152,6 +172,7 @@ jobs:
- spec: cp38-win_amd64
- spec: cp39-win_amd64
- spec: cp310-win_amd64
+ - spec: cp311-win_amd64
- spec: cp27-win32
cibw_version: cibuildwheel==1.10 # last release with proper py2.7 Windows support
- spec: cp36-win32
@@ -159,6 +180,7 @@ jobs:
- spec: cp38-win32
- spec: cp39-win32
- spec: cp310-win32
+ - spec: cp311-win32
steps:
- name: clone repo
uses: actions/checkout@v2
@@ -180,6 +202,7 @@ jobs:
- name: build/test wheels
env:
CIBW_BUILD: ${{ matrix.spec }}
+ CIBW_PRERELEASE_PYTHONS: 'True'
run: |
python -m pip install --upgrade pip
pip install "${{ matrix.cibw_version || 'cibuildwheel'}}"