diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7a3bb9e925..410f05cf08 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,6 +20,7 @@ env: CARGO_TERM_COLOR: always CARGO_UNSTABLE_SPARSE_REGISTRY: true CARGO_INCREMENTAL: 0 + RUSTUP_PERMIT_COPY_RENAME: true PROTOC: protoc TERM: unknown ## Must be a JSon string @@ -69,12 +70,16 @@ jobs: tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.nightly_toolchain }}-nightly-${{ hashFiles('**/Cargo.lock') }}-small tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.nightly_toolchain }}-nightly-${{ hashFiles('**/Cargo.lock') }} tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.nightly_toolchain }}-nightly + - name: rust-toolchain.toml override by renaming + run: mv rust-toolchain.toml rust-toolchain.toml.bak - name: cargo format - run: cargo +nightly fmt --all -- --check + run: cargo +${{ env.nightly_toolchain }} fmt --all -- --check - name: Install cargo-lints run: cargo install cargo-lints - name: Clippy check (with lints) - run: cargo +nightly lints clippy --all-targets --all-features + run: cargo +${{ env.nightly_toolchain }} lints clippy --all-targets --all-features + - name: rust-toolchain.toml.bak renaming back + run: mv rust-toolchain.toml.bak rust-toolchain.toml machete: # Checks for unused dependencies. @@ -109,11 +114,11 @@ jobs: ~/.cargo/registry/CACHEDIR.TAG ~/.cargo/git target - key: tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.toolchain }}-nightly-${{ hashFiles('**/Cargo.lock') }}-small + key: tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.toolchain }}-stable-${{ hashFiles('**/Cargo.lock') }}-small restore-keys: | - tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.toolchain }}-nightly-${{ hashFiles('**/Cargo.lock') }}-small - tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.toolchain }}-nightly-${{ hashFiles('**/Cargo.lock') }} - tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.toolchain }}-nightly + tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.toolchain }}-stable-${{ hashFiles('**/Cargo.lock') }}-small + tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.toolchain }}-stable-${{ hashFiles('**/Cargo.lock') }} + tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.toolchain }}-stable - name: cargo machete run: | cargo install cargo-machete @@ -153,8 +158,6 @@ jobs: tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.toolchain }}-stable-${{ hashFiles('**/Cargo.lock') }} tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.toolchain }}-stable tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.toolchain }} - - name: rust-toolchain.toml override by removing - run: rm -f rust-toolchain.toml - name: toolchain uses: dtolnay/rust-toolchain@stable with: @@ -184,7 +187,7 @@ jobs: licenses: name: file licenses - runs-on: [ubuntu-20.04] + runs-on: [ubuntu-latest] steps: - name: checkout uses: actions/checkout@v4 @@ -228,7 +231,7 @@ jobs: - name: Cache cargo files and outputs if: startsWith(runner.environment,'github-hosted') uses: Swatinem/rust-cache@v2 - - name: caching (nightly) + - name: caching (stable) if: startsWith(runner.environment,'self-hosted') # Don't use rust-cache. # Rust-cache disables a key feature of actions/cache: restoreKeys. @@ -243,11 +246,11 @@ jobs: ~/.cargo/registry/CACHEDIR.TAG ~/.cargo/git target - key: tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.toolchain }}-nightly-${{ hashFiles('**/Cargo.lock') }}-${{ matrix.tari_target_network.target }} + key: tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.toolchain }}-stable-${{ hashFiles('**/Cargo.lock') }}-${{ matrix.tari_target_network.target }} restore-keys: | - tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.toolchain }}-nightly-${{ hashFiles('**/Cargo.lock') }}-${{ matrix.tari_target_network.network }} - tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.toolchain }}-nightly-${{ hashFiles('**/Cargo.lock') }} - tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.toolchain }}-nightly + tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.toolchain }}-stable-${{ hashFiles('**/Cargo.lock') }}-${{ matrix.tari_target_network.network }} + tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.toolchain }}-stable-${{ hashFiles('**/Cargo.lock') }} + tari-${{ runner.os }}-${{ runner.cpu-model }}-${{ env.toolchain }}-stable - name: Install cargo-nextest run: cargo install cargo-nextest --locked --force - name: cargo test compile