ci: use macos-12 #61
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This file is autogenerated by maturin v1.6.0 | |
# To update, run | |
# | |
# maturin generate-ci github -o ../../.github/workflows/release_pyton_pytest.yml --pytest | |
# | |
name: CI | |
on: | |
push: | |
branches: | |
- main | |
tags: | |
- '*' | |
pull_request: | |
workflow_dispatch: | |
permissions: | |
contents: read | |
jobs: | |
linux: | |
runs-on: ${{ matrix.platform.runner }} | |
strategy: | |
matrix: | |
platform: | |
- runner: ubuntu-latest | |
target: x86_64 | |
#- runner: self-hosted-arm64 | |
# target: aarch64 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10' | |
- uses: graalvm/[email protected] | |
with: | |
java-version: '22' | |
distribution: 'graalvm-community' | |
set-java-home: 'true' | |
# - name: Graalvm install step | |
# run: | | |
# bash .github/workflows/install-graalvm.sh ${{ matrix.platform.target }} graalvm-ce | |
- name: Graalvm check step | |
run: | | |
uname -a | |
echo "GRAALVM_HOME: $GRAALVM_HOME" | |
echo "JAVA_HOME: $JAVA_HOME" | |
java --version | |
native-image --version | |
- name: Build wheels | |
uses: PyO3/maturin-action@v1 | |
with: | |
command: build | |
args: --release --out dist | |
target: ${{ matrix.platform.target }} | |
working-directory: "bindings/python" | |
sccache: 'true' | |
container: 'off' # runs on host machine | |
- name: Upload wheels | |
uses: actions/upload-artifact@v4 | |
with: | |
name: wheels-linux-${{ matrix.platform.target }} | |
path: bindings/python/dist | |
- name: pytest | |
if: ${{ startsWith(matrix.platform.target, 'x86_64') }} | |
shell: bash | |
run: | | |
set -e | |
python3 -m venv .venv | |
source .venv/bin/activate | |
pip install extract-rs --find-links bindings/python/dist --force-reinstall | |
pip install pytest | |
pytest | |
- name: pytest | |
if: ${{ !startsWith(matrix.platform.target, 'x86') && matrix.platform.target != 'ppc64' }} | |
uses: uraimo/run-on-arch-action@v2 | |
with: | |
arch: ${{ matrix.platform.target }} | |
distro: ubuntu22.04 | |
githubToken: ${{ github.token }} | |
install: | | |
apt-get update | |
apt-get install -y --no-install-recommends python3 python3-pip | |
pip3 install -U pip pytest | |
run: | | |
set -e | |
pip3 install extract-rs --find-links bindings/python/dist --force-reinstall | |
pytest | |
windows: | |
runs-on: ${{ matrix.platform.runner }} | |
strategy: | |
matrix: | |
platform: | |
- runner: windows-latest | |
target: x64 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10' | |
architecture: ${{ matrix.platform.target }} | |
- uses: graalvm/[email protected] | |
with: | |
java-version: '22' | |
distribution: 'graalvm-community' | |
set-java-home: 'true' | |
- name: Build wheels | |
uses: PyO3/maturin-action@v1 | |
with: | |
target: ${{ matrix.platform.target }} | |
working-directory: "bindings/python" | |
args: --release --out dist | |
sccache: 'true' | |
- name: Upload wheels | |
uses: actions/upload-artifact@v4 | |
with: | |
name: wheels-windows-${{ matrix.platform.target }} | |
path: bindings/python/dist | |
- name: pytest | |
if: ${{ !startsWith(matrix.platform.target, 'aarch64') }} | |
shell: bash | |
run: | | |
set -e | |
python3 -m venv .venv | |
source .venv/Scripts/activate | |
pip install extract-rs --find-links bindings/python/dist --force-reinstall | |
pip install pytest | |
pytest | |
macos: | |
runs-on: ${{ matrix.platform.runner }} | |
strategy: | |
matrix: | |
platform: | |
- runner: macos-12 | |
target: x86_64 | |
- runner: macos-14 | |
target: aarch64 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10' | |
- uses: graalvm/[email protected] | |
with: | |
java-version: '22' | |
distribution: 'liberica' | |
set-java-home: 'true' | |
- name: Build wheels | |
uses: PyO3/maturin-action@v1 | |
with: | |
target: ${{ matrix.platform.target }} | |
working-directory: "bindings/python" | |
args: --release --out dist | |
sccache: 'true' | |
- name: Upload wheels | |
uses: actions/upload-artifact@v4 | |
with: | |
name: wheels-macos-${{ matrix.platform.target }} | |
path: bindings/python/dist | |
- name: pytest | |
run: | | |
set -e | |
python3 -m venv .venv | |
source .venv/bin/activate | |
pip install extract-rs --find-links bindings/python/dist --force-reinstall | |
pip install pytest | |
pytest | |
sdist: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build sdist | |
uses: PyO3/maturin-action@v1 | |
with: | |
working-directory: "bindings/python" | |
command: sdist | |
args: --out dist | |
- name: Upload sdist | |
uses: actions/upload-artifact@v4 | |
with: | |
name: wheels-sdist | |
path: bindings/python/dist | |
# release: | |
# name: Release | |
# runs-on: ubuntu-latest | |
# if: "startsWith(github.ref, 'refs/tags/')" | |
# needs: [linux, windows, macos, sdist] | |
# steps: | |
# - uses: actions/download-artifact@v4 | |
# with: | |
# name: wheels | |
# path: bindings/python/dist | |
# - 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 wheels-*/* |