fix: propagate perf hint for instrumented read at (#2675) #1536
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 unpublished packages. | |
release-plz-release: | |
name: Release-plz release | |
runs-on: ubuntu-latest | |
if: "startsWith(github.event.head_commit.message, 'chore: release')" | |
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 | |
submodules: "recursive" | |
- uses: ./.github/actions/cleanup | |
- uses: ./.github/actions/setup-rust | |
- name: Run release-plz | |
id: run-release-plz | |
uses: MarcoIeni/[email protected] | |
with: | |
command: release | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} | |
# Create a PR with the new versions and changelog, preparing the next release. | |
release-plz-pr: | |
name: Release-plz PR | |
runs-on: ubuntu-latest | |
concurrency: | |
group: release-plz-${{ github.ref }} | |
cancel-in-progress: false | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
# Needed to pull full commit history for release version number inference | |
fetch-depth: 0 | |
submodules: "recursive" | |
- uses: ./.github/actions/cleanup | |
- uses: ./.github/actions/setup-rust | |
- name: Run release-plz | |
uses: MarcoIeni/[email protected] | |
with: | |
command: release-pr | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} | |
macos: | |
name: "build OSX wheel" | |
needs: release-plz-release | |
if: ${{ needs.release-plz-release.outputs.releases_created == 'true' }} | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: "recursive" | |
- uses: ./.github/actions/cleanup | |
- 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.10 --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.10 | |
- uses: astral-sh/setup-uv@v5 | |
- name: test wheel | |
run: | | |
set -ex | |
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 | |
uv run pip install --force-reinstall vortex-array --no-index --find-links target/wheels | |
cd pyvortex/test | |
uv run pytest | |
- name: Upload wheels | |
uses: actions/upload-artifact@v4 | |
with: | |
name: osx-wheels | |
path: target/wheels | |
linux: | |
name: "Build linux-x86 wheel" | |
needs: release-plz-release | |
if: ${{ needs.release-plz-release.outputs.releases_created == 'true' }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: "recursive" | |
- uses: astral-sh/setup-uv@v5 | |
- 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.10 | |
- name: test wheel | |
run: | | |
set -ex | |
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 | |
uv run pip install --no-deps --force-reinstall vortex-array --no-index --find-links target/wheels | |
cd pyvortex/test | |
uv run pytest | |
- name: Upload wheels | |
uses: actions/upload-artifact@v4 | |
with: | |
name: linux-wheels | |
path: target/wheels | |
release: | |
name: "Release to PyPi" | |
needs: [ release-plz-release, macos, linux ] | |
if: ${{ needs.release-plz-release.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 |