This is an automated email from the ASF dual-hosted git repository.

milenkovicm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion-ballista.git


The following commit(s) were added to refs/heads/main by this push:
     new d1295f7d improve rust workflows without cache (#1275)
d1295f7d is described below

commit d1295f7d1ab5c40a433ab17a344494f39b18f0af
Author: Huy1Ng <huy.nguyen7994+git...@gmail.com>
AuthorDate: Sun Jul 27 12:18:07 2025 +0700

    improve rust workflows without cache (#1275)
    
    * clean up CI
    * streamline workflow concurrency
---
 .github/actions/setup-builder/action.yaml          |   4 +-
 .../action.yaml                                    |  24 +-
 .github/actions/setup-rust-runtime/action.yaml     |  42 ++++
 .../action.yaml                                    |  23 +-
 .github/workflows/build.yml                        |   5 +
 .github/workflows/cancel.yml                       |  46 ----
 .github/workflows/dev.yml                          |   4 +
 .github/workflows/dev_pr.yml                       |   4 +
 .github/workflows/docker.yml                       |   4 +
 .github/workflows/rust.yml                         | 276 ++++++---------------
 Cargo.toml                                         |  11 +
 11 files changed, 173 insertions(+), 270 deletions(-)

diff --git a/.github/actions/setup-builder/action.yaml 
b/.github/actions/setup-builder/action.yaml
index 13a3008b..eb9c52c3 100644
--- a/.github/actions/setup-builder/action.yaml
+++ b/.github/actions/setup-builder/action.yaml
@@ -25,7 +25,7 @@ inputs:
 runs:
   using: "composite"
   steps:
-    - name: Install Build Dependencies
+    - name: Install protobuf compiler
       shell: bash
       run: |
         apt-get update
@@ -37,3 +37,5 @@ runs:
         rustup toolchain install ${{ inputs.rust-version }}
         rustup default ${{ inputs.rust-version }}
         rustup component add rustfmt
+    - name: Configure rust runtime env
+      uses: ./.github/actions/setup-rust-runtime
diff --git a/.github/actions/setup-builder/action.yaml 
b/.github/actions/setup-macos-builder/action.yaml
similarity index 61%
copy from .github/actions/setup-builder/action.yaml
copy to .github/actions/setup-macos-builder/action.yaml
index 13a3008b..fffdab16 100644
--- a/.github/actions/setup-builder/action.yaml
+++ b/.github/actions/setup-macos-builder/action.yaml
@@ -15,8 +15,8 @@
 # specific language governing permissions and limitations
 # under the License.
 
-name: Prepare Rust Builder
-description: 'Prepare Rust Build Environment'
+name: Prepare Rust Builder for MacOS
+description: 'Prepare Rust Build Environment for MacOS'
 inputs:
   rust-version:
     description: 'version of rust to install (e.g. stable)'
@@ -25,15 +25,23 @@ inputs:
 runs:
   using: "composite"
   steps:
-    - name: Install Build Dependencies
+    - name: Install protobuf compiler
       shell: bash
       run: |
-        apt-get update
-        apt-get install -y protobuf-compiler
+        mkdir -p $HOME/d/protoc
+        cd $HOME/d/protoc
+        export PROTO_ZIP="protoc-29.1-osx-x86_64.zip"
+        curl -LO 
https://github.com/protocolbuffers/protobuf/releases/download/v29.1/$PROTO_ZIP
+        unzip $PROTO_ZIP
+        echo "$HOME/d/protoc/bin" >> $GITHUB_PATH
+        export PATH=$PATH:$HOME/d/protoc/bin
+        protoc --version
     - name: Setup Rust toolchain
       shell: bash
       run: |
-        echo "Installing ${{ inputs.rust-version }}"
-        rustup toolchain install ${{ inputs.rust-version }}
-        rustup default ${{ inputs.rust-version }}
+        rustup update stable
+        rustup toolchain install stable
+        rustup default stable
         rustup component add rustfmt
+    - name: Configure rust runtime env
+      uses: ./.github/actions/setup-rust-runtime        
diff --git a/.github/actions/setup-rust-runtime/action.yaml 
b/.github/actions/setup-rust-runtime/action.yaml
new file mode 100644
index 00000000..b6fb2c89
--- /dev/null
+++ b/.github/actions/setup-rust-runtime/action.yaml
@@ -0,0 +1,42 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+name: Setup Rust Runtime
+description: 'Setup Rust Runtime Environment'
+runs:
+  using: "composite"
+  steps:
+    # https://github.com/apache/datafusion/issues/15535
+    # disabled because neither version nor git hash works with apache github 
policy
+    #- name: Run sccache-cache
+    #  uses: 
mozilla-actions/sccache-action@65101d47ea8028ed0c98a1cdea8dd9182e9b5133 # v0.0.8
+    - name: Configure runtime env
+      shell: bash
+      # do not produce debug symbols to keep memory usage down
+      # hardcoding other profile params to avoid profile override values
+      # More on Cargo profiles 
https://doc.rust-lang.org/cargo/reference/profiles.html?profile-settings#profile-settings
+      # 
+      # Set debuginfo=line-tables-only as debuginfo=0 causes immensely slow 
build
+      # See for more details: https://github.com/rust-lang/rust/issues/119560
+      #
+      # readd the following to the run below once sccache-cache is re-enabled
+      # echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV
+      # echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV
+      run: |
+        echo "RUST_BACKTRACE=1" >> $GITHUB_ENV
+        echo "RUSTFLAGS=-C debuginfo=line-tables-only -C incremental=false" >> 
$GITHUB_ENV
+     
diff --git a/.github/actions/setup-builder/action.yaml 
b/.github/actions/setup-windows-builder/action.yaml
similarity index 60%
copy from .github/actions/setup-builder/action.yaml
copy to .github/actions/setup-windows-builder/action.yaml
index 13a3008b..a0304168 100644
--- a/.github/actions/setup-builder/action.yaml
+++ b/.github/actions/setup-windows-builder/action.yaml
@@ -15,8 +15,8 @@
 # specific language governing permissions and limitations
 # under the License.
 
-name: Prepare Rust Builder
-description: 'Prepare Rust Build Environment'
+name: Prepare Rust Builder for Windows
+description: 'Prepare Rust Build Environment for Windows'
 inputs:
   rust-version:
     description: 'version of rust to install (e.g. stable)'
@@ -25,15 +25,22 @@ inputs:
 runs:
   using: "composite"
   steps:
-    - name: Install Build Dependencies
+    - name: Install protobuf compiler
       shell: bash
       run: |
-        apt-get update
-        apt-get install -y protobuf-compiler
+        mkdir -p $HOME/d/protoc
+        cd $HOME/d/protoc
+        export PROTO_ZIP="protoc-29.1-win64.zip"
+        curl -LO 
https://github.com/protocolbuffers/protobuf/releases/download/v29.1/$PROTO_ZIP
+        unzip $PROTO_ZIP
+        export PATH=$PATH:$HOME/d/protoc/bin
+        protoc.exe --version
     - name: Setup Rust toolchain
       shell: bash
       run: |
-        echo "Installing ${{ inputs.rust-version }}"
-        rustup toolchain install ${{ inputs.rust-version }}
-        rustup default ${{ inputs.rust-version }}
+        # Avoid self update to avoid CI failures: 
https://github.com/apache/datafusion/issues/9653
+        rustup toolchain install stable --no-self-update
+        rustup default stable
         rustup component add rustfmt
+    - name: Configure rust runtime env
+      uses: ./.github/actions/setup-rust-runtime        
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 1ebffa3e..b2ab8836 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -16,6 +16,11 @@
 # under the License.
 
 name: Python Release Build
+
+concurrency:
+  group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ 
github.workflow }}
+  cancel-in-progress: true
+
 on:
   pull_request:
     branches: ["main"]
diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml
deleted file mode 100644
index e1c6ed98..00000000
--- a/.github/workflows/cancel.yml
+++ /dev/null
@@ -1,46 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-name: Cancel stale runs
-
-on:
-  workflow_run:
-    # The name of another workflow (whichever one) that always runs on PRs
-    workflows: ['Dev']
-    types: ['requested']
-
-jobs:
-  cancel-stale-workflow-runs:
-    name: "Cancel stale workflow runs"
-    runs-on: ubuntu-latest
-    steps:
-      # Unfortunately, we need to define a separate cancellation step for
-      # each workflow where we want to cancel stale runs.
-      - uses: potiuk/cancel-workflow-runs@master
-        name: "Cancel stale Dev runs"
-        with:
-          cancelMode: allDuplicates
-          token: ${{ secrets.GITHUB_TOKEN }}
-          workflowFileName: dev.yml
-          skipEventTypes: '["push", "schedule"]'
-      - uses: potiuk/cancel-workflow-runs@master
-        name: "Cancel stale Rust runs"
-        with:
-          cancelMode: allDuplicates
-          token: ${{ secrets.GITHUB_TOKEN }}
-          workflowFileName: rust.yml
-          skipEventTypes: '["push", "schedule"]'
diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml
index 84950373..97ce8e9b 100644
--- a/.github/workflows/dev.yml
+++ b/.github/workflows/dev.yml
@@ -18,6 +18,10 @@
 name: Dev
 on: [push, pull_request]
 
