Skip to content

[pre-commit.ci] pre-commit autoupdate #434

[pre-commit.ci] pre-commit autoupdate

[pre-commit.ci] pre-commit autoupdate #434

Workflow file for this run

# This file is autogenerated by maturin v1.1.0
# To update, run
#
# maturin generate-ci --pytest github
#
name: CI
on:
push:
branches:
- main
- master
tags:
- '*'
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
linux:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# If you update the targets here, be sure to also update the
# download-artifact step in the release job!
target: [x86_64, aarch64]
# pytensor is currently giving me issues on the other targets...
#target: [x86_64, aarch64, s390x, ppc64le]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter
manylinux: 2_28
before-script-linux: |
dnf install -y clang-libs clang || apt install llvm-dev libclang-dev clang
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: linux-${{ matrix.target }}-wheels
path: dist
- name: pytest
if: ${{ startsWith(matrix.target, 'x86_64') }}
shell: bash
run: |
set -e
pip install --find-links dist --force-reinstall 'nutpie[all]'
pip install --find-links dist --force-reinstall --no-deps --no-index 'nutpie[all]'
pip install pytest
pytest
- name: pytest
if: ${{ !startsWith(matrix.target, 'x86') }}
uses: uraimo/run-on-arch-action@v2.8.1
with:
arch: ${{ matrix.target }}
distro: ubuntu22.04
githubToken: ${{ github.token }}
install: |
apt-get update
apt-get install -y --no-install-recommends python3 python3-pip build-essential libhdf5-dev python3-dev pkg-config curl
pip3 install -U pip pytest
run: |
set -e
pip3 install --find-links dist --force-reinstall 'nutpie[all]'
pip3 install 'nutpie[all]' --find-links dist --no-deps --no-index --force-reinstall
pytest
windows:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
# If you update the targets here, be sure to also update the
# download-artifact step in the release job!
target: [x64]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.10'
architecture: ${{ matrix.target }}
- name: Install LLVM and Clang
uses: KyleMayes/install-llvm-action@v2
with:
version: "15.0"
directory: ${{ runner.temp }}/llvm
- name: Set up TBB
if: matrix.os == 'windows-latest'
run: |
Add-Content $env:GITHUB_PATH "$(pwd)/stan/lib/stan_math/lib/tbb"
- name: Build wheels
uses: PyO3/maturin-action@v1
env:
LIBCLANG_PATH: ${{ runner.temp }}/llvm/lib
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter
sccache: 'true'
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: windows-${{ matrix.target }}-wheels
path: dist
- name: pytest
if: ${{ !startsWith(matrix.target, 'aarch64') }}
shell: bash
run: |
set -e
pip install "nutpie[all]" --find-links dist --force-reinstall
pip install --find-links dist --force-reinstall --no-deps --no-index 'nutpie[all]'
pip install pytest
pytest
macos:
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
# If you update the targets here, be sure to also update the
# download-artifact step in the release job!
target: [x86_64, aarch64]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- 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@v4
with:
name: macos-${{ matrix.target }}-wheels
path: dist
- name: pytest
if: ${{ startsWith(matrix.target, 'aarch64') }}
shell: bash
run: |
set -e
pip install 'nutpie[all]' --find-links dist --force-reinstall
pip install --find-links dist --force-reinstall --no-deps --no-index 'nutpie[all]'
pip install pytest
pytest
sdist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build sdist
uses: PyO3/maturin-action@v1
with:
command: sdist
args: --out dist
- name: Upload sdist
uses: actions/upload-artifact@v4
with:
name: sdist
path: dist
release:
name: Release
runs-on: ubuntu-latest
if: "startsWith(github.ref, 'refs/tags/')"
needs: [linux, windows, macos, sdist]
steps:
# Combine all the wheels and sdists into a single directory
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: linux-x86_64-wheels
path: dist
- uses: actions/download-artifact@v4
with:
name: linux-aarch64-wheels
path: dist
- uses: actions/download-artifact@v4
with:
name: windows-x64-wheels
path: dist
- uses: actions/download-artifact@v4
with:
name: macos-x86_64-wheels
path: dist
- uses: actions/download-artifact@v4
with:
name: macos-aarch64-wheels
path: dist
- uses: actions/download-artifact@v4
with:
name: sdist
path: dist
- name: Publish to PyPI
uses: PyO3/maturin-action@v1
env:
MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
with:
command: upload
args: --skip-existing dist/*