Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 32 additions & 1 deletion .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,17 @@
# It is being rolled out incrementally across all workflows.
# Track progress at https://github.com/apache/datafusion/issues/24487.
#
# # Pushes to `main`
#
# Commits reach upstream `main` through the merge queue, which runs this
# workflow at the same SHA. A push to upstream `main` therefore runs only the
# jobs that save caches, publish coverage, or run the non-required FFI check.
# The other jobs carry an `if:` that skips them for that event alone. PRs, the
# merge queue, `workflow_dispatch`, and every other branch run all jobs. A
# direct push that bypasses the queue is not re-checked; dispatch the workflow
# on `main` for a full run. `ci/scripts/check_asf_yaml_status_checks.py` keeps
# the skipped set explicit.
#
name: Rust

concurrency:
Expand Down Expand Up @@ -80,6 +91,7 @@ jobs:
run: cargo xtask ci step check workspace
- name: Archive Cargo check artifacts
id: archive-check
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'apache/datafusion') }}
continue-on-error: true
shell: bash
run: |
Expand All @@ -91,7 +103,7 @@ jobs:
--exclude='registry/src/*/*/false' \
-cf "$RUNNER_TEMP/cargo-check/check-registry.tar" -C "$CARGO_HOME" registry
- name: Upload Cargo check artifacts
if: steps.archive-check.outcome == 'success'
if: ${{ steps.archive-check.outcome == 'success' && !(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'apache/datafusion') }}
continue-on-error: true
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
Expand All @@ -109,6 +121,7 @@ jobs:
linux-datafusion-common-features:
name: cargo check datafusion-common features
needs: linux-build-lib
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'apache/datafusion') }}
runs-on: ubuntu-latest
container:
image: amd64/rust
Expand Down Expand Up @@ -139,6 +152,7 @@ jobs:
linux-datafusion-substrait-features:
name: cargo check datafusion-substrait features
needs: linux-build-lib
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'apache/datafusion') }}
env:
CARGO_INCREMENTAL: "0"
runs-on: ${{ vars.USE_RUNS_ON == 'true' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
Expand Down Expand Up @@ -185,6 +199,7 @@ jobs:
linux-datafusion-proto-features:
name: cargo check datafusion-proto features
needs: linux-build-lib
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'apache/datafusion') }}
runs-on: ${{ vars.USE_RUNS_ON == 'true' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
container:
image: amd64/rust
Expand Down Expand Up @@ -247,6 +262,7 @@ jobs:
linux-cargo-check-datafusion:
name: cargo check datafusion features
needs: linux-build-lib
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'apache/datafusion') }}
env:
CARGO_INCREMENTAL: "0"
runs-on: ${{ vars.USE_RUNS_ON == 'true' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
Expand Down Expand Up @@ -367,6 +383,7 @@ jobs:
linux-cargo-check-datafusion-spark:
name: cargo check datafusion-spark features
needs: linux-build-lib
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'apache/datafusion') }}
runs-on: ubuntu-latest
container:
image: amd64/rust
Expand Down Expand Up @@ -448,6 +465,7 @@ jobs:
linux-test-datafusion-cli:
name: cargo test datafusion-cli (amd64)
needs: linux-build-lib
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'apache/datafusion') }}
runs-on: ${{ vars.USE_RUNS_ON == 'true' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
steps:
- uses: runs-on/action@efac073ea2507ec18797de3a81704201ade11d9d # v2.3.1
Expand Down Expand Up @@ -525,6 +543,7 @@ jobs:
linux-test-doc:
name: cargo test doc (amd64)
needs: linux-build-lib
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'apache/datafusion') }}
runs-on: ${{ vars.USE_RUNS_ON == 'true' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
container:
image: amd64/rust
Expand All @@ -547,6 +566,7 @@ jobs:
linux-rustdoc:
name: cargo doc
needs: linux-build-lib
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'apache/datafusion') }}
runs-on: ${{ vars.USE_RUNS_ON == 'true' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
container:
image: amd64/rust
Expand All @@ -562,6 +582,7 @@ jobs:

linux-wasm-pack:
name: build and run with wasm-pack
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'apache/datafusion') }}
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
Expand Down Expand Up @@ -589,6 +610,7 @@ jobs:
verify-benchmark-results:
name: verify benchmark results (amd64)
needs: linux-build-lib
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'apache/datafusion') }}
runs-on: ${{ vars.USE_RUNS_ON == 'true' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
container:
image: amd64/rust
Expand Down Expand Up @@ -621,6 +643,7 @@ jobs:
sqllogictest-postgres:
name: "Run sqllogictest with Postgres runner"
needs: linux-build-lib
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'apache/datafusion') }}
runs-on: ${{ vars.USE_RUNS_ON == 'true' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
container:
image: amd64/rust
Expand Down Expand Up @@ -658,6 +681,7 @@ jobs:
sqllogictest-substrait:
name: "Run sqllogictest in Substrait round-trip mode"
needs: linux-build-lib
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'apache/datafusion') }}
runs-on: ${{ vars.USE_RUNS_ON == 'true' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
container:
image: amd64/rust
Expand Down Expand Up @@ -718,6 +742,7 @@ jobs:

vendor:
name: Verify Vendored Code
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'apache/datafusion') }}
runs-on: ubuntu-latest
container:
image: amd64/rust
Expand All @@ -735,6 +760,7 @@ jobs:

check-fmt:
name: Check cargo fmt
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'apache/datafusion') }}
runs-on: ubuntu-latest
container:
image: amd64/rust
Expand All @@ -750,6 +776,7 @@ jobs:

check-workflow-tool-installs:
name: Check GitHub Actions install tooling
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'apache/datafusion') }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
Expand Down Expand Up @@ -787,6 +814,7 @@ jobs:
cargo-toml-formatting-checks:
name: check Cargo.toml formatting
needs: linux-build-lib
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'apache/datafusion') }}
runs-on: ubuntu-latest
container:
image: amd64/rust
Expand All @@ -810,6 +838,7 @@ jobs:
config-docs-check:
name: check configs.md and ***_functions.md is up-to-date
needs: linux-build-lib
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'apache/datafusion') }}
runs-on: ${{ vars.USE_RUNS_ON == 'true' && format('runs-on={0},family=m8a+m7a+c8a,cpu=16,image=ubuntu24-full-x64,extras=s3-cache,disk=large,tag=datafusion', github.run_id) || 'ubuntu-latest' }}
container:
image: amd64/rust
Expand Down Expand Up @@ -845,6 +874,7 @@ jobs:
examples-docs-check:
name: check example README is up-to-date
needs: linux-build-lib
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'apache/datafusion') }}
runs-on: ubuntu-latest
container:
image: amd64/rust
Expand Down Expand Up @@ -877,6 +907,7 @@ jobs:
# - datafusion-cli
msrv:
name: Verify MSRV (Min Supported Rust Version)
if: ${{ !(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository == 'apache/datafusion') }}
runs-on: ubuntu-latest
container:
image: amd64/rust
Expand Down
Loading
Loading