chore: remove __lt__
, etc. from docs (#1106)
#398
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-plz | |
permissions: | |
pull-requests: write | |
contents: write | |
on: | |
push: | |
branches: | |
- develop | |
jobs: | |
release-plz: | |
name: Release-plz | |
runs-on: ubuntu-latest | |
outputs: | |
releases_created: ${{ steps.run-release-plz.outputs.releases_created }} # Expose this step output as a job output | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
# Needed to pull full commit history for release version number inference | |
fetch-depth: 0 | |
- uses: ./.github/actions/cleanup | |
- uses: ./.github/actions/setup-rust | |
- uses: ./.github/actions/setup-python | |
- name: Run release-plz | |
id: run-release-plz | |
uses: MarcoIeni/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} | |
macos: | |
needs: release-plz | |
if: ${{ needs.release-plz.outputs.releases_created == 'true' }} | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/cleanup | |
- uses: ./.github/actions/setup-rust | |
- uses: ./.github/actions/setup-python | |
- name: rust-toolchain | |
shell: bash | |
run: echo "version=$(cat rust-toolchain.toml | grep channel | awk -F'\"' '{print $2}')" >> $GITHUB_OUTPUT | |
- name: Build wheels - x86_64 | |
uses: PyO3/maturin-action@v1 | |
with: | |
rust-toolchain: ${{ steps.rust-toolchain.version }} | |
working-directory: pyvortex | |
target: x86_64 | |
args: --release --interpreter python3.11 --sdist | |
- name: Build wheels - aarch64 | |
uses: PyO3/maturin-action@v1 | |
with: | |
rust-toolchain: ${{ steps.rust-toolchain.version }} | |
working-directory: pyvortex | |
target: aarch64 # NB: aarch64 becomes arm64 in the wheel's platform tag. | |
args: --release --interpreter python3.11 | |
- name: Build wheels - universal2 | |
uses: PyO3/maturin-action@v1 | |
with: | |
rust-toolchain: ${{ steps.rust-toolchain.version }} | |
working-directory: pyvortex | |
target: universal2-apple-darwin | |
args: --release --interpreter python3.11 | |
- name: test wheel | |
run: | | |
set -ex | |
source .venv/bin/activate | |
ls -al target/wheels | |
echo removing linux_x86_64 if it exists because PyPI will reject the package if it is present | |
rm -f target/wheels/*linux_x86_64.whl | |
pip install --no-deps --force-reinstall vortex-array --no-index --find-links target/wheels | |
cd pyvortex/test && pytest | |
- name: Upload wheels | |
uses: actions/upload-artifact@v4 | |
with: | |
name: osx-wheels | |
path: target/wheels | |
linux: | |
needs: release-plz | |
if: ${{ needs.release-plz.outputs.releases_created == 'true' }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
# maturin-action builds in an isolated container; setting RUSTC_WRAPPER=sccache triggers failure | |
# because sccache is not installed in the container. | |
# | |
# - uses: ./.github/actions/setup-rust | |
- uses: ./.github/actions/setup-python | |
- name: rust-toolchain | |
shell: bash | |
run: echo "version=$(cat rust-toolchain.toml | grep channel | awk -F'\"' '{print $2}')" >> $GITHUB_OUTPUT | |
- name: Build wheels | |
uses: PyO3/maturin-action@v1 | |
with: | |
rust-toolchain: ${{ steps.rust-toolchain.version }} | |
working-directory: pyvortex | |
target: x86_64 | |
manylinux: auto | |
args: --release --interpreter python3.11 | |
- name: test wheel | |
run: | | |
set -ex | |
source .venv/bin/activate | |
ls -al target/wheels | |
echo removing linux_x86_64 if it exists because PyPI will reject the package if it is present | |
rm -f target/wheels/*linux_x86_64.whl | |
pip install --no-deps --force-reinstall vortex-array --no-index --find-links target/wheels | |
pip install pytest | |
cd pyvortex/test && pytest | |
- name: Upload wheels | |
uses: actions/upload-artifact@v4 | |
with: | |
name: linux-wheels | |
path: target/wheels | |
release: | |
needs: [ release-plz, macos, linux ] | |
if: ${{ needs.release-plz.outputs.releases_created == 'true' }} | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write # IMPORTANT: mandatory for trusted publishing | |
environment: | |
name: push-to-pypi | |
url: https://pypi.org/p/vortex-array | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
# https://github.com/actions/download-artifact?tab=readme-ov-file#download-all-artifacts | |
# "To download them to the same directory:" | |
path: dist/ | |
merge-multiple: true | |
- name: Display structure of downloaded files | |
run: ls -R dist/ | |
- name: Publish to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
attestations: true | |
verbose: true |