+concurrency:
+  group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ 
github.workflow }}
+  cancel-in-progress: true
+
 jobs:
   rat:
     name: Release Audit Tool (RAT)
diff --git a/.github/workflows/dev_pr.yml b/.github/workflows/dev_pr.yml
index b8ee4ed9..87368111 100644
--- a/.github/workflows/dev_pr.yml
+++ b/.github/workflows/dev_pr.yml
@@ -17,6 +17,10 @@
 
 name: Labeler
 
+concurrency:
+  group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ 
github.workflow }}
+  cancel-in-progress: true
+
 on:
   pull_request_target:
     types:
diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml
index 3a0825fd..4c8d81ad 100644
--- a/.github/workflows/docker.yml
+++ b/.github/workflows/docker.yml
@@ -18,6 +18,10 @@
 name: Docker
 on: [pull_request, push]
 
+concurrency:
+  group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ 
github.workflow }}
+  cancel-in-progress: true
+
 jobs:
   build_docker:
     name: Run Build Docker Script
diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml
index c056f5e9..abe9d3f4 100644
--- a/.github/workflows/rust.yml
+++ b/.github/workflows/rust.yml
@@ -17,166 +17,100 @@
 
 name: Rust
 
+concurrency:
+  group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ 
github.workflow }}
+  cancel-in-progress: true
+
 on:
-  # always trigger
   push:
+    paths-ignore:
+      - "docs/**"
+      - "**.md"
+      - ".github/ISSUE_TEMPLATE/**"
+      - ".github/pull_request_template.md"
   pull_request:
+    paths-ignore:
+      - "docs/**"
+      - "**.md"
+      - ".github/ISSUE_TEMPLATE/**"
+      - ".github/pull_request_template.md"
+  # manual trigger
+  # 
https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow
+  workflow_dispatch:
 
 jobs:
-  # build the library, a compilation step used by multiple steps below
+  # Check crate compiles and base cargo check passes
   linux-build-lib:
-    name: Build Libraries on AMD64 Rust ${{ matrix.rust }}
+    name: linux build test
     runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        arch: [amd64]
-        rust: [stable]
     container:
-      image: ${{ matrix.arch }}/rust
-      env:
-        # Disable full debug symbol generation to speed up CI build and keep 
memory down
-        # "1" means line tables only, which is useful for panic tracebacks.
-        RUSTFLAGS: "-C debuginfo=1"
+      image: amd64/rust
     steps:
       - uses: actions/checkout@v4
-      - name: Cache Cargo
-        uses: actions/cache@v4
-        with:
-          # these represent dependencies downloaded by cargo
-          # and thus do not depend on the OS, arch nor rust version.
-          path: /github/home/.cargo
-          key: cargo-cache-
-      - name: Cache Rust dependencies
-        uses: actions/cache@v4
         with:
-          # these represent compiled steps of both dependencies and arrow
-          # and thus are specific for a particular OS, arch and rust version.
-          path: /github/home/target
-          key: ${{ runner.os }}-${{ matrix.arch }}-target-cache-${{ 
matrix.rust }}-
+          submodules: true
       - name: Setup Rust toolchain
         uses: ./.github/actions/setup-builder
-        with:
-          rust-version: ${{ matrix.rust }}
-      - name: Build workspace in release mode
+      - name: Prepare cargo build
         run: |
-          cargo build --release
-          ls -l /github/home/target/release
-        env:
-          CARGO_HOME: "/github/home/.cargo"
-          CARGO_TARGET_DIR: "/github/home/target"
-      - name: Save artifacts
-        uses: actions/upload-artifact@v4
-        with:
-          name: rust-artifacts
-          path: |
-            /github/home/target/release/ballista-scheduler
-            /github/home/target/release/ballista-executor
+          # Adding `--locked` here to assert that the `Cargo.lock` file is up 
to
+          # date with the manifest. When this fails, please make sure to commit
+          # the changes to `Cargo.lock` after building with the updated 
manifest.
+          cargo check --profile ci --workspace --all-targets --locked
 
