Docs for emissive color on StandardMaterial #45384
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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-latest | |
timeout-minutes: 30 | |
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-aarch64-apple-ios-sim-${{ hashFiles('**/Cargo.toml') }}- | |
# 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- | |
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@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: "17" | |
distribution: "temurin" | |
- 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') }}- | |
# 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- | |
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 -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@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
target: wasm32-unknown-unknown | |
- 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') }}- | |
# 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- | |
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@v4 | |
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@v4 | |
- uses: dtolnay/rust-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@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') }}- | |
# 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 }}-- | |
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@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') }}- | |
# See .github/workflows/validation-jobs.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 |