Skip to content

Merge pull request #15 from tfmoraes/cython_compile #1

Merge pull request #15 from tfmoraes/cython_compile

Merge pull request #15 from tfmoraes/cython_compile #1

Workflow file for this run

name: Build
on: [push, pull_request]
jobs:
build_wheels:
name: Build wheel for cp${{ matrix.python }}-${{ matrix.platform_id }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
# Windows 64-bit
- os: windows-latest
python: 38
platform_id: win_amd64
- os: windows-latest
python: 39
platform_id: win_amd64
- os: windows-latest
python: 310
platform_id: win_amd64
- os: windows-latest
python: 311
platform_id: win_amd64
# Linux 64-bit
- os: ubuntu-latest
python: 38
platform_id: manylinux_x86_64
- os: ubuntu-latest
python: 39
platform_id: manylinux_x86_64
- os: ubuntu-latest
python: 310
platform_id: manylinux_x86_64
- os: ubuntu-latest
python: 311
platform_id: manylinux_x86_64
# macOS on Intel 64-bit
- os: macos-latest
python: 38
arch: x86_64
platform_id: macosx_x86_64
- os: macos-latest
python: 39
arch: x86_64
platform_id: macosx_x86_64
- os: macos-latest
python: 310
arch: x86_64
platform_id: macosx_x86_64
- os: macos-latest
python: 311
arch: x86_64
platform_id: macosx_x86_64
# macOS on Apple M1 64-bit
- os: macos-latest
python: 38
arch: arm64
platform_id: macosx_arm64
- os: macos-latest
python: 39
arch: arm64
platform_id: macosx_arm64
- os: macos-latest
python: 310
arch: arm64
platform_id: macosx_arm64
- os: macos-latest
python: 311
arch: arm64
platform_id: macosx_arm64
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: actions/setup-python@v4
name: Install Python host for cibuildwheel
with:
python-version: '3.9'
# Visual Studio
- name: Set up MSVC x64
if: matrix.platform_id == 'win_amd64'
uses: ilammy/msvc-dev-cmd@v1
- name: Installing Nasm win_amd64
if: matrix.platform_id == 'win_amd64'
run: |
choco install --no-progress -y nasm
- name: Installing Nasm win32
if: matrix.platform_id == 'win32'
run: |
choco install --no-progress -y --x86 nasm
- name: Set Path win32
if: matrix.platform_id == 'win32'
shell: bash
run: |
echo "C:\Program Files (x86)\NASM" >> $GITHUB_PATH
- name: Set Path win_amd64
if: matrix.platform_id == 'win_amd64'
shell: bash
run: |
echo "C:\Program Files\NASM" >> $GITHUB_PATH
- name: Install cibuildwheel
run: python -m pip install cibuildwheel==2.11.4
- name: Build wheels
# to supply options, put them in 'env', like:
env:
CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
CIBW_MANYLINUX_I686_IMAGE: manylinux2014
CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014
CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform_id }}
CIBW_ARCHS_LINUX: auto aarch64
CIBW_ARCHS_MACOS: ${{ matrix.arch }}
CIBW_ENVIRONMENT_MACOS: >
CMAKE_OSX_ARCHITECTURES=${{ matrix.arch }}
CIBW_TEST_COMMAND: python -c "import Trekker"
# Include latest Python beta
CIBW_PRERELEASE_PYTHONS: True
CIBW_BEFORE_BUILD: pip install cython wheel
run: python -m cibuildwheel --output-dir wheelhouse src/python/
- uses: actions/upload-artifact@v2
with:
path: ./wheelhouse/*.whl