-  # test the crate
   linux-test:
-    name: Test Workspace on AMD64 Rust ${{ matrix.rust }}
-    needs: [linux-build-lib]
+    name: test linux crates
     runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        arch: [amd64]
-        rust: [stable]
     container:
-      image: ${{ matrix.arch }}/rust
-      env:
-        # Disable full debug symbol generation to speed up CI build and keep 
memory down
-        # "1" means line tables only, which is useful for panic tracebacks.
-        RUSTFLAGS: "-C debuginfo=1"
+      image: amd64/rust
     steps:
       - uses: actions/checkout@v4
         with:
           submodules: true
-      - name: Install protobuf compiler
-        shell: bash
-        run: |
-          apt-get -qq update && apt-get -y -qq install protobuf-compiler
-          protoc --version
-      - name: Cache Cargo
-        uses: actions/cache@v4
-        with:
-          path: /github/home/.cargo
-          # this key equals the ones on `linux-build-lib` for re-use
-          key: cargo-cache-
-      - name: Cache Rust dependencies
-        uses: actions/cache@v4
-        with:
-          path: /github/home/target
-          # this key equals the ones on `linux-build-lib` for re-use
-          key: ${{ runner.os }}-${{ matrix.arch }}-target-cache-${{ 
matrix.rust }}
       - name: Setup Rust toolchain
         uses: ./.github/actions/setup-builder
-        with:
-          rust-version: ${{ matrix.rust }}
       - name: Run tests
         run: |
           export PATH=$PATH:$HOME/d/protoc/bin
           export ARROW_TEST_DATA=$(pwd)/testing/data
           export PARQUET_TEST_DATA=$(pwd)/parquet-testing/data
-          cargo test --features=testcontainers
+          cargo test --profile ci --features=testcontainers
         env:
           CARGO_HOME: "/github/home/.cargo"
           CARGO_TARGET_DIR: "/github/home/target"
+
+  linux-build-workspace:
+    name: check linux workspace
+    runs-on: ubuntu-latest
+    container:
+      image: amd64/rust
+    steps:
+      - uses: actions/checkout@v4
+        with:
+          submodules: true
+      - name: Setup Rust toolchain
+        uses: ./.github/actions/setup-builder
       - name: Try to compile when `--no-default-features` is selected
         run: |
           export PATH=$PATH:$HOME/d/protoc/bin
           export ARROW_TEST_DATA=$(pwd)/testing/data
           export PARQUET_TEST_DATA=$(pwd)/parquet-testing/data
-          cargo build -p ballista-scheduler -p ballista-executor -p 
ballista-core -p ballista --no-default-features
+          cargo check --profile ci -p ballista-scheduler -p ballista-executor 
-p ballista-core -p ballista --no-default-features --locked
         env:
           CARGO_HOME: "/github/home/.cargo"
           CARGO_TARGET_DIR: "/github/home/target"
 
-  # run ballista tests
   ballista-test:
-    name: Test Ballista on AMD64 Rust ${{ matrix.rust }}
-    needs: [linux-build-lib]
+    name: test linux balista
     runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        arch: [amd64]
-        rust: [stable]
     container:
-      image: ${{ matrix.arch }}/rust
-      env:
-        # Disable full debug symbol generation to speed up CI build and keep 
memory down
-        # "1" means line tables only, which is useful for panic tracebacks.
-        RUSTFLAGS: "-C debuginfo=1"
+      image: amd64/rust
     steps:
       - uses: actions/checkout@v4
         with:
           submodules: true
-      - name: Install protobuf compiler
-        shell: bash
-        run: |
-          mkdir -p $HOME/d/protoc
-          cd $HOME/d/protoc
-          export PROTO_ZIP="protoc-21.4-linux-x86_64.zip"
-          curl -LO 
https://github.com/protocolbuffers/protobuf/releases/download/v21.4/$PROTO_ZIP
-          unzip $PROTO_ZIP
-          export PATH=$PATH:$HOME/d/protoc/bin
-          protoc --version
-      - name: Cache Cargo
-        uses: actions/cache@v4
-        with:
-          path: /github/home/.cargo
-          # this key equals the ones on `linux-build-lib` for re-use
-          key: cargo-cache-
-      - name: Cache Rust dependencies
-        uses: actions/cache@v4
-        with:
-          path: /github/home/target
-          # this key equals the ones on `linux-build-lib` for re-use
-          key: ${{ runner.os }}-${{ matrix.arch }}-target-cache-${{ 
matrix.rust }}
       - name: Setup Rust toolchain
         uses: ./.github/actions/setup-builder
