summaryrefslogtreecommitdiffstats
path: root/.github/workflows/release.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/release.yml')
-rw-r--r--.github/workflows/release.yml98
1 files changed, 82 insertions, 16 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 59062ae..5821407 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -4,34 +4,103 @@ on:
push:
tags:
- '*.*.*'
+ workflow_dispatch:
jobs:
-
build:
- name: Build wheels on ${{ matrix.os }}
- runs-on: ${{ matrix.os }}-latest
+ name: Build on ${{ matrix.platform || matrix.os }} (${{ matrix.target }} - ${{ matrix.manylinux || 'auto' }})
strategy:
+ fail-fast: false
matrix:
- os: [ ubuntu, windows, macos ]
+ os: [ubuntu, macos, windows]
+ target: [x86_64, aarch64]
+ manylinux: [auto]
+ include:
+ - os: ubuntu
+ platform: linux
+ - os: windows
+ ls: dir
+ interpreter: 3.7 3.8 3.9 3.10 3.11 3.12 pypy3.8 pypy3.9 pypy3.10
+ - os: windows
+ ls: dir
+ target: aarch64
+ interpreter: 3.11 3.12
+ - os: macos
+ target: aarch64
+ interpreter: 3.7 3.8 3.9 3.10 3.11 3.12 pypy3.8 pypy3.9 pypy3.10
+ - os: ubuntu
+ platform: linux
+ target: aarch64
+ # mimalloc not supported on manylinux2014 cross-compile container
+ extra-build-args: --no-default-features
+ # musllinux
+ - os: ubuntu
+ platform: linux
+ target: x86_64
+ manylinux: musllinux_1_1
+ - os: ubuntu
+ platform: linux
+ target: aarch64
+ manylinux: musllinux_1_1
+ - os: ubuntu
+ platform: linux
+ target: ppc64le
+ interpreter: 3.7 3.8 3.9 3.10 3.11 3.12
+ # mimalloc not supported on manylinux2014 cross-compile container
+ extra-build-args: --no-default-features
+ - os: ubuntu
+ platform: linux
+ target: s390x
+ interpreter: 3.7 3.8 3.9 3.10 3.11 3.12
+ # mimalloc not supported on manylinux2014 cross-compile container
+ extra-build-args: --no-default-features
+ runs-on: ${{ matrix.os }}-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- - name: Build wheels
- uses: pypa/cibuildwheel@v2.10.1
- env:
- CIBW_PROJECT_REQUIRES_PYTHON: ">=3.7"
+ - name: set up python
+ uses: actions/setup-python@v4
with:
- package-dir: .
- output-dir: dist
+ python-version: '3.11'
+ architecture: ${{ matrix.python-architecture || 'x64' }}
+
+ - name: build wheels
+ uses: PyO3/maturin-action@v1
+ with:
+ target: ${{ matrix.target }}
+ manylinux: ${{ matrix.manylinux || 'auto' }}
+ container: ${{ matrix.container }}
+ args: --release --out dist --interpreter ${{ matrix.interpreter || '3.7 3.8 3.9 3.10 3.11 3.12 pypy3.7 pypy3.8 pypy3.9 pypy3.10' }} ${{ matrix.extra-build-args }}
+ rust-toolchain: stable
+ docker-options: -e CI
+
+ - run: ${{ matrix.ls || 'ls -lh' }} dist/
- uses: actions/upload-artifact@v3
with:
name: dist
- path: ./dist/*
+ path: dist
+
+ build_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: dist
+ path: dist
+
Release:
- needs: [ build ]
+ needs: [ build, build_sdist ]
+ if: success() && startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
steps:
@@ -51,9 +120,6 @@ jobs:
- name: Update PATH
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
- - name: Build sdist
- run: poetry build --format sdist
-
- name: Check distributions
run: |
ls -la dist