Skip to content

Experiment with delvewheel. #8

Experiment with delvewheel.

Experiment with delvewheel. #8

Workflow file for this run

# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
---
name: Building Wheels
on:
push:
branches:
- linux-wheels
- macos-intel-wheels
- windows-intel-wheels
jobs:
linux:
runs-on: ubuntu-22.04
if: github.ref == 'refs/heads/linux-wheels'
strategy:
matrix:
include:
- arch-friendly: arm
arch-cibw: aarch64
- arch-friendly: intel
arch-cibw: x86_64
steps:
- uses: actions/checkout@v3
- name: Build wheels
uses: pypa/cibuildwheel@v2.14.1
env:
CIBW_ARCHS: ${{ matrix.arch-cibw }}
CIBW_BEFORE_BUILD: |
python -m pip install cmake nox numpy
nox --session libbezier-release --reuse-existing-virtualenvs
CIBW_BUILD: >-
cp38-*
cp39-*
cp310-*
cp311-*
CIBW_ENVIRONMENT: >-
BEZIER_INSTALL_PREFIX=/project/.nox/.cache/libbezier-release/usr
LD_LIBRARY_PATH=/project/.nox/.cache/libbezier-release/usr/lib
TARGET_NATIVE_ARCH=OFF
CIBW_SKIP: "*musllinux*"
- uses: actions/upload-artifact@v3
with:
name: linux-${{ matrix.arch-friendly }}
path: ./wheelhouse/*.whl
macos-intel:
runs-on: macos-13
if: github.ref == 'refs/heads/macos-intel-wheels'
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install `gcc`
run: |
brew install gcc
brew unlink gcc
brew link gcc
- name: Build `libbezier`
env:
TARGET_NATIVE_ARCH: "OFF"
run: |
python3.11 -m pip install cmake nox
nox --session libbezier-release --reuse-existing-virtualenvs
- name: Build wheels
uses: pypa/cibuildwheel@v2.14.1
env:
CIBW_BEFORE_BUILD: |
python -m pip install numpy
CIBW_BUILD: >-
cp38-*
cp39-*
cp310-*
cp311-*
BEZIER_INSTALL_PREFIX: ./.nox/.cache/libbezier-release/usr
- uses: actions/upload-artifact@v3
with:
name: macos-intel
path: ./wheelhouse/*.whl
windows-intel:
runs-on: windows-2022
if: github.ref == 'refs/heads/windows-intel-wheels'
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Build `libbezier`
env:
TARGET_NATIVE_ARCH: "OFF"
run: |
py -3.11 -m pip install cmake nox
nox --session libbezier-release --reuse-existing-virtualenvs
- name: Build wheels
uses: pypa/cibuildwheel@v2.14.1
env:
CIBW_ARCHS: AMD64
CIBW_BEFORE_BUILD: |
python -m pip install delvewheel numpy
CIBW_BUILD: >-
cp38-*
cp39-*
cp310-*
cp311-*
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: |
delvewheel repair --wheel-di {dest_dir} {wheel}
BEZIER_INSTALL_PREFIX: ./.nox/.cache/libbezier-release/usr
- uses: actions/upload-artifact@v3
with:
name: windows-intel
path: ./wheelhouse/*.whl