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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]