Skip to content

Add other targets back #42

Add other targets back

Add other targets back #42

Workflow file for this run

# This file is autogenerated by maturin v1.3.2
# To update, run
#
# maturin generate-ci github
#
name: CI
on:
push:
branches:
- main
- master
tags:
- "*"
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
linux:
runs-on: ubuntu-latest
strategy:
matrix:
target: [x86_64, aarch64, armv7]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Install OpenSSL
run: sudo apt-get update && sudo apt-get install -y libssl-dev libudev-dev pkg-config
- name: Set OPENSSL_DIR
run: |
if [ "${{ matrix.target }}" = "aarch64" ]; then
echo "OPENSSL_DIR=/usr/lib/aarch64-linux-gnu" >> $GITHUB_ENV
elif [ "${{ matrix.target }}" = "armv7" ]; then
echo "OPENSSL_DIR=/usr/lib/arm-linux-gnueabihf" >> $GITHUB_ENV
else
echo "OPENSSL_DIR=/usr/lib/x86_64-linux-gnu" >> $GITHUB_ENV
fi
- name: Set PKG_CONFIG_PATH for OpenSSL
run: |
if [ "${{ matrix.target }}" = "aarch64" ]; then
echo "PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/usr/lib/aarch64-linux-gnu/pkgconfig" >> $GITHUB_ENV
elif [ "${{ matrix.target }}" = "armv7" ]; then
echo "PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/usr/lib/arm-linux-gnueabihf/pkgconfig" >> $GITHUB_ENV
else
echo "PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/usr/lib/x86_64-linux-gnu/pkgconfig" >> $GITHUB_ENV
fi
- name: Build wheels with verbose output
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter -vv
sccache: "true"
manylinux: auto
before-script-linux: |
if [ "${{ matrix.target }}" = "aarch64" ] || [ "${{ matrix.target }}" = "armv7" ]; then
apt-get update -y
apt-get install -y libssl-dev libudev-dev pkg-config
elif [ "${{ matrix.target }}" = "x86_64" ]; then
yum update -y
yum install -y openssl-devel libudev-devel
fi
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist
windows:
runs-on: windows-latest
strategy:
matrix:
target: [x64, x86]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.10"
architecture: ${{ matrix.target }}
- name: Install deps.
run: |
choco install make
- name: Set up vcpkg
run: |
git clone https://github.com/Microsoft/vcpkg.git
.\vcpkg\bootstrap-vcpkg.bat
- name: Integrate vcpkg
run: .\vcpkg\vcpkg integrate install
# Dynamically select the correct vcpkg triplet based on the target architecture
- name: Install OpenBLAS
run: .\vcpkg\vcpkg install openblas:${{ matrix.target }}-windows
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter
sccache: "true"
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist
macos:
runs-on: macos-latest
strategy:
matrix:
target: [x86_64, aarch64]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter
sccache: "true"
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist
sdist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build sdist
uses: PyO3/maturin-action@v1
with:
command: sdist
args: --out dist
- name: Upload sdist
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist
release:
name: Release
runs-on: ubuntu-latest
if: "startsWith(github.ref, 'refs/tags/')"
needs: [linux, windows, macos, sdist]
steps:
- uses: actions/download-artifact@v3
with:
name: wheels
- name: Publish to PyPI
uses: PyO3/maturin-action@v1
env:
MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
with:
command: upload
args: --non-interactive --skip-existing *