diff --git a/.github/workflows/gen_centos8.yml b/.github/workflows/gen_centos8.yml index fb70b597058..b239e6945b9 100644 --- a/.github/workflows/gen_centos8.yml +++ b/.github/workflows/gen_centos8.yml @@ -26,6 +26,10 @@ jobs: build: runs-on: "ubuntu-latest" container: "quay.io/centos/centos:stream8" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "Install config manager" @@ -55,10 +59,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "centos8-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_centos8_continuous.yml b/.github/workflows/gen_centos8_continuous.yml index 16795d49465..50a2dae0834 100644 --- a/.github/workflows/gen_centos8_continuous.yml +++ b/.github/workflows/gen_centos8_continuous.yml @@ -30,6 +30,9 @@ jobs: container: "quay.io/centos/centos:stream8" env: BUILD_REASON: "Schedule" + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "Install config manager" @@ -59,10 +62,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "centos8-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_centos8_tag.yml b/.github/workflows/gen_centos8_tag.yml index 32f1ccbeaef..2bd7f06dfed 100644 --- a/.github/workflows/gen_centos8_tag.yml +++ b/.github/workflows/gen_centos8_tag.yml @@ -9,6 +9,10 @@ jobs: build: runs-on: "ubuntu-latest" container: "quay.io/centos/centos:stream8" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "Install config manager" @@ -38,10 +42,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "centos8-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_centos9.yml b/.github/workflows/gen_centos9.yml index d9389c6829e..bd20b6442fc 100644 --- a/.github/workflows/gen_centos9.yml +++ b/.github/workflows/gen_centos9.yml @@ -26,6 +26,10 @@ jobs: build: runs-on: "ubuntu-latest" container: "quay.io/centos/centos:stream9" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "Install config manager" @@ -55,10 +59,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "centos9-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_centos9_continuous.yml b/.github/workflows/gen_centos9_continuous.yml index 61bcb411e96..030d11729b1 100644 --- a/.github/workflows/gen_centos9_continuous.yml +++ b/.github/workflows/gen_centos9_continuous.yml @@ -30,6 +30,9 @@ jobs: container: "quay.io/centos/centos:stream9" env: BUILD_REASON: "Schedule" + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "Install config manager" @@ -59,10 +62,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "centos9-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_centos9_tag.yml b/.github/workflows/gen_centos9_tag.yml index 7e0cea50063..e04f2f047f2 100644 --- a/.github/workflows/gen_centos9_tag.yml +++ b/.github/workflows/gen_centos9_tag.yml @@ -9,6 +9,10 @@ jobs: build: runs-on: "ubuntu-latest" container: "quay.io/centos/centos:stream9" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "Install config manager" @@ -38,10 +42,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "centos9-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_debian10.3.yml b/.github/workflows/gen_debian10.3.yml index dfe23495d81..81901718b3a 100644 --- a/.github/workflows/gen_debian10.3.yml +++ b/.github/workflows/gen_debian10.3.yml @@ -26,6 +26,10 @@ jobs: build: runs-on: "ubuntu-latest" container: "debian:10.3" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "set APT to non-interactive" @@ -58,10 +62,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "debian10.3-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_debian10.3_continuous.yml b/.github/workflows/gen_debian10.3_continuous.yml index 556180d1635..c4b2ad00c35 100644 --- a/.github/workflows/gen_debian10.3_continuous.yml +++ b/.github/workflows/gen_debian10.3_continuous.yml @@ -30,6 +30,9 @@ jobs: container: "debian:10.3" env: BUILD_REASON: "Schedule" + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "set APT to non-interactive" @@ -62,10 +65,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "debian10.3-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_debian10.3_tag.yml b/.github/workflows/gen_debian10.3_tag.yml index a16b511136f..815ca454b14 100644 --- a/.github/workflows/gen_debian10.3_tag.yml +++ b/.github/workflows/gen_debian10.3_tag.yml @@ -9,6 +9,10 @@ jobs: build: runs-on: "ubuntu-latest" container: "debian:10.3" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "set APT to non-interactive" @@ -41,10 +45,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "debian10.3-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_debian11.yml b/.github/workflows/gen_debian11.yml index 2988e6115f0..ef431cf9fcc 100644 --- a/.github/workflows/gen_debian11.yml +++ b/.github/workflows/gen_debian11.yml @@ -26,6 +26,10 @@ jobs: build: runs-on: "ubuntu-latest" container: "debian:11" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "set APT to non-interactive" @@ -58,10 +62,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "debian11-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_debian11_continuous.yml b/.github/workflows/gen_debian11_continuous.yml index 71231a9ad9c..125b3d523b8 100644 --- a/.github/workflows/gen_debian11_continuous.yml +++ b/.github/workflows/gen_debian11_continuous.yml @@ -30,6 +30,9 @@ jobs: container: "debian:11" env: BUILD_REASON: "Schedule" + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "set APT to non-interactive" @@ -62,10 +65,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "debian11-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_debian11_tag.yml b/.github/workflows/gen_debian11_tag.yml index 397117c0bb5..4aa890aaf6f 100644 --- a/.github/workflows/gen_debian11_tag.yml +++ b/.github/workflows/gen_debian11_tag.yml @@ -9,6 +9,10 @@ jobs: build: runs-on: "ubuntu-latest" container: "debian:11" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "set APT to non-interactive" @@ -41,10 +45,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "debian11-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_debian12.yml b/.github/workflows/gen_debian12.yml index dc0114a0e30..235c526e8f0 100644 --- a/.github/workflows/gen_debian12.yml +++ b/.github/workflows/gen_debian12.yml @@ -26,6 +26,10 @@ jobs: build: runs-on: "ubuntu-latest" container: "debian:12" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "set APT to non-interactive" @@ -58,10 +62,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "debian12-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_debian12_continuous.yml b/.github/workflows/gen_debian12_continuous.yml index 2dc3cca4fec..ba25e252c8a 100644 --- a/.github/workflows/gen_debian12_continuous.yml +++ b/.github/workflows/gen_debian12_continuous.yml @@ -30,6 +30,9 @@ jobs: container: "debian:12" env: BUILD_REASON: "Schedule" + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "set APT to non-interactive" @@ -62,10 +65,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "debian12-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_debian12_tag.yml b/.github/workflows/gen_debian12_tag.yml index 1a649f3d101..7af97a69ae3 100644 --- a/.github/workflows/gen_debian12_tag.yml +++ b/.github/workflows/gen_debian12_tag.yml @@ -9,6 +9,10 @@ jobs: build: runs-on: "ubuntu-latest" container: "debian:12" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "set APT to non-interactive" @@ -41,10 +45,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "debian12-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_fedora37.yml b/.github/workflows/gen_fedora37.yml index c9068a5d944..3e6c83c580e 100644 --- a/.github/workflows/gen_fedora37.yml +++ b/.github/workflows/gen_fedora37.yml @@ -26,6 +26,10 @@ jobs: build: runs-on: "ubuntu-latest" container: "fedora:37" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "Install config manager" @@ -52,10 +56,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "fedora37-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_fedora37_continuous.yml b/.github/workflows/gen_fedora37_continuous.yml index a9ae2cafe24..7e2012ea56c 100644 --- a/.github/workflows/gen_fedora37_continuous.yml +++ b/.github/workflows/gen_fedora37_continuous.yml @@ -30,6 +30,9 @@ jobs: container: "fedora:37" env: BUILD_REASON: "Schedule" + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "Install config manager" @@ -56,10 +59,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "fedora37-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_fedora37_tag.yml b/.github/workflows/gen_fedora37_tag.yml index 77d107bcf6c..9ef22ae6048 100644 --- a/.github/workflows/gen_fedora37_tag.yml +++ b/.github/workflows/gen_fedora37_tag.yml @@ -9,6 +9,10 @@ jobs: build: runs-on: "ubuntu-latest" container: "fedora:37" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "Install config manager" @@ -35,10 +39,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "fedora37-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_fedora38.yml b/.github/workflows/gen_fedora38.yml index 626a94f566d..3ab0a78afaf 100644 --- a/.github/workflows/gen_fedora38.yml +++ b/.github/workflows/gen_fedora38.yml @@ -26,6 +26,10 @@ jobs: build: runs-on: "ubuntu-latest" container: "fedora:38" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "Install config manager" @@ -52,10 +56,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "fedora38-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_fedora38_continuous.yml b/.github/workflows/gen_fedora38_continuous.yml index b6b4d40cd41..ced24efd01c 100644 --- a/.github/workflows/gen_fedora38_continuous.yml +++ b/.github/workflows/gen_fedora38_continuous.yml @@ -30,6 +30,9 @@ jobs: container: "fedora:38" env: BUILD_REASON: "Schedule" + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "Install config manager" @@ -56,10 +59,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "fedora38-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_fedora38_tag.yml b/.github/workflows/gen_fedora38_tag.yml index 445b9038a1f..c89dfad2132 100644 --- a/.github/workflows/gen_fedora38_tag.yml +++ b/.github/workflows/gen_fedora38_tag.yml @@ -9,6 +9,10 @@ jobs: build: runs-on: "ubuntu-latest" container: "fedora:38" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "Install config manager" @@ -35,10 +39,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "fedora38-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_fedora39.yml b/.github/workflows/gen_fedora39.yml index f8a245ac798..8f0f5c666c5 100644 --- a/.github/workflows/gen_fedora39.yml +++ b/.github/workflows/gen_fedora39.yml @@ -26,6 +26,10 @@ jobs: build: runs-on: "ubuntu-latest" container: "fedora:39" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "Install config manager" @@ -52,10 +56,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "fedora39-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_fedora39_continuous.yml b/.github/workflows/gen_fedora39_continuous.yml index f84c017dded..9ed2becb208 100644 --- a/.github/workflows/gen_fedora39_continuous.yml +++ b/.github/workflows/gen_fedora39_continuous.yml @@ -30,6 +30,9 @@ jobs: container: "fedora:39" env: BUILD_REASON: "Schedule" + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "Install config manager" @@ -56,10 +59,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "fedora39-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_fedora39_tag.yml b/.github/workflows/gen_fedora39_tag.yml index cd11f7ccd07..e7f5dd89554 100644 --- a/.github/workflows/gen_fedora39_tag.yml +++ b/.github/workflows/gen_fedora39_tag.yml @@ -9,6 +9,10 @@ jobs: build: runs-on: "ubuntu-latest" container: "fedora:39" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "Install config manager" @@ -35,10 +39,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "fedora39-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_macos.yml b/.github/workflows/gen_macos.yml index 1bc992e3e1a..03b03d3e824 100644 --- a/.github/workflows/gen_macos.yml +++ b/.github/workflows/gen_macos.yml @@ -22,6 +22,9 @@ jobs: runs-on: "macos-11" env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" MACOSX_DEPLOYMENT_TARGET: "10.9" steps: @@ -34,6 +37,20 @@ jobs: - name: "Install Rust (ARM)" shell: bash run: "rustup target add aarch64-apple-darwin" + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor + with: + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_macos_continuous.yml b/.github/workflows/gen_macos_continuous.yml index 60d313c7896..2c54ec8f16b 100644 --- a/.github/workflows/gen_macos_continuous.yml +++ b/.github/workflows/gen_macos_continuous.yml @@ -25,6 +25,9 @@ jobs: env: BUILD_REASON: "Schedule" + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" MACOSX_DEPLOYMENT_TARGET: "10.9" steps: @@ -37,6 +40,20 @@ jobs: - name: "Install Rust (ARM)" shell: bash run: "rustup target add aarch64-apple-darwin" + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor + with: + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_macos_tag.yml b/.github/workflows/gen_macos_tag.yml index 6907b494814..a87e391cb96 100644 --- a/.github/workflows/gen_macos_tag.yml +++ b/.github/workflows/gen_macos_tag.yml @@ -10,6 +10,9 @@ jobs: runs-on: "macos-11" env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" MACOSX_DEPLOYMENT_TARGET: "10.9" steps: @@ -22,6 +25,20 @@ jobs: - name: "Install Rust (ARM)" shell: bash run: "rustup target add aarch64-apple-darwin" + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor + with: + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" @@ -63,7 +80,7 @@ jobs: shell: bash run: "cp wezterm.rb homebrew-wezterm/Casks/wezterm.rb" - name: "Commit homebrew tap changes" - uses: stefanzweifel/git-auto-commit-action@v5 + uses: stefanzweifel/git-auto-commit-action@v4 with: commit_message: "Automated update to match latest tag" repository: "homebrew-wezterm" diff --git a/.github/workflows/gen_ubuntu20.04.yml b/.github/workflows/gen_ubuntu20.04.yml index c1d4eb380fb..064fcba02d9 100644 --- a/.github/workflows/gen_ubuntu20.04.yml +++ b/.github/workflows/gen_ubuntu20.04.yml @@ -31,6 +31,10 @@ jobs: container: image: "ubuntu:20.04" options: --privileged + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "set APT to non-interactive" @@ -63,10 +67,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "ubuntu20.04-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_ubuntu20.04_continuous.yml b/.github/workflows/gen_ubuntu20.04_continuous.yml index 73f3acfb812..c896c4dda86 100644 --- a/.github/workflows/gen_ubuntu20.04_continuous.yml +++ b/.github/workflows/gen_ubuntu20.04_continuous.yml @@ -35,6 +35,9 @@ jobs: options: --privileged env: BUILD_REASON: "Schedule" + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "set APT to non-interactive" @@ -67,10 +70,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "ubuntu20.04-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_ubuntu20.04_tag.yml b/.github/workflows/gen_ubuntu20.04_tag.yml index e5121639e36..b046a082e0a 100644 --- a/.github/workflows/gen_ubuntu20.04_tag.yml +++ b/.github/workflows/gen_ubuntu20.04_tag.yml @@ -11,6 +11,10 @@ jobs: container: image: "ubuntu:20.04" options: --privileged + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "set APT to non-interactive" @@ -43,10 +47,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "ubuntu20.04-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" @@ -93,7 +107,7 @@ jobs: shell: bash run: "cp wezterm-linuxbrew.rb linuxbrew-wezterm/Formula/wezterm.rb" - name: "Commit linuxbrew tap changes" - uses: stefanzweifel/git-auto-commit-action@v5 + uses: stefanzweifel/git-auto-commit-action@v4 with: commit_message: "Automated update to match latest tag" repository: "linuxbrew-wezterm" diff --git a/.github/workflows/gen_ubuntu22.04.yml b/.github/workflows/gen_ubuntu22.04.yml index f0683c64b70..2e019b41368 100644 --- a/.github/workflows/gen_ubuntu22.04.yml +++ b/.github/workflows/gen_ubuntu22.04.yml @@ -26,6 +26,10 @@ jobs: build: runs-on: "ubuntu-latest" container: "ubuntu:22.04" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "set APT to non-interactive" @@ -58,10 +62,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "ubuntu22.04-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_ubuntu22.04_continuous.yml b/.github/workflows/gen_ubuntu22.04_continuous.yml index 8aa945471d9..7378cba8183 100644 --- a/.github/workflows/gen_ubuntu22.04_continuous.yml +++ b/.github/workflows/gen_ubuntu22.04_continuous.yml @@ -30,6 +30,9 @@ jobs: container: "ubuntu:22.04" env: BUILD_REASON: "Schedule" + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "set APT to non-interactive" @@ -62,10 +65,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "ubuntu22.04-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_ubuntu22.04_tag.yml b/.github/workflows/gen_ubuntu22.04_tag.yml index ac99461f214..ea96c312e33 100644 --- a/.github/workflows/gen_ubuntu22.04_tag.yml +++ b/.github/workflows/gen_ubuntu22.04_tag.yml @@ -9,6 +9,10 @@ jobs: build: runs-on: "ubuntu-latest" container: "ubuntu:22.04" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "set APT to non-interactive" @@ -41,10 +45,20 @@ jobs: submodules: "recursive" - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "ubuntu22.04-None-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Install System Deps" shell: bash run: "env CI=yes PATH=$PATH ./get-deps" diff --git a/.github/workflows/gen_windows.yml b/.github/workflows/gen_windows.yml index 56733bda40e..afe94c63ab9 100644 --- a/.github/workflows/gen_windows.yml +++ b/.github/workflows/gen_windows.yml @@ -19,6 +19,10 @@ jobs: build: runs-on: "windows-latest" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "checkout repo" @@ -29,10 +33,20 @@ jobs: uses: dtolnay/rust-toolchain@stable with: target: "x86_64-pc-windows-msvc" - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "windows-x86_64-pc-windows-msvc-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Build (Release mode)" shell: cmd run: | diff --git a/.github/workflows/gen_windows_continuous.yml b/.github/workflows/gen_windows_continuous.yml index ed6a66f004c..df21918cbcc 100644 --- a/.github/workflows/gen_windows_continuous.yml +++ b/.github/workflows/gen_windows_continuous.yml @@ -23,6 +23,9 @@ jobs: env: BUILD_REASON: "Schedule" + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "checkout repo" @@ -33,10 +36,20 @@ jobs: uses: dtolnay/rust-toolchain@stable with: target: "x86_64-pc-windows-msvc" - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "windows-x86_64-pc-windows-msvc-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Build (Release mode)" shell: cmd run: | diff --git a/.github/workflows/gen_windows_tag.yml b/.github/workflows/gen_windows_tag.yml index d8508b2bb64..20a8a6b20db 100644 --- a/.github/workflows/gen_windows_tag.yml +++ b/.github/workflows/gen_windows_tag.yml @@ -9,6 +9,10 @@ jobs: build: runs-on: "windows-latest" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" steps: - name: "checkout repo" @@ -19,10 +23,20 @@ jobs: uses: dtolnay/rust-toolchain@stable with: target: "x86_64-pc-windows-msvc" - - name: "Cache cargo" - uses: Swatinem/rust-cache@v2 + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.3 + - name: "Cache Rust Dependencies" + uses: actions/cache@v3 + id: cache-cargo-vendor with: - key: "windows-x86_64-pc-windows-msvc-2-${{ runner.os }}-cargo" + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - name: "Build (Release mode)" shell: cmd run: | diff --git a/ci/generate-workflows.py b/ci/generate-workflows.py index 15ec47728b9..d363aa64f1a 100755 --- a/ci/generate-workflows.py +++ b/ci/generate-workflows.py @@ -73,15 +73,18 @@ def render(self, f, depth=0): class RunStep(Step): - def __init__(self, name, run, shell="bash", env=None): + def __init__(self, name, run, shell="bash", env=None, condition=None): self.name = name self.run = run self.shell = shell self.env = env + self.condition = condition def render(self, f, depth=0): indent = " " * depth f.write(f"{indent}- name: {yv(self.name)}\n") + if self.condition: + f.write(f"{indent} if: {self.condition}\n") if self.env: f.write(f"{indent} env:\n") keys = list(self.env.keys()) @@ -98,17 +101,20 @@ def render(self, f, depth=0): class ActionStep(Step): - def __init__(self, name, action, params=None, env=None, condition=None): + def __init__(self, name, action, params=None, env=None, condition=None, id=None): self.name = name self.action = action self.params = params self.env = env self.condition = condition + self.id = id def render(self, f, depth=0): indent = " " * depth f.write(f"{indent}- name: {yv(self.name)}\n") f.write(f"{indent} uses: {self.action}\n") + if self.id: + f.write(f"{indent} id: {self.id}\n") if self.condition: f.write(f"{indent} if: {self.condition}\n") if self.params: @@ -122,15 +128,15 @@ def render(self, f, depth=0): class CacheStep(ActionStep): - def __init__(self, name, path, key): + def __init__(self, name, path, key, id=None): super().__init__( - name, action="actions/cache@v3", params={"path": path, "key": key} + name, action="actions/cache@v3", params={"path": path, "key": key}, id=id ) -class CacheRustStep(ActionStep): - def __init__(self, name, key): - super().__init__(name, action="Swatinem/rust-cache@v2", params={"key": key}) +class SccacheStep(ActionStep): + def __init__(self, name): + super().__init__(name, action="mozilla-actions/sccache-action@v0.0.3") class CheckoutStep(ActionStep): @@ -390,9 +396,19 @@ def install_rust(self, cache=True, toolchain="stable"): ] if cache: steps += [ - CacheRustStep( - name="Cache cargo", - key=f"{key_prefix}-cargo", + SccacheStep(name="Compile with sccache"), + # Cache vendored dependecies + CacheStep( + name="Cache Rust Dependencies", + path="vendor\n.cargo/config", + key="cargo-deps-${{ hashFiles('**/Cargo.lock') }}", + id="cache-cargo-vendor", + ), + # Vendor dependencies + RunStep( + name="Vendor dependecies", + condition="steps.cache-cargo-vendor.outputs.cache-hit != 'true'", + run="cargo vendor --locked --versioned-dirs >> .cargo/config", ), ] return steps @@ -767,6 +783,9 @@ def update_homebrew_tap(self): return steps def global_env(self): + self.env["CARGO_INCREMENTAL"] = "0" + self.env["SCCACHE_GHA_ENABLED"] = "true" + self.env["RUSTC_WRAPPER"] = "sccache" if "macos" in self.name: self.env["MACOSX_DEPLOYMENT_TARGET"] = "10.9" if "alpine" in self.name: @@ -842,6 +861,15 @@ def prep_environment(self, cache=True): "sed 's/root:!/root:*/g' -i /etc/shadow", ), ] + if "opensuse" in self.container: + steps += [ + # This holds the xcb bits + RunStep( + "Install tar", + "zypper install -yl tar gzip", + ), + ] + steps += self.install_newer_compiler() steps += self.install_git() steps += self.install_curl() @@ -854,7 +882,8 @@ def prep_environment(self, cache=True): steps += self.install_openssh_server() steps += self.checkout() - steps += self.install_rust(cache="mac" not in self.name) + # We should be able to cache mac builds now? + steps += self.install_rust() # cache="mac" not in self.name) steps += self.install_system_deps() return steps