Import extraction with Rust #8
Workflow file for this run
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
name: Release | |
on: | |
pull_request: | |
types: [opened, synchronize, reopened] | |
push: | |
branches: [main] | |
jobs: | |
set-version: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Update project version | |
run: | | |
PROJECT_VERSION="0.0.13a1" | |
sed -i "s/^version = \".*\"/version = \"$PROJECT_VERSION\"/" pyproject.toml | |
- name: Upload updated pyproject.toml | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pyproject-toml | |
path: pyproject.toml | |
linux: | |
runs-on: ubuntu-latest | |
needs: [set-version] | |
strategy: | |
matrix: | |
target: [x86_64, x86, aarch64] | |
steps: | |
- name: Check out | |
uses: actions/checkout@v4 | |
- name: Download updated pyproject.toml | |
uses: actions/download-artifact@v4 | |
with: | |
name: pyproject-toml | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Build wheels | |
uses: PyO3/maturin-action@v1 | |
with: | |
target: ${{ matrix.target }} | |
args: --release --out dist --find-interpreter | |
sccache: 'true' | |
manylinux: auto | |
rust-toolchain: 1.75.0 | |
- name: Upload wheels | |
uses: actions/upload-artifact@v4 | |
with: | |
name: wheels-linux-${{ matrix.target }} | |
path: dist | |
windows: | |
runs-on: windows-latest | |
needs: [set-version] | |
strategy: | |
matrix: | |
target: [x64, x86] | |
steps: | |
- name: Check out | |
uses: actions/checkout@v4 | |
- name: Download updated pyproject.toml | |
uses: actions/download-artifact@v4 | |
with: | |
name: pyproject-toml | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Setup Rust toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: 1.75.0 | |
- 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: wheels-windows-${{ matrix.target }} | |
path: dist | |
macos: | |
runs-on: macos-latest | |
needs: [set-version] | |
strategy: | |
matrix: | |
target: [x86_64, aarch64] | |
steps: | |
- name: Check out | |
uses: actions/checkout@v4 | |
- name: Download updated pyproject.toml | |
uses: actions/download-artifact@v4 | |
with: | |
name: pyproject-toml | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Setup Rust toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: 1.75.0 | |
- 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: wheels-macos-${{ matrix.target }} | |
path: dist | |
sdist: | |
runs-on: ubuntu-latest | |
needs: [set-version] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download updated pyproject.toml | |
uses: actions/download-artifact@v4 | |
with: | |
name: pyproject-toml | |
- name: Setup Rust toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: 1.75.0 | |
- name: Build sdist | |
uses: PyO3/maturin-action@v1 | |
with: | |
command: sdist | |
args: --out dist | |
- name: Upload sdist | |
uses: actions/upload-artifact@v4 | |
with: | |
name: wheels-sdist | |
path: dist | |
# //TODO: Remove the MATURIN_REPOSITORY_URL, change TEST_PYPI_TOKEN to PYPI_TOKEN. | |
release: | |
name: Release | |
runs-on: ubuntu-latest | |
needs: [linux, windows, macos, sdist] | |
steps: | |
- uses: actions/download-artifact@v4 | |
- name: Publish to Test PyPI | |
uses: PyO3/maturin-action@v1 | |
env: | |
MATURIN_PYPI_TOKEN: ${{ secrets.TEST_PYPI_TOKEN }} | |
MATURIN_REPOSITORY_URL: https://test.pypi.org/legacy/ | |
with: | |
command: upload | |
args: --non-interactive --skip-existing wheels-*/* |