mirror of
https://github.com/bevyengine/bevy.git
synced 2026-05-06 06:06:42 -04:00
dd9203c4b0
Bumps [actions/cache](https://github.com/actions/cache) from 5.0.4 to 5.0.5. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/cache/releases">actions/cache's releases</a>.</em></p> <blockquote> <h2>v5.0.5</h2> <h2>What's Changed</h2> <ul> <li>Update ts-http-runtime dependency by <a href="https://github.com/yacaovsnc"><code>@yacaovsnc</code></a> in <a href="https://redirect.github.com/actions/cache/pull/1747">actions/cache#1747</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/cache/compare/v5...v5.0.5">https://github.com/actions/cache/compare/v5...v5.0.5</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/actions/cache/blob/main/RELEASES.md">actions/cache's changelog</a>.</em></p> <blockquote> <h1>Releases</h1> <h2>How to prepare a release</h2> <blockquote> <p>[!NOTE]<br /> Relevant for maintainers with write access only.</p> </blockquote> <ol> <li>Switch to a new branch from <code>main</code>.</li> <li>Run <code>npm test</code> to ensure all tests are passing.</li> <li>Update the version in <a href="https://github.com/actions/cache/blob/main/package.json"><code>https://github.com/actions/cache/blob/main/package.json</code></a>.</li> <li>Run <code>npm run build</code> to update the compiled files.</li> <li>Update this <a href="https://github.com/actions/cache/blob/main/RELEASES.md"><code>https://github.com/actions/cache/blob/main/RELEASES.md</code></a> with the new version and changes in the <code>## Changelog</code> section.</li> <li>Run <code>licensed cache</code> to update the license report.</li> <li>Run <code>licensed status</code> and resolve any warnings by updating the <a href="https://github.com/actions/cache/blob/main/.licensed.yml"><code>https://github.com/actions/cache/blob/main/.licensed.yml</code></a> file with the exceptions.</li> <li>Commit your changes and push your branch upstream.</li> <li>Open a pull request against <code>main</code> and get it reviewed and merged.</li> <li>Draft a new release <a href="https://github.com/actions/cache/releases">https://github.com/actions/cache/releases</a> use the same version number used in <code>package.json</code> <ol> <li>Create a new tag with the version number.</li> <li>Auto generate release notes and update them to match the changes you made in <code>RELEASES.md</code>.</li> <li>Toggle the set as the latest release option.</li> <li>Publish the release.</li> </ol> </li> <li>Navigate to <a href="https://github.com/actions/cache/actions/workflows/release-new-action-version.yml">https://github.com/actions/cache/actions/workflows/release-new-action-version.yml</a> <ol> <li>There should be a workflow run queued with the same version number.</li> <li>Approve the run to publish the new version and update the major tags for this action.</li> </ol> </li> </ol> <h2>Changelog</h2> <h3>5.0.4</h3> <ul> <li>Bump <code>minimatch</code> to v3.1.5 (fixes ReDoS via globstar patterns)</li> <li>Bump <code>undici</code> to v6.24.1 (WebSocket decompression bomb protection, header validation fixes)</li> <li>Bump <code>fast-xml-parser</code> to v5.5.6</li> </ul> <h3>5.0.3</h3> <ul> <li>Bump <code>@actions/cache</code> to v5.0.5 (Resolves: <a href="https://github.com/actions/cache/security/dependabot/33">https://github.com/actions/cache/security/dependabot/33</a>)</li> <li>Bump <code>@actions/core</code> to v2.0.3</li> </ul> <h3>5.0.2</h3> <ul> <li>Bump <code>@actions/cache</code> to v5.0.3 <a href="https://redirect.github.com/actions/cache/pull/1692">#1692</a></li> </ul> <h3>5.0.1</h3> <ul> <li>Update <code>@azure/storage-blob</code> to <code>^12.29.1</code> via <code>@actions/cache@5.0.1</code> <a href="https://redirect.github.com/actions/cache/pull/1685">#1685</a></li> </ul> <h3>5.0.0</h3> <blockquote> <p>[!IMPORTANT] <code>actions/cache@v5</code> runs on the Node.js 24 runtime and requires a minimum Actions Runner version of <code>2.327.1</code>.</p> </blockquote> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/cache/commit/27d5ce7f107fe9357f9df03efb73ab90386fccae"><code>27d5ce7</code></a> Merge pull request <a href="https://redirect.github.com/actions/cache/issues/1747">#1747</a> from actions/yacaovsnc/update-dependency</li> <li><a href="https://github.com/actions/cache/commit/f280785d7b6e1884c7d12b9136eb0f4a1574fcfd"><code>f280785</code></a> licensed changes</li> <li><a href="https://github.com/actions/cache/commit/619aeb1606e195be0b36fd0ff68dcf1aff6b65a7"><code>619aeb1</code></a> npm run build generated dist files</li> <li><a href="https://github.com/actions/cache/commit/bcf16c2893940a4899761e55c7ac3c1cf88a04f6"><code>bcf16c2</code></a> Update ts-http-runtime to 0.3.5</li> <li>See full diff in <a href="https://github.com/actions/cache/compare/668228422ae6a00e4ad889ee87cd7109ec5666a7...27d5ce7f107fe9357f9df03efb73ab90386fccae">compare view</a></li> </ul> </details> <br /> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
271 lines
9.4 KiB
YAML
271 lines
9.4 KiB
YAML
name: validation jobs
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
on:
|
|
merge_group:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- release-*
|
|
|
|
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
|
|
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:
|
|
build-and-install-on-iOS:
|
|
if: ${{ github.event_name == 'merge_group' }}
|
|
runs-on: macos-14
|
|
timeout-minutes: 30
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9
|
|
with:
|
|
toolchain: stable
|
|
|
|
- uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
|
with:
|
|
# key won't match, will rely on restore-keys
|
|
key: ${{ runner.os }}-stable-aarch64-apple-ios-sim-${{ hashFiles('**/Cargo.toml') }}-
|
|
# See .github/workflows/update-caches.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-
|
|
path: |
|
|
~/.cargo/bin/
|
|
~/.cargo/registry/index/
|
|
~/.cargo/registry/cache/
|
|
~/.cargo/git/db/
|
|
target/
|
|
|
|
- name: Add iOS targets
|
|
run: rustup target add aarch64-apple-ios-sim
|
|
|
|
- name: Build and install iOS app in iOS Simulator.
|
|
run: cd examples/mobile && make install
|
|
|
|
build-android:
|
|
if: ${{ github.event_name == 'merge_group' }}
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 30
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9
|
|
with:
|
|
toolchain: stable
|
|
|
|
- name: Set up JDK 17
|
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
|
with:
|
|
java-version: "17"
|
|
distribution: "temurin"
|
|
|
|
- uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
|
with:
|
|
# key won't match, will rely on restore-keys
|
|
key: ${{ runner.os }}-stable-aarch64-linux-android-${{ hashFiles('**/Cargo.toml') }}-
|
|
# See .github/workflows/update-caches.yml for how keys are generated
|
|
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/
|
|
|
|
- name: Install Android targets
|
|
run: rustup target add aarch64-linux-android
|
|
|
|
- name: Install Cargo NDK
|
|
run: cargo install --force cargo-ndk
|
|
|
|
- name: Build .so file
|
|
run: cargo ndk -t arm64-v8a -P 26 -o android_example/app/src/main/jniLibs build --package bevy_mobile_example
|
|
|
|
- name: Build app for Android
|
|
run: cd examples/mobile/android_example && chmod +x gradlew && ./gradlew build
|
|
|
|
run-examples-on-wasm:
|
|
if: ${{ github.event_name == 'merge_group' }}
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9
|
|
with:
|
|
target: wasm32-unknown-unknown
|
|
toolchain: stable
|
|
|
|
- uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
|
with:
|
|
# key won't match, will rely on restore-keys
|
|
key: ${{ runner.os }}-stable-wasm32-unknown-unknown-${{ hashFiles('**/Cargo.toml') }}-
|
|
# See .github/workflows/update-caches.yml for how keys are generated
|
|
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/
|
|
|
|
- name: Install wasm-bindgen
|
|
run: cargo install --force wasm-bindgen-cli
|
|
|
|
- name: Setup playwright
|
|
run: |
|
|
cd .github/start-wasm-example
|
|
npm install
|
|
npx playwright install --with-deps
|
|
cd ../..
|
|
|
|
- name: First Wasm build
|
|
env:
|
|
RUSTFLAGS: --cfg getrandom_backend="wasm_js"
|
|
run: |
|
|
cargo build --release --example testbed_ui --target wasm32-unknown-unknown
|
|
|
|
- name: Run examples
|
|
shell: bash
|
|
run: |
|
|
# start a webserver
|
|
python3 -m http.server --directory examples/wasm &
|
|
|
|
xvfb-run cargo run -p build-wasm-example -- --browsers chromium --browsers firefox --frames 25 --test 2d_shapes lighting text_debug breakout
|
|
|
|
- name: Save screenshots
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
with:
|
|
name: screenshots-wasm
|
|
path: .github/start-wasm-example/screenshot-*.png
|
|
|
|
build-without-default-features:
|
|
if: ${{ github.event_name == 'merge_group' }}
|
|
timeout-minutes: 30
|
|
strategy:
|
|
max-parallel: 1
|
|
matrix:
|
|
crate: [bevy_ecs, bevy_reflect, bevy]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
persist-credentials: false
|
|
- uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9
|
|
with:
|
|
toolchain: stable
|
|
- name: Install Linux dependencies
|
|
uses: ./.github/actions/install-linux-deps
|
|
- name: Build
|
|
run: cargo build -p ${{ matrix.crate }} --no-default-features
|
|
env:
|
|
RUSTFLAGS: "-C debuginfo=0 -D warnings"
|
|
|
|
build-without-default-features-status:
|
|
if: |
|
|
always() &&
|
|
github.event_name == 'merge_group'
|
|
needs: build-without-default-features
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Successful
|
|
if: ${{ !(contains(needs.*.result, 'failure')) }}
|
|
run: exit 0
|
|
- name: Failing
|
|
if: ${{ contains(needs.*.result, 'failure') }}
|
|
run: exit 1
|
|
|
|
check-unused-dependencies:
|
|
if: ${{ github.event_name == 'merge_group' }}
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 30
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
persist-credentials: false
|
|
- uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9
|
|
with:
|
|
toolchain: ${{ env.NIGHTLY_TOOLCHAIN }}
|
|
- uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
|
with:
|
|
# key won't match, will rely on restore-keys
|
|
key: ${{ runner.os }}-${{ env.NIGHTLY_TOOLCHAIN }}--${{ hashFiles('**/Cargo.toml') }}-
|
|
# See .github/workflows/update-caches.yml for how keys are generated
|
|
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/
|
|
- name: Installs cargo-udeps
|
|
run: cargo install --force cargo-udeps
|
|
- name: Install Linux dependencies
|
|
uses: ./.github/actions/install-linux-deps
|
|
- name: Run cargo udeps
|
|
run: cargo udeps
|
|
|
|
check-example-showcase-patches-still-work:
|
|
if: ${{ github.event_name == 'merge_group' }}
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 30
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
persist-credentials: false
|
|
- uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9
|
|
with:
|
|
toolchain: stable
|
|
- uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
|
with:
|
|
# key won't match, will rely on restore-keys
|
|
key: ${{ runner.os }}-stable--${{ hashFiles('**/Cargo.toml') }}-
|
|
# See .github/workflows/update-caches.yml for how keys are generated
|
|
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: Install Linux dependencies
|
|
uses: ./.github/actions/install-linux-deps
|
|
- name: Apply patches
|
|
run: |
|
|
CODE=0
|
|
for patch in tools/example-showcase/*.patch; do
|
|
# Try applying the patch, logging an error if it fails.
|
|
git apply --ignore-whitespace $patch || { echo "::error::$patch failed to apply."; CODE=1; }
|
|
done
|
|
exit $CODE
|
|
- name: Build with patches
|
|
run: cargo build
|