Skip to content

Fix cmake version

Fix cmake version #215

Workflow file for this run

name: Build and upload to PyPI
on:
push:
# tags:
# - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
# release:
# types:
# - [published]
jobs:
build_wheels:
name: Build wheels on ${{ matrix.os }} ${{ matrix.arch }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: windows-2019
submodules_mode: true
cibw_archs_windows: AMD64
cibw_environment: APNGASM_COMPILE_TARGET=x86_64
- os: windows-2019
submodules_mode: true
cibw_archs_windows: x86
cibw_environment: APNGASM_COMPILE_TARGET=x86
- os: windows-2019
submodules_mode: true
cibw_archs_windows: ARM64
cibw_environment: APNGASM_COMPILE_TARGET=armv8
- os: macos-11
submodules_mode: true
cibw_archs_macos: x86_64
cibw_environment: >
APNGASM_COMPILE_TARGET=x86_64
_PYTHON_HOST_PLATFORM=macosx-10.15-x86_64
MACOSX_DEPLOYMENT_TARGET=10.15
- os: macos-11
submodules_mode: true
cibw_archs_macos: arm64
cibw_environment: >
APNGASM_COMPILE_TARGET=armv8
_PYTHON_HOST_PLATFORM=macosx-11.0-arm64
MACOSX_DEPLOYMENT_TARGET=11.0
- os: macos-11
submodules_mode: true
cibw_archs_macos: universal2
cibw_environment: >
APNGASM_COMPILE_TARGET=universal2
_PYTHON_HOST_PLATFORM=macosx-11.0-universal2
MACOSX_DEPLOYMENT_TARGET=11.0
- os: ubuntu-20.04
submodules_mode: true
cibw_archs_linux: x86_64
cibw_environment: APNGASM_COMPILE_TARGET=x86_64
- os: ubuntu-20.04
submodules_mode: true
cibw_archs_linux: i686
cibw_environment: APNGASM_COMPILE_TARGET=x86
- os: ubuntu-20.04
submodules_mode: true
cibw_archs_linux: aarch64
cibw_skip: "*-muslinux_* pp*"
cibw_environment: APNGASM_COMPILE_TARGET=armv8
# - os: ubuntu-20.04
# submodules_mode: true
# cibw_archs_linux: aarch64
# cibw_skip: "*-multilinux_* pp*"
# cibw_environment: APNGASM_COMPILE_TARGET=armv8
# - os: ubuntu-20.04
# submodules_mode: true
# cibw_archs_linux: aarch64
# cibw_skip: "*-muslinux_* *-multilinux_*"
# cibw_environment: APNGASM_COMPILE_TARGET=armv8
# - os: ubuntu-20.04
# submodules_mode: true
# cibw_archs_linux: ppc64le
# cibw_skip: "*-muslinux_*"
# cibw_environment: APNGASM_COMPILE_TARGET=ppc64le
# - os: ubuntu-20.04
# submodules_mode: true
# cibw_archs_linux: ppc64le
# cibw_skip: "*-multilinux_*"
# cibw_environment: APNGASM_COMPILE_TARGET=ppc64le
# - os: ubuntu-20.04
# submodules_mode: true
# cibw_archs_linux: s390x
# cibw_skip: "*-muslinux_*"
# cibw_environment: APNGASM_COMPILE_TARGET=s390x
# - os: ubuntu-20.04
# submodules_mode: true
# cibw_archs_linux: s390x
# cibw_skip: "*-multilinux_*"
# cibw_environment: APNGASM_COMPILE_TARGET=s390x
steps:
- uses: actions/checkout@v3
with:
submodules: ${{ matrix.submodules_mode }} # If build with vcpkg, no need boost
- name: Set up QEMU
if: runner.os == 'Linux'
uses: docker/setup-qemu-action@v2
with:
platforms: all
- name: Build wheels
uses: pypa/[email protected]
env:
CIBW_BUILD_FRONTEND: build
CIBW_ARCHS_WINDOWS: ${{ matrix.cibw_archs_windows }}
CIBW_ARCHS_MACOS: ${{ matrix.cibw_archs_macos }}
CIBW_ARCHS_LINUX: ${{ matrix.cibw_archs_linux }}
CIBW_BEFORE_ALL: ${{ matrix.cibw_before_all }}
CIBW_ENVIRONMENT: PY_BUILD_CMAKE_VERBOSE=1 ${{ matrix.cibw_environment }}
CIBW_SKIP: cp36* cp37* pp37* ${{ matrix.cibw_skip }}
- uses: actions/upload-artifact@v3
with:
path: ./wheelhouse/*.whl
build_sdist:
name: Build source distribution
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Build sdist
run: pipx run build --sdist
- uses: actions/upload-artifact@v3
with:
path: dist/*.tar.gz
# upload_pypi_test:
# needs: [build_wheels, build_sdist]
# runs-on: ubuntu-latest
# steps:
# - uses: actions/download-artifact@v3
# with:
# # unpacks default artifact into dist/
# # if `name: artifact` is omitted, the action will create extra parent dir
# name: artifact
# path: dist
# - uses: pypa/[email protected]
# with:
# user: __token__
# password: ${{ secrets.TEST_PYPI_API_TOKEN }}
# repository_url: https://test.pypi.org/legacy/
# upload_pypi:
# needs: [build_wheels, build_sdist]
# runs-on: ubuntu-latest
# steps:
# - uses: actions/download-artifact@v3
# with:
# # unpacks default artifact into dist/
# # if `name: artifact` is omitted, the action will create extra parent dir
# name: artifact
# path: dist
# - uses: pypa/[email protected]
# with:
# user: __token__
# password: ${{ secrets.PYPI_API_TOKEN }}