From 52534aba7e682134ea7c433cff026e03b01001f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Mockers?= Date: Tue, 15 Jul 2025 00:06:23 +0200 Subject: [PATCH 1/9] workflow to create caches --- .github/workflows/update-caches.yml | 139 ++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 .github/workflows/update-caches.yml diff --git a/.github/workflows/update-caches.yml b/.github/workflows/update-caches.yml new file mode 100644 index 0000000000000..4f2df547608f7 --- /dev/null +++ b/.github/workflows/update-caches.yml @@ -0,0 +1,139 @@ +name: Update Actions Caches + +on: + # Manually + workflow_dispatch: + # On PR merge + push: + branches: + - main + # After nightly release + schedule: + - cron: "0 1 * * *" + +env: + CARGO_INCREMENTAL: 0 + CARGO_PROFILE_TEST_DEBUG: 0 + CARGO_PROFILE_DEV_DEBUG: 0 + # If nightly is breaking CI, modify this variable to target a specific nightly version. + NIGHTLY_TOOLCHAIN: nightly + +jobs: + env: + runs-on: ubuntu-latest + outputs: + NIGHTLY_TOOLCHAIN: ${{ steps.env.outputs.NIGHTLY_TOOLCHAIN }} + MSRV: ${{ steps.env.outputs.MSRV }} + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - name: get MSRV + id: msrv + run: | + msrv=`cargo metadata --no-deps --format-version 1 | jq --raw-output '.packages[] | select(.name=="bevy") | .rust_version'` + echo "MSRV=$msrv" >> $GITHUB_OUTPUT + - name: Expose Env + id: env + run: | + echo "NIGHTLY_TOOLCHAIN=${{ env.NIGHTLY_TOOLCHAIN }}" >> $GITHUB_OUTPUT + + build-caches: + name: Build Caches + needs: ["env"] + runs-on: ${{ matrix.os }} + strategy: + matrix: + include: + - os: ubuntu-latest + toolchain: stable + target: "" + - os: macos-latest + toolchain: stable + target: "" + - os: windows-latest + toolchain: stable + target: "" + - os: ubuntu-latest + toolchain: ${{ needs.env.outputs.NIGHTLY_TOOLCHAIN }} + target: "" + - os: ubuntu-latest + toolchain: ${{ needs.env.outputs.MSRV }} + target: "" + - os: macos-latest + toolchain: ${{ needs.env.outputs.NIGHTLY_TOOLCHAIN }} + target: "" + - os: ubuntu-latest + toolchain: ${{ needs.env.outputs.NIGHTLY_TOOLCHAIN }} + target: wasm32-unknown-unknown + - os: ubuntu-latest + toolchain: stable + target: wasm32-unknown-unknown + - os: ubuntu-latest + toolchain: stable + target: x86_64-unknown-none + - os: ubuntu-latest + toolchain: stable + target: thumbv6m-none-eabi + - os: ubuntu-latest + toolchain: stable + target: thumbv6m-none-eabi + - os: ubuntu-latest + toolchain: stable + target: aarch64-linux-android + - os: macos-latest + toolchain: stable + target: aarch64-apple-ios-sim + + steps: + - name: Get Date + id: get-date + run: | + echo "date=$(/bin/date -u "+%Y%m%d")" >> $GITHUB_OUTPUT + shell: bash + + - name: Checkout Bevy main branch + uses: actions/checkout@v4 + with: + repository: "bevyengine/bevy" + + - name: Setup Rust + id: rust + uses: dtolnay/rust-toolchain@main + with: + toolchain: ${{ matrix.toolchain }} + target: ${{ matrix.target }} + + - name: Create lock file + run: cargo update + + - name: Install Bevy dependencies + if: runner.os == 'linux' + run: | + sudo apt-get update; + DEBIAN_FRONTEND=noninteractive sudo apt-get install --no-install-recommends -yq \ + libasound2-dev libudev-dev libxkbcommon-x11-0; + + - uses: actions/cache/restore@v4 + id: cache + with: + key: ${{ runner.os }}-${{ matrix.toolchain }}-${{ matrix.target }}-${{ hashFiles('**/Cargo.toml') }}-${{ hashFiles('Cargo.lock') }}-${{ steps.get-date.outputs.date }} + + - name: Build dev cache + if: steps.cache.outputs.cache-hit != 'true' + run: cargo build --profile dev --package bevy + + - name: Build test cache + if: steps.cache.outputs.cache-hit != 'true' + run: cargo build --profile test --package bevy + + - name: Save cache + if: steps.cache.outputs.cache-hit != 'true' + uses: actions/cache/save@v4 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + key: ${{ runner.os }}-${{ matrix.toolchain }}-${{ matrix.target }}-${{ hashFiles('**/Cargo.toml') }}-${{ hashFiles('Cargo.lock') }}-${{ steps.get-date.outputs.date }} From f893744966b931da984b2eb629d95f74ab6e45e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Mockers?= Date: Tue, 15 Jul 2025 00:06:31 +0200 Subject: [PATCH 2/9] use cache in other jobs --- .github/workflows/ci.yml | 112 +++++++++++++++++--------- .github/workflows/example-run.yml | 36 ++++++++- .github/workflows/validation-jobs.yml | 62 +++++++++----- 3 files changed, 150 insertions(+), 60 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8ae7f6597ede9..b6199075fd2e1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,15 +30,19 @@ jobs: timeout-minutes: 30 steps: - uses: actions/checkout@v4 - - uses: actions/cache@v4 + - uses: actions/cache/restore@v4 with: + # key won't match, will rely on restore-keys + key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + restore-keys: | + ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + ${{ runner.os }}-stable-- path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - key: ${{ runner.os }}-cargo-build-stable-${{ hashFiles('**/Cargo.toml') }} - uses: dtolnay/rust-toolchain@stable - name: Install Linux dependencies uses: ./.github/actions/install-linux-deps @@ -53,15 +57,19 @@ jobs: timeout-minutes: 30 steps: - uses: actions/checkout@v4 - - uses: actions/cache@v4 + - uses: actions/cache/restore@v4 with: + # key won't match, will rely on restore-keys + key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + restore-keys: | + ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + ${{ runner.os }}-stable-- path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - key: ${{ runner.os }}-cargo-ci-${{ hashFiles('**/Cargo.toml') }} - uses: dtolnay/rust-toolchain@stable with: components: rustfmt, clippy @@ -79,15 +87,19 @@ jobs: timeout-minutes: 60 steps: - uses: actions/checkout@v4 - - uses: actions/cache@v4 + - uses: actions/cache/restore@v4 with: + # key won't match, will rely on restore-keys + key: ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}--${{ hashFiles('**/Cargo.toml') }}- + restore-keys: | + ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}--${{ hashFiles('**/Cargo.toml') }}- + ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}-- path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - key: ${{ runner.os }}-cargo-miri-${{ hashFiles('**/Cargo.toml') }} - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ env.NIGHTLY_TOOLCHAIN }} @@ -110,17 +122,19 @@ jobs: needs: ci steps: - uses: actions/checkout@v4 - - uses: actions/cache@v4 + - uses: actions/cache/restore@v4 with: + # key won't match, will rely on restore-keys + key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + restore-keys: | + ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + ${{ runner.os }}-stable-- path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - crates/bevy_ecs_compile_fail_tests/target/ - crates/bevy_reflect_compile_fail_tests/target/ - key: ${{ runner.os }}-cargo-check-compiles-${{ hashFiles('**/Cargo.toml') }} - uses: dtolnay/rust-toolchain@stable with: toolchain: stable @@ -129,23 +143,26 @@ jobs: - name: Check Compile # See tools/ci/src/main.rs for the commands this runs run: cargo run -p ci -- compile + check-compiles-no-std: runs-on: ubuntu-latest timeout-minutes: 30 needs: ci steps: - uses: actions/checkout@v4 - - uses: actions/cache@v4 + - uses: actions/cache/restore@v4 with: + # key won't match, will rely on restore-keys + key: ${{ runner.os }}-stable-x86_64-unknown-none-${{ hashFiles('**/Cargo.toml') }}- + restore-keys: | + ${{ runner.os }}-stable-x86_64-unknown-none-${{ hashFiles('**/Cargo.toml') }}- + ${{ runner.os }}-stable-x86_64-unknown-none- path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - crates/bevy_ecs_compile_fail_tests/target/ - crates/bevy_reflect_compile_fail_tests/target/ - key: ${{ runner.os }}-cargo-check-compiles-no-std-${{ hashFiles('**/Cargo.toml') }} - uses: dtolnay/rust-toolchain@stable with: targets: x86_64-unknown-none @@ -153,23 +170,26 @@ jobs: uses: ./.github/actions/install-linux-deps - name: Check Compile run: cargo check -p bevy --no-default-features --features default_no_std --target x86_64-unknown-none + check-compiles-no-std-portable-atomic: runs-on: ubuntu-latest timeout-minutes: 30 needs: ci steps: - uses: actions/checkout@v4 - - uses: actions/cache@v4 + - uses: actions/cache/restore@v4 with: + # key won't match, will rely on restore-keys + key: ${{ runner.os }}-stable-thumbv6m-none-eabi-${{ hashFiles('**/Cargo.toml') }}- + restore-keys: | + ${{ runner.os }}-stable-thumbv6m-none-eabi-${{ hashFiles('**/Cargo.toml') }}- + ${{ runner.os }}-stable-thumbv6m-none-eabi- path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - crates/bevy_ecs_compile_fail_tests/target/ - crates/bevy_reflect_compile_fail_tests/target/ - key: ${{ runner.os }}-cargo-check-compiles-no-std-portable-atomic-${{ hashFiles('**/Cargo.toml') }} - uses: dtolnay/rust-toolchain@stable with: targets: thumbv6m-none-eabi @@ -184,17 +204,19 @@ jobs: needs: ci steps: - uses: actions/checkout@v4 - - uses: actions/cache@v4 + - uses: actions/cache/restore@v4 with: + # key won't match, will rely on restore-keys + key: ${{ runner.os }}-stable-x86_64-unknown-none-${{ hashFiles('**/Cargo.toml') }}- + restore-keys: | + ${{ runner.os }}-stable-x86_64-unknown-none-${{ hashFiles('**/Cargo.toml') }}- + ${{ runner.os }}-stable-x86_64-unknown-none- path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - crates/bevy_ecs_compile_fail_tests/target/ - crates/bevy_reflect_compile_fail_tests/target/ - key: ${{ runner.os }}-cargo-check-compiles-no-std-examples-${{ hashFiles('**/Cargo.toml') }} - uses: dtolnay/rust-toolchain@stable with: targets: x86_64-unknown-none @@ -209,15 +231,19 @@ jobs: needs: build steps: - uses: actions/checkout@v4 - - uses: actions/cache@v4 + - uses: actions/cache/restore@v4 with: + # key won't match, will rely on restore-keys + key: ${{ runner.os }}-stable-wasm32-unknown-unknown-${{ hashFiles('**/Cargo.toml') }}- + restore-keys: | + ${{ runner.os }}-stable-wasm32-unknown-unknown-${{ hashFiles('**/Cargo.toml') }}- + ${{ runner.os }}-stable-wasm32-unknown-unknown- path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - key: ubuntu-assets-cargo-build-wasm-stable-${{ hashFiles('**/Cargo.toml') }} - uses: dtolnay/rust-toolchain@stable with: target: wasm32-unknown-unknown @@ -230,15 +256,19 @@ jobs: needs: build steps: - uses: actions/checkout@v4 - - uses: actions/cache@v4 + - uses: actions/cache/restore@v4 with: + # key won't match, will rely on restore-keys + key: ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}-wasm32-unknown-unknown-${{ hashFiles('**/Cargo.toml') }}- + restore-keys: | + ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}-wasm32-unknown-unknown-${{ hashFiles('**/Cargo.toml') }}- + ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}-wasm32-unknown-unknown- path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - key: ubuntu-assets-cargo-build-wasm-nightly-${{ hashFiles('**/Cargo.toml') }} - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ env.NIGHTLY_TOOLCHAIN }} @@ -309,15 +339,19 @@ jobs: timeout-minutes: 30 steps: - uses: actions/checkout@v4 - - uses: actions/cache@v4 + - uses: actions/cache/restore@v4 with: + # key won't match, will rely on restore-keys + key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + restore-keys: | + ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + ${{ runner.os }}-stable-- path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - key: ${{ runner.os }}-check-doc-${{ hashFiles('**/Cargo.toml') }} - uses: dtolnay/rust-toolchain@stable - name: Install Linux dependencies uses: ./.github/actions/install-linux-deps @@ -412,15 +446,6 @@ jobs: needs: build steps: - uses: actions/checkout@v4 - - uses: actions/cache@v4 - with: - path: | - ~/.cargo/bin/ - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - target/ - key: ${{ runner.os }}-cargo-msrv-${{ hashFiles('**/Cargo.toml') }} - uses: dtolnay/rust-toolchain@stable - name: get MSRV id: msrv @@ -430,6 +455,19 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ steps.msrv.outputs.msrv }} + - uses: actions/cache/restore@v4 + with: + # key won't match, will rely on restore-keys + key: ${{ runner.os }}-${{ steps.msrv.outputs.msrv }}--${{ hashFiles('**/Cargo.toml') }}- + restore-keys: | + ${{ runner.os }}-${{ steps.msrv.outputs.msrv }}--${{ hashFiles('**/Cargo.toml') }}- + ${{ runner.os }}-${{ steps.msrv.outputs.msrv }}-- + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ - name: Install Linux dependencies uses: ./.github/actions/install-linux-deps - name: Run cargo check diff --git a/.github/workflows/example-run.yml b/.github/workflows/example-run.yml index 676f676db5758..d761d34908381 100644 --- a/.github/workflows/example-run.yml +++ b/.github/workflows/example-run.yml @@ -24,6 +24,19 @@ jobs: - name: Disable audio # Disable audio through a patch. on github m1 runners, audio timeouts after 15 minutes run: git apply --ignore-whitespace tools/example-showcase/disable-audio.patch + - uses: actions/cache/restore@v4 + with: + # key won't match, will rely on restore-keys + key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + restore-keys: | + ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + ${{ runner.os }}-stable-- + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ - name: Run examples run: | for example in .github/example-run/*.ron; do @@ -84,16 +97,20 @@ jobs: run: | sudo add-apt-repository ppa:kisak/turtle -y sudo apt-get install --no-install-recommends libxkbcommon-x11-0 xvfb libgl1-mesa-dri libxcb-xfixes0-dev mesa-vulkan-drivers - - uses: actions/cache@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: actions/cache/restore@v4 with: + # key won't match, will rely on restore-keys + key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + restore-keys: | + ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + ${{ runner.os }}-stable-- path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - key: ${{ runner.os }}-cargo-run-examples-${{ hashFiles('**/Cargo.toml') }} - - uses: dtolnay/rust-toolchain@stable - name: Run examples run: | for example in .github/example-run/*.ron; do @@ -143,6 +160,19 @@ jobs: steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable + - uses: actions/cache/restore@v4 + with: + # key won't match, will rely on restore-keys + key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + restore-keys: | + ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + ${{ runner.os }}-stable-- + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ - name: Run examples shell: bash run: | diff --git a/.github/workflows/validation-jobs.yml b/.github/workflows/validation-jobs.yml index 36679408578ed..eff8662e52148 100644 --- a/.github/workflows/validation-jobs.yml +++ b/.github/workflows/validation-jobs.yml @@ -29,15 +29,22 @@ jobs: - uses: dtolnay/rust-toolchain@stable - - uses: actions/cache@v4 + - uses: actions/cache/restore@v4 with: + # key won't match, will rely on restore-keys + key: ${{ runner.os }}-stable-aarch64-apple-ios-sim-${{ hashFiles('**/Cargo.toml') }}- + restore-keys: | + ${{ runner.os }}-stable-aarch64-apple-ios-sim-${{ hashFiles('**/Cargo.toml') }}- + ${{ runner.os }}-stable-aarch64-apple-ios-sim- path: | - target - key: ${{ runner.os }}-ios-install-${{ hashFiles('**/Cargo.lock') }} + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ - # TODO: remove x86 target once it always run on arm GitHub runners - name: Add iOS targets - run: rustup target add aarch64-apple-ios x86_64-apple-ios aarch64-apple-ios-sim + run: rustup target add aarch64-apple-ios-sim - name: Build and install iOS app in iOS Simulator. run: cd examples/mobile && make install @@ -54,18 +61,22 @@ jobs: - name: Set up JDK 17 uses: actions/setup-java@v4 with: - java-version: '17' - distribution: 'temurin' + java-version: "17" + distribution: "temurin" - - uses: actions/cache@v4 + - uses: actions/cache/restore@v4 with: + # key won't match, will rely on restore-keys + key: ${{ runner.os }}-stable-aarch64-linux-android-${{ hashFiles('**/Cargo.toml') }}- + restore-keys: | + ${{ runner.os }}-stable-aarch64-linux-android-${{ hashFiles('**/Cargo.toml') }}- + ${{ runner.os }}-stable-aarch64-linux-android- path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - key: ${{ runner.os }}-cargo-build-android-${{ hashFiles('**/Cargo.toml') }} - name: Install Android targets run: rustup target add aarch64-linux-android @@ -90,16 +101,19 @@ jobs: with: target: wasm32-unknown-unknown - - uses: actions/cache@v4 + - uses: actions/cache/restore@v4 with: + # key won't match, will rely on restore-keys + key: ${{ runner.os }}-stable-wasm32-unknown-unknown-${{ hashFiles('**/Cargo.toml') }}- + restore-keys: | + ${{ runner.os }}-stable-wasm32-unknown-unknown-${{ hashFiles('**/Cargo.toml') }}- + ${{ runner.os }}-stable-wasm32-unknown-unknown- path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ - ~/.github/start-wasm-example/node_modules target/ - key: ${{ runner.os }}-wasm-run-examples-${{ hashFiles('**/Cargo.toml') }} - name: Install wasm-bindgen run: cargo install --force wasm-bindgen-cli @@ -167,18 +181,22 @@ jobs: timeout-minutes: 30 steps: - uses: actions/checkout@v4 - - uses: actions/cache@v4 + - uses: dtolnay/rust-toolchain@master with: + toolchain: ${{ env.NIGHTLY_TOOLCHAIN }} + - uses: actions/cache/restore@v4 + with: + # key won't match, will rely on restore-keys + key: ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}--${{ hashFiles('**/Cargo.toml') }}- + restore-keys: | + ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}--${{ hashFiles('**/Cargo.toml') }}- + ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}-- path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - key: ${{ runner.os }}-cargo-check-unused-dependencies-${{ hashFiles('**/Cargo.toml') }} - - uses: dtolnay/rust-toolchain@master - with: - toolchain: ${{ env.NIGHTLY_TOOLCHAIN }} - name: Installs cargo-udeps run: cargo install --force cargo-udeps - name: Install Linux dependencies @@ -192,16 +210,20 @@ jobs: timeout-minutes: 30 steps: - uses: actions/checkout@v4 - - uses: actions/cache@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: actions/cache/restore@v4 with: + # key won't match, will rely on restore-keys + key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + restore-keys: | + ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + ${{ runner.os }}-stable-- path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ - key: ${{ runner.os }}-cargo-check-showcase-patches-${{ hashFiles('**/Cargo.toml') }} - - uses: dtolnay/rust-toolchain@stable - name: Install Linux dependencies uses: ./.github/actions/install-linux-deps - name: Apply patches From 2e5680774207beeca756b20ad620c59b5280abc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Mockers?= Date: Tue, 15 Jul 2025 00:30:36 +0200 Subject: [PATCH 3/9] duplicate --- .github/workflows/update-caches.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/update-caches.yml b/.github/workflows/update-caches.yml index 4f2df547608f7..5657a7fe934b2 100644 --- a/.github/workflows/update-caches.yml +++ b/.github/workflows/update-caches.yml @@ -74,9 +74,6 @@ jobs: - os: ubuntu-latest toolchain: stable target: thumbv6m-none-eabi - - os: ubuntu-latest - toolchain: stable - target: thumbv6m-none-eabi - os: ubuntu-latest toolchain: stable target: aarch64-linux-android From 4ea76db8577ecf418ac9b0c00fb2bbb5e044a016 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Mockers?= Date: Tue, 15 Jul 2025 20:02:54 +0200 Subject: [PATCH 4/9] Apply suggestion from @BD103 Co-authored-by: BD103 <59022059+BD103@users.noreply.github.com> --- .github/workflows/update-caches.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update-caches.yml b/.github/workflows/update-caches.yml index 5657a7fe934b2..e4cd6746d0bee 100644 --- a/.github/workflows/update-caches.yml +++ b/.github/workflows/update-caches.yml @@ -23,7 +23,7 @@ jobs: runs-on: ubuntu-latest outputs: NIGHTLY_TOOLCHAIN: ${{ steps.env.outputs.NIGHTLY_TOOLCHAIN }} - MSRV: ${{ steps.env.outputs.MSRV }} + MSRV: ${{ steps.msrv.outputs.MSRV }} steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable From ab2d4a2167b5a8622132307507d3707dd0fbf2bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Mockers?= Date: Tue, 15 Jul 2025 20:03:12 +0200 Subject: [PATCH 5/9] Apply suggestion from @BD103 Co-authored-by: BD103 <59022059+BD103@users.noreply.github.com> --- .github/workflows/update-caches.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/update-caches.yml b/.github/workflows/update-caches.yml index e4cd6746d0bee..6f0ba159484ca 100644 --- a/.github/workflows/update-caches.yml +++ b/.github/workflows/update-caches.yml @@ -92,6 +92,7 @@ jobs: uses: actions/checkout@v4 with: repository: "bevyengine/bevy" + ref: "main" - name: Setup Rust id: rust From fb82c607a4b2b62481a6c4ddcaf86bb6c646c702 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Mockers?= Date: Tue, 15 Jul 2025 20:03:29 +0200 Subject: [PATCH 6/9] Apply suggestion from @BD103 Co-authored-by: BD103 <59022059+BD103@users.noreply.github.com> --- .github/workflows/update-caches.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/update-caches.yml b/.github/workflows/update-caches.yml index 6f0ba159484ca..7f05de165da57 100644 --- a/.github/workflows/update-caches.yml +++ b/.github/workflows/update-caches.yml @@ -105,11 +105,10 @@ jobs: run: cargo update - name: Install Bevy dependencies - if: runner.os == 'linux' - run: | - sudo apt-get update; - DEBIAN_FRONTEND=noninteractive sudo apt-get install --no-install-recommends -yq \ - libasound2-dev libudev-dev libxkbcommon-x11-0; + uses: ./.github/actions/install-linux-deps + with: + wayland: true + xkb: true - uses: actions/cache/restore@v4 id: cache From e5044809c04d83a3714bbf36db6db066127f290f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Mockers?= Date: Tue, 15 Jul 2025 20:06:07 +0200 Subject: [PATCH 7/9] note about environment variables --- .github/workflows/ci.yml | 1 + .github/workflows/example-run.yml | 1 + .github/workflows/update-caches.yml | 1 + .github/workflows/validation-jobs.yml | 1 + 4 files changed, 4 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b6199075fd2e1..739a21de60c56 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,6 +7,7 @@ on: branches: - release-* +# Environment variables must be kept in sync with all workflows that defines them. env: CARGO_TERM_COLOR: always CARGO_INCREMENTAL: 0 diff --git a/.github/workflows/example-run.yml b/.github/workflows/example-run.yml index d761d34908381..ce0eb8c814ab7 100644 --- a/.github/workflows/example-run.yml +++ b/.github/workflows/example-run.yml @@ -8,6 +8,7 @@ on: branches: - main +# Environment variables must be kept in sync with all workflows that defines them. env: CARGO_TERM_COLOR: always CARGO_INCREMENTAL: 0 diff --git a/.github/workflows/update-caches.yml b/.github/workflows/update-caches.yml index 7f05de165da57..e08eb6dedc432 100644 --- a/.github/workflows/update-caches.yml +++ b/.github/workflows/update-caches.yml @@ -11,6 +11,7 @@ on: schedule: - cron: "0 1 * * *" +# Environment variables must be kept in sync with all workflows that defines them. env: CARGO_INCREMENTAL: 0 CARGO_PROFILE_TEST_DEBUG: 0 diff --git a/.github/workflows/validation-jobs.yml b/.github/workflows/validation-jobs.yml index eff8662e52148..2097e6f6e5ff7 100644 --- a/.github/workflows/validation-jobs.yml +++ b/.github/workflows/validation-jobs.yml @@ -11,6 +11,7 @@ concurrency: group: ${{github.workflow}}-${{github.ref}} cancel-in-progress: ${{github.event_name == 'pull_request'}} +# Environment variables must be kept in sync with all workflows that defines them. env: CARGO_TERM_COLOR: always CARGO_INCREMENTAL: 0 From c433a7d9436fef3897c36e9518d56ee50aa532d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Mockers?= Date: Tue, 15 Jul 2025 21:01:55 +0200 Subject: [PATCH 8/9] comment about keys --- .github/workflows/ci.yml | 11 +++++++++++ .github/workflows/example-run.yml | 3 +++ .github/workflows/validation-jobs.yml | 5 +++++ 3 files changed, 19 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 739a21de60c56..a9655b72514a3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,6 +35,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + # See .github/workflows/validation-jobs.yml for how keys are generted restore-keys: | ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-- @@ -62,6 +63,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + # See .github/workflows/validation-jobs.yml for how keys are generted restore-keys: | ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-- @@ -92,6 +94,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}--${{ hashFiles('**/Cargo.toml') }}- + # See .github/workflows/validation-jobs.yml for how keys are generted restore-keys: | ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}-- @@ -127,6 +130,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + # See .github/workflows/validation-jobs.yml for how keys are generted restore-keys: | ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-- @@ -155,6 +159,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable-x86_64-unknown-none-${{ hashFiles('**/Cargo.toml') }}- + # See .github/workflows/validation-jobs.yml for how keys are generted restore-keys: | ${{ runner.os }}-stable-x86_64-unknown-none-${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-x86_64-unknown-none- @@ -182,6 +187,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable-thumbv6m-none-eabi-${{ hashFiles('**/Cargo.toml') }}- + # See .github/workflows/validation-jobs.yml for how keys are generted restore-keys: | ${{ runner.os }}-stable-thumbv6m-none-eabi-${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-thumbv6m-none-eabi- @@ -209,6 +215,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable-x86_64-unknown-none-${{ hashFiles('**/Cargo.toml') }}- + # See .github/workflows/validation-jobs.yml for how keys are generted restore-keys: | ${{ runner.os }}-stable-x86_64-unknown-none-${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-x86_64-unknown-none- @@ -236,6 +243,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable-wasm32-unknown-unknown-${{ hashFiles('**/Cargo.toml') }}- + # See .github/workflows/validation-jobs.yml for how keys are generted restore-keys: | ${{ runner.os }}-stable-wasm32-unknown-unknown-${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-wasm32-unknown-unknown- @@ -261,6 +269,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}-wasm32-unknown-unknown-${{ hashFiles('**/Cargo.toml') }}- + # See .github/workflows/validation-jobs.yml for how keys are generted restore-keys: | ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}-wasm32-unknown-unknown-${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}-wasm32-unknown-unknown- @@ -344,6 +353,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + # See .github/workflows/validation-jobs.yml for how keys are generted restore-keys: | ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-- @@ -460,6 +470,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-${{ steps.msrv.outputs.msrv }}--${{ hashFiles('**/Cargo.toml') }}- + # See .github/workflows/validation-jobs.yml for how keys are generted restore-keys: | ${{ runner.os }}-${{ steps.msrv.outputs.msrv }}--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-${{ steps.msrv.outputs.msrv }}-- diff --git a/.github/workflows/example-run.yml b/.github/workflows/example-run.yml index ce0eb8c814ab7..4f10ed9c817bf 100644 --- a/.github/workflows/example-run.yml +++ b/.github/workflows/example-run.yml @@ -29,6 +29,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + # See .github/workflows/validation-jobs.yml for how keys are generted restore-keys: | ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-- @@ -103,6 +104,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + # See .github/workflows/validation-jobs.yml for how keys are generted restore-keys: | ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-- @@ -165,6 +167,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + # See .github/workflows/validation-jobs.yml for how keys are generted restore-keys: | ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-- diff --git a/.github/workflows/validation-jobs.yml b/.github/workflows/validation-jobs.yml index 2097e6f6e5ff7..d135b6be824a0 100644 --- a/.github/workflows/validation-jobs.yml +++ b/.github/workflows/validation-jobs.yml @@ -34,6 +34,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable-aarch64-apple-ios-sim-${{ hashFiles('**/Cargo.toml') }}- + # See .github/workflows/validation-jobs.yml for how keys are generted restore-keys: | ${{ runner.os }}-stable-aarch64-apple-ios-sim-${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-aarch64-apple-ios-sim- @@ -69,6 +70,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable-aarch64-linux-android-${{ hashFiles('**/Cargo.toml') }}- + # See .github/workflows/validation-jobs.yml for how keys are generted restore-keys: | ${{ runner.os }}-stable-aarch64-linux-android-${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-aarch64-linux-android- @@ -106,6 +108,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable-wasm32-unknown-unknown-${{ hashFiles('**/Cargo.toml') }}- + # See .github/workflows/validation-jobs.yml for how keys are generted restore-keys: | ${{ runner.os }}-stable-wasm32-unknown-unknown-${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-wasm32-unknown-unknown- @@ -189,6 +192,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}--${{ hashFiles('**/Cargo.toml') }}- + # See .github/workflows/validation-jobs.yml for how keys are generted restore-keys: | ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}-- @@ -216,6 +220,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- + # See .github/workflows/validation-jobs.yml for how keys are generted restore-keys: | ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-- From ca0c08348108f76c3144f75ba18143915b233996 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Mockers?= Date: Tue, 15 Jul 2025 21:04:00 +0200 Subject: [PATCH 9/9] typo --- .github/workflows/ci.yml | 22 +++++++++++----------- .github/workflows/example-run.yml | 6 +++--- .github/workflows/validation-jobs.yml | 10 +++++----- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a9655b72514a3..f7dd5ef4d6d6e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,7 +35,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- - # See .github/workflows/validation-jobs.yml for how keys are generted + # See .github/workflows/validation-jobs.yml for how keys are generated restore-keys: | ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-- @@ -63,7 +63,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- - # See .github/workflows/validation-jobs.yml for how keys are generted + # See .github/workflows/validation-jobs.yml for how keys are generated restore-keys: | ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-- @@ -94,7 +94,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}--${{ hashFiles('**/Cargo.toml') }}- - # See .github/workflows/validation-jobs.yml for how keys are generted + # See .github/workflows/validation-jobs.yml for how keys are generated restore-keys: | ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}-- @@ -130,7 +130,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- - # See .github/workflows/validation-jobs.yml for how keys are generted + # See .github/workflows/validation-jobs.yml for how keys are generated restore-keys: | ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-- @@ -159,7 +159,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable-x86_64-unknown-none-${{ hashFiles('**/Cargo.toml') }}- - # See .github/workflows/validation-jobs.yml for how keys are generted + # See .github/workflows/validation-jobs.yml for how keys are generated restore-keys: | ${{ runner.os }}-stable-x86_64-unknown-none-${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-x86_64-unknown-none- @@ -187,7 +187,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable-thumbv6m-none-eabi-${{ hashFiles('**/Cargo.toml') }}- - # See .github/workflows/validation-jobs.yml for how keys are generted + # See .github/workflows/validation-jobs.yml for how keys are generated restore-keys: | ${{ runner.os }}-stable-thumbv6m-none-eabi-${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-thumbv6m-none-eabi- @@ -215,7 +215,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable-x86_64-unknown-none-${{ hashFiles('**/Cargo.toml') }}- - # See .github/workflows/validation-jobs.yml for how keys are generted + # See .github/workflows/validation-jobs.yml for how keys are generated restore-keys: | ${{ runner.os }}-stable-x86_64-unknown-none-${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-x86_64-unknown-none- @@ -243,7 +243,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable-wasm32-unknown-unknown-${{ hashFiles('**/Cargo.toml') }}- - # See .github/workflows/validation-jobs.yml for how keys are generted + # See .github/workflows/validation-jobs.yml for how keys are generated restore-keys: | ${{ runner.os }}-stable-wasm32-unknown-unknown-${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-wasm32-unknown-unknown- @@ -269,7 +269,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}-wasm32-unknown-unknown-${{ hashFiles('**/Cargo.toml') }}- - # See .github/workflows/validation-jobs.yml for how keys are generted + # See .github/workflows/validation-jobs.yml for how keys are generated restore-keys: | ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}-wasm32-unknown-unknown-${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}-wasm32-unknown-unknown- @@ -353,7 +353,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- - # See .github/workflows/validation-jobs.yml for how keys are generted + # See .github/workflows/validation-jobs.yml for how keys are generated restore-keys: | ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-- @@ -470,7 +470,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-${{ steps.msrv.outputs.msrv }}--${{ hashFiles('**/Cargo.toml') }}- - # See .github/workflows/validation-jobs.yml for how keys are generted + # See .github/workflows/validation-jobs.yml for how keys are generated restore-keys: | ${{ runner.os }}-${{ steps.msrv.outputs.msrv }}--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-${{ steps.msrv.outputs.msrv }}-- diff --git a/.github/workflows/example-run.yml b/.github/workflows/example-run.yml index 4f10ed9c817bf..d26faeee56dd9 100644 --- a/.github/workflows/example-run.yml +++ b/.github/workflows/example-run.yml @@ -29,7 +29,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- - # See .github/workflows/validation-jobs.yml for how keys are generted + # See .github/workflows/validation-jobs.yml for how keys are generated restore-keys: | ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-- @@ -104,7 +104,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- - # See .github/workflows/validation-jobs.yml for how keys are generted + # See .github/workflows/validation-jobs.yml for how keys are generated restore-keys: | ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-- @@ -167,7 +167,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- - # See .github/workflows/validation-jobs.yml for how keys are generted + # See .github/workflows/validation-jobs.yml for how keys are generated restore-keys: | ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-- diff --git a/.github/workflows/validation-jobs.yml b/.github/workflows/validation-jobs.yml index d135b6be824a0..47bd3fe054bbf 100644 --- a/.github/workflows/validation-jobs.yml +++ b/.github/workflows/validation-jobs.yml @@ -34,7 +34,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable-aarch64-apple-ios-sim-${{ hashFiles('**/Cargo.toml') }}- - # See .github/workflows/validation-jobs.yml for how keys are generted + # See .github/workflows/validation-jobs.yml for how keys are generated restore-keys: | ${{ runner.os }}-stable-aarch64-apple-ios-sim-${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-aarch64-apple-ios-sim- @@ -70,7 +70,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable-aarch64-linux-android-${{ hashFiles('**/Cargo.toml') }}- - # See .github/workflows/validation-jobs.yml for how keys are generted + # See .github/workflows/validation-jobs.yml for how keys are generated restore-keys: | ${{ runner.os }}-stable-aarch64-linux-android-${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-aarch64-linux-android- @@ -108,7 +108,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable-wasm32-unknown-unknown-${{ hashFiles('**/Cargo.toml') }}- - # See .github/workflows/validation-jobs.yml for how keys are generted + # See .github/workflows/validation-jobs.yml for how keys are generated restore-keys: | ${{ runner.os }}-stable-wasm32-unknown-unknown-${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable-wasm32-unknown-unknown- @@ -192,7 +192,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}--${{ hashFiles('**/Cargo.toml') }}- - # See .github/workflows/validation-jobs.yml for how keys are generted + # See .github/workflows/validation-jobs.yml for how keys are generated restore-keys: | ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}-- @@ -220,7 +220,7 @@ jobs: with: # key won't match, will rely on restore-keys key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- - # See .github/workflows/validation-jobs.yml for how keys are generted + # See .github/workflows/validation-jobs.yml for how keys are generated restore-keys: | ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}- ${{ runner.os }}-stable--