Repository navigation
fix(python): translate Polars fill_null with expression fills #12839
Workflow file for this run
This file contains hidden or 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: Publish Dry Runs | |
| # Concurrency control: | |
| # - PRs: new commits on a feature branch will cancel in-progress (outdated) runs. | |
| # - Push to develop: runs queue sequentially, never cancelled. | |
| # - `workflow_dispatch`: groups by branch and queues if run on develop. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: ${{ github.ref != 'refs/heads/develop' }} | |
| on: | |
| push: | |
| branches: [develop] | |
| pull_request: { } | |
| workflow_dispatch: { } | |
| permissions: | |
| contents: read | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUST_BACKTRACE: 1 | |
| NIGHTLY_TOOLCHAIN: nightly-2026-09-10 | |
| jobs: | |
| python-wheel-build: | |
| name: "Python (wheel build)" | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 | |
| - uses: ./.github/actions/setup-rust | |
| with: | |
| repo-token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Rust Dependency Cache | |
| uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2 | |
| with: | |
| save-if: ${{ github.ref_name == 'develop' }} | |
| - uses: mlugg/setup-zig@d1434d08867e3ee9daa34448df10607b98908d29 # v2.2.1 | |
| - name: Install uv | |
| uses: spiraldb/actions/.github/actions/setup-uv@a746510eafaa926484c354541cfc49b2ec06cc63 # 0.18.6 | |
| with: | |
| sync: false | |
| prune-cache: false | |
| - name: Ensure wheel and sdist can be built on Linux - PyVortex | |
| shell: bash | |
| run: | | |
| dist_dir=$(mktemp -d "${RUNNER_TEMP}/python-dist.XXXXXX") | |
| uv venv | |
| # Build the wheel from the sdist, reusing cached dependencies outside its temporary source tree. | |
| uv tool run maturin@1.15.0 build --interpreter python3.11 --zig --sdist \ | |
| --target-dir "${GITHUB_WORKSPACE}/target" --out "$dist_dir" | |
| shopt -s nullglob | |
| wheels=("$dist_dir"/*.whl) | |
| sdists=("$dist_dir"/*.tar.gz) | |
| if [[ ${#wheels[@]} -ne 1 || ${#sdists[@]} -ne 1 ]]; then | |
| echo "Expected one wheel and one sdist:" | |
| ls "$dist_dir" | |
| exit 1 | |
| else | |
| echo "Generated one wheel and one sdist" | |
| fi | |
| working-directory: vortex-python/ | |
| check-java-publish-build: | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - target: x86_64-unknown-linux-gnu | |
| runner: runs-on=${{ github.run_id }}/runner=amd64-medium/image=ubuntu24-full-x64-pre-v2/extras=s3-cache/tag=check-java-publish-build-amd64 | |
| - target: aarch64-unknown-linux-gnu | |
| runner: runs-on=${{ github.run_id }}/runner=arm64-medium/image=ubuntu24-full-arm64-pre-v2/extras=s3-cache/tag=check-java-publish-build-arm64 | |
| runs-on: ${{ matrix.runner }} | |
| steps: | |
| - parallel: | |
| - uses: runs-on/action@v2 | |
| if: github.repository == 'vortex-data/vortex' | |
| with: | |
| sccache: s3 | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 | |
| with: | |
| fetch-depth: 0 | |
| - parallel: | |
| - uses: actions/setup-java@de7274f081f381c8f8158605e0321c36c376e2e6 # v6 | |
| with: | |
| distribution: "corretto" | |
| java-version: "17" | |
| - uses: ./.github/actions/setup-prebuild | |
| with: | |
| enable-sccache: ${{ github.repository == 'vortex-data/vortex' && 'true' || 'false' }} | |
| - uses: mlugg/setup-zig@d1434d08867e3ee9daa34448df10607b98908d29 # v2.2.1 | |
| - name: Install cargo-zigbuild | |
| uses: taiki-e/cache-cargo-install-action@66c9585ef5ca780ee69399975a5e911f47905995 | |
| with: | |
| tool: cargo-zigbuild | |
| - run: cargo zigbuild --profile ci --target ${{ matrix.target }}.2.31 --package vortex-jni | |
| compat-check: | |
| name: "Compat check" | |
| uses: ./.github/workflows/compat-validation.yml | |
| with: | |
| mode: last | |
| rust-publish-dry-run: | |
| name: "Rust publish dry-run" | |
| timeout-minutes: 30 | |
| runs-on: >- | |
| ${{ github.repository == 'vortex-data/vortex' | |
| && format('runs-on={0}/runner=amd64-xsmall/image=ubuntu24-full-x64-pre-v2/extras=s3-cache/tag=rust-publish-dry-run', github.run_id) | |
| || 'ubuntu-latest' }} | |
| steps: | |
| - parallel: | |
| - uses: runs-on/action@v2 | |
| if: github.repository == 'vortex-data/vortex' | |
| with: | |
| sccache: s3 | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 | |
| - uses: ./.github/actions/setup-prebuild | |
| with: | |
| enable-sccache: ${{ github.repository == 'vortex-data/vortex' && 'true' || 'false' }} | |
| - name: Install cargo-edit | |
| uses: taiki-e/cache-cargo-install-action@66c9585ef5ca780ee69399975a5e911f47905995 | |
| with: | |
| tool: cargo-edit@0.13.10 | |
| - name: Set Version | |
| run: | | |
| # This is mostly a dummy version, we don't actually publish anything but it cannot exist in crates.io | |
| cargo set-version --workspace 0.100000.0 | |
| - name: Test Release | |
| run: | | |
| cargo publish --dry-run --no-verify --allow-dirty --workspace |