Import extraction with Rust #5
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: | |
linux: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: [x86_64, x86, aarch64] | |
steps: | |
- name: Check out | |
uses: actions/checkout@v4 | |
- 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: Export tag | |
id: vars | |
run: echo tag=${GITHUB_REF#refs/*/} >> $GITHUB_OUTPUT | |
- name: Update project version | |
run: | | |
PROJECT_VERSION="0.0.13a1" # Set this to your desired version | |
sed -i "s/^version = \".*\"/version = \"$PROJECT_VERSION\"/" pyproject.toml | |
- name: Build wheels | |
uses: PyO3/maturin-action@v1 | |
with: | |
target: ${{ matrix.target }} | |
args: --release --out dist --find-interpreter | |
sccache: 'true' | |
manylinux: auto | |
- name: Upload wheels | |
uses: actions/upload-artifact@v4 | |
with: | |
name: wheels-linux-${{ matrix.target }} | |
path: dist | |
windows: | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
target: [x64, x86] | |
steps: | |
- name: Check out | |
uses: actions/checkout@v4 | |
- 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: Export tag | |
id: vars | |
run: echo tag=${GITHUB_REF#refs/*/} >> $GITHUB_OUTPUT | |
- name: Update project version | |
run: | | |
PROJECT_VERSION="0.0.13a1" # Set this to your desired version | |
sed -i "s/^version = \".*\"/version = \"$PROJECT_VERSION\"/" pyproject.toml | |
- 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 | |
strategy: | |
matrix: | |
target: [x86_64, aarch64] | |
steps: | |
- name: Check out | |
uses: actions/checkout@v4 | |
- 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: Export tag | |
id: vars | |
run: echo tag=${GITHUB_REF#refs/*/} >> $GITHUB_OUTPUT | |
- name: Update project version | |
run: | | |
PROJECT_VERSION="0.0.13a1" # Set this to your desired version | |
sed -i "s/^version = \".*\"/version = \"$PROJECT_VERSION\"/" pyproject.toml | |
- 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 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Export tag | |
id: vars | |
run: echo tag=${GITHUB_REF#refs/*/} >> $GITHUB_OUTPUT | |
- name: Update project version | |
run: | | |
PROJECT_VERSION="0.0.13a1" # Set this to your desired version | |
sed -i "s/^version = \".*\"/version = \"$PROJECT_VERSION\"/" 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-*/* |