-        with:
-          rust-version: ${{ matrix.rust }}
-      # Ballista is currently not part of the main workspace so requires a 
separate test step
       - name: Run Ballista tests
         run: |
           export PATH=$PATH:$HOME/d/protoc/bin
@@ -184,108 +118,62 @@ jobs:
           export PARQUET_TEST_DATA=$(pwd)/parquet-testing/data
           cd ballista
           # Ensure also compiles in standalone mode
-          cargo test --no-default-features --features standalone
+          cargo test --profile ci --no-default-features --features standalone 
--locked
         env:
           CARGO_HOME: "/github/home/.cargo"
           CARGO_TARGET_DIR: "/github/home/target"
 
-  windows-and-macos:
-    name: Test on ${{ matrix.os }} Rust ${{ matrix.rust }}
-    runs-on: ${{ matrix.os }}
-    strategy:
-      matrix:
-        os: [windows-latest, macos-latest]
-        rust: [stable]
+  windows-test:
+    name: windows test
+    runs-on: windows-latest
     steps:
       - uses: actions/checkout@v4
         with:
           submodules: true
-      - name: Install protobuf macos compiler
-        shell: bash
-        run: |
-          mkdir -p $HOME/d/protoc
-          cd $HOME/d/protoc
-          export PROTO_ZIP="protoc-21.4-osx-x86_64.zip"
-          curl -LO 
https://github.com/protocolbuffers/protobuf/releases/download/v21.4/$PROTO_ZIP
-          unzip $PROTO_ZIP
-          echo "$HOME/d/protoc/bin" >> $GITHUB_PATH
-          export PATH=$PATH:$HOME/d/protoc/bin
-          protoc --version
-        if: ${{matrix.os == 'macos-latest'}}
-      - name: Install protobuf windows compiler
+      - name: Setup Rust toolchain
+        uses: ./.github/actions/setup-windows-builder
+      - name: Run tests
         shell: bash
         run: |
-          mkdir -p $HOME/d/protoc
-          cd $HOME/d/protoc
-          export PROTO_ZIP="protoc-21.4-win64.zip"
-          curl -LO 
https://github.com/protocolbuffers/protobuf/releases/download/v21.4/$PROTO_ZIP
-          unzip $PROTO_ZIP
           export PATH=$PATH:$HOME/d/protoc/bin
-          protoc.exe --version
-        if: ${{matrix.os == 'windows-latest'}}
-      # TODO: this won't cache anything, which is expensive. Setup this action
-      # with a OS-dependent path.
+          export ARROW_TEST_DATA=$(pwd)/testing/data
+          export PARQUET_TEST_DATA=$(pwd)/parquet-testing/data
+          export TMP=$(pwd)/.temp
+          mkdir -p "$TMP"
+          cargo test --profile ci --locked
+
+  macos-test:
+    name: macos test
+    runs-on: macos-latest
+    steps:
+      - uses: actions/checkout@v4
+        with:
+          submodules: true
       - name: Setup Rust toolchain
-        run: |
-          rustup toolchain install ${{ matrix.rust }}
-          rustup default ${{ matrix.rust }}
-          rustup component add rustfmt
+        uses: ./.github/actions/setup-macos-builder
       - name: Run tests
         shell: bash
         run: |
           export PATH=$PATH:$HOME/d/protoc/bin
           export ARROW_TEST_DATA=$(pwd)/testing/data
           export PARQUET_TEST_DATA=$(pwd)/parquet-testing/data
-          export TMP=$(pwd)/.temp
-          mkdir -p "$TMP"
-          cargo test
-        env:
-          # do not produce debug symbols to keep memory usage down
-          RUSTFLAGS: "-C debuginfo=0"
+          cargo test --profile ci --locked
 
   # verify that the benchmark queries return the correct results
   verify-benchmark-results:
     name: verify benchmark results (amd64)
-    needs: [linux-build-lib]
     runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        arch: [amd64]
-        rust: [stable]
     container:
-      image: ${{ matrix.arch }}/rust
-      env:
-        # Disable full debug symbol generation to speed up CI build and keep 
memory down
-        # "1" means line tables only, which is useful for panic tracebacks.
-        RUSTFLAGS: "-C debuginfo=1"
+      image: amd64/rust
     steps:
       - uses: actions/checkout@v4
         with:
           submodules: true
-      - name: Install protobuf compiler
-        shell: bash
-        run: |
-          apt-get -qq update && apt-get -y -qq install protobuf-compiler
-          protoc --version
-      - name: Cache Cargo
-        uses: actions/cache@v4
-        with:
-          path: /github/home/.cargo
-          # this key equals the ones on `linux-build-lib` for re-use
-          key: cargo-cache-
-      - name: Cache Rust dependencies
-        uses: actions/cache@v4
-        with:
-          path: /github/home/target
-          # this key equals the ones on `linux-build-lib` for re-use
-          key: ${{ runner.os }}-${{ matrix.arch }}-target-cache-${{ 
matrix.rust }}
       - name: Setup Rust toolchain
         uses: ./.github/actions/setup-builder
-        with:
-          rust-version: ${{ matrix.rust }}
       - name: Verify that benchmark queries return expected results
         run: |
-          cargo test --package ballista-benchmarks --profile release-nonlto 
--features=ci -- --test-threads=1
+          cargo test --package ballista-benchmarks --profile release-nonlto 
--features=ci --locked -- --test-threads=1
 
   lint:
     name: Lint
@@ -307,7 +195,6 @@ jobs:
 
   clippy:
     name: Clippy
-    needs: [linux-build-lib]
     runs-on: ubuntu-latest
     strategy:
       matrix:
@@ -323,18 +210,6 @@ jobs:
       - uses: actions/checkout@v4
         with:
           submodules: true
-      - name: Cache Cargo
-        uses: actions/cache@v4
-        with:
-          path: /github/home/.cargo
-          # this key equals the ones on `linux-build-lib` for re-use
-          key: cargo-cache-
-      - name: Cache Rust dependencies
-        uses: actions/cache@v4
-        with:
-          path: /github/home/target
-          # this key equals the ones on `linux-build-lib` for re-use
-          key: ${{ runner.os }}-${{ matrix.arch }}-target-cache-${{ 
matrix.rust }}
       - name: Setup Rust toolchain
         uses: ./.github/actions/setup-builder
         with:
@@ -350,7 +225,6 @@ jobs:
 
   cargo-toml-formatting-checks:
     name: Check Cargo.toml formatting
-    needs: [linux-build-lib]
     runs-on: ubuntu-latest
     strategy:
       matrix:
@@ -366,18 +240,6 @@ jobs:
       - uses: actions/checkout@v4
         with:
           submodules: true
-      - name: Cache Cargo
-        uses: actions/cache@v4
-        with:
-          path: /github/home/.cargo
-          # this key equals the ones on `linux-build-lib` for re-use
-          key: cargo-cache-
-      - name: Cache Rust dependencies
-        uses: actions/cache@v4
-        with:
-          path: /github/home/target
-          # this key equals the ones on `linux-build-lib` for re-use
-          key: ${{ runner.os }}-${{ matrix.arch }}-target-cache-${{ 
matrix.rust }}
       - name: Setup Rust toolchain
         uses: ./.github/actions/setup-builder
         with:
@@ -441,4 +303,4 @@ jobs:
 #         CARGO_TARGET_DIR: "/home/runner/target"
 #     - name: Report coverage
 #       continue-on-error: true
-#       run: bash <(curl -s https://codecov.io/bash)
+#       run: bash <(curl -s https://codecov.io/bash)
\ No newline at end of file
diff --git a/Cargo.toml b/Cargo.toml
index 858c949a..af2ac673 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -77,3 +77,14 @@ opt-level = 3
 overflow-checks = false
 panic = 'unwind'
 rpath = false
+
+[profile.ci]
+inherits = "dev"
+incremental = false
+
+# ci turns off debug info, etc. for dependencies to allow for smaller binaries 
making caching more effective
+[profile.ci.package."*"]
+debug = false
+debug-assertions = false
+strip = "debuginfo"
+incremental = false
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@datafusion.apache.org
For additional commands, e-mail: commits-h...@datafusion.apache.org

Reply via email to