Fix profiling::scope compile error when profiling using tracing backend #16722
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
on: [push, pull_request] | |
name: Rust | |
env: | |
RUSTFLAGS: -D warnings | |
RUSTDOCFLAGS: -D warnings | |
NIGHTLY_VERSION: nightly-2025-09-16 | |
jobs: | |
fmt-crank-check-test: | |
name: Format + check | |
runs-on: ubuntu-22.04 | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
lfs: true | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: 1.88.0 | |
- name: Install packages (Linux) | |
if: runner.os == 'Linux' | |
uses: awalsh128/[email protected] | |
with: | |
packages: libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev libgtk-3-dev # libgtk-3-dev is used by rfd | |
version: 1.0 | |
execute_install_scripts: true | |
- name: Set up cargo cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Rustfmt | |
run: cargo fmt --all -- --check | |
- name: Lint vertical spacing | |
run: ./scripts/lint.py | |
- run: cargo clippy --locked --all-features --all-targets | |
- run: cargo clippy --locked --all-features -p egui_extras | |
- run: cargo clippy --locked --all-targets | |
- run: cargo clippy --locked --no-default-features --lib --all-targets | |
- run: cargo clippy --locked --no-default-features --features x11 --lib -p eframe | |
- run: cargo clippy --locked --no-default-features --lib -p egui_extras | |
- run: cargo clippy --locked --no-default-features --lib -p epaint | |
# Regression test for https://github.com/emilk/egui/issues/4771 | |
- run: cargo clippy -p test_egui_extras_compilation | |
- run: cargo doc --lib --no-deps --all-features | |
- run: cargo doc --document-private-items --no-deps --all-features | |
- name: clippy release | |
run: cargo clippy --all-targets --all-features --release -- -D warnings | |
# --------------------------------------------------------------------------- | |
check_wasm: | |
name: Check wasm32 + wasm-bindgen | |
runs-on: ubuntu-22.04 | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: 1.88.0 | |
targets: wasm32-unknown-unknown | |
- run: sudo apt-get update && sudo apt-get install libgtk-3-dev libatk1.0-dev | |
- name: Set up cargo cache | |
uses: Swatinem/rust-cache@v2 | |
- name: clippy wasm32 egui_demo_app | |
run: cargo clippy -p egui_demo_app --lib --target wasm32-unknown-unknown | |
- name: clippy wasm32 egui_demo_app --all-features | |
run: cargo clippy -p egui_demo_app --lib --target wasm32-unknown-unknown --all-features | |
- name: clippy wasm32 eframe | |
run: cargo clippy -p eframe --lib --no-default-features --features glow,persistence --target wasm32-unknown-unknown | |
- name: wasm-bindgen | |
uses: jetli/[email protected] | |
with: | |
version: "0.2.100" # Keep wasm-bindgen version in sync in: setup_web.sh, Cargo.toml, Cargo.lock, rust.yml | |
- run: ./scripts/wasm_bindgen_check.sh --skip-setup | |
- name: clippy wasm32 | |
run: ./scripts/clippy_wasm.sh | |
# requires a different toolchain from the other checks (nightly) | |
check_wasm_atomics: | |
name: Check wasm32+atomics | |
runs-on: ubuntu-22.04 | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v4 | |
- run: sudo apt-get update && sudo apt-get install libgtk-3-dev libatk1.0-dev | |
- name: Set up cargo cache | |
uses: Swatinem/rust-cache@v2 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: ${{env.NIGHTLY_VERSION}} | |
targets: wasm32-unknown-unknown | |
components: rust-src | |
- name: Check wasm32+atomics eframe with wgpu | |
run: RUSTFLAGS='-C target-feature=+atomics' cargo +${{env.NIGHTLY_VERSION}} check -p eframe --lib --no-default-features --features wgpu,wgpu/webgpu --target wasm32-unknown-unknown -Z build-std=std,panic_abort | |
# --------------------------------------------------------------------------- | |
cargo-deny: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- target: aarch64-apple-darwin | |
- target: aarch64-linux-android | |
- target: i686-pc-windows-gnu | |
- target: i686-pc-windows-msvc | |
- target: i686-unknown-linux-gnu | |
- target: wasm32-unknown-unknown | |
- target: x86_64-apple-darwin | |
- target: x86_64-pc-windows-gnu | |
- target: x86_64-pc-windows-msvc | |
- target: x86_64-unknown-linux-gnu | |
- target: x86_64-unknown-linux-musl | |
- target: x86_64-unknown-redox | |
name: cargo-deny ${{ matrix.target }} | |
runs-on: ubuntu-22.04 | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: EmbarkStudios/cargo-deny-action@v2 | |
with: | |
rust-version: "1.88.0" | |
log-level: error | |
command: check | |
arguments: --target ${{ matrix.target }} | |
# --------------------------------------------------------------------------- | |
android: | |
name: android | |
runs-on: ubuntu-22.04 | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: 1.88.0 | |
targets: aarch64-linux-android | |
- name: Set up cargo cache | |
uses: Swatinem/rust-cache@v2 | |
# Default features disabled to turn off accesskit, which does not work | |
# with NativeActivity. | |
- run: cargo check --features wgpu,android-native-activity --target aarch64-linux-android --no-default-features | |
working-directory: crates/eframe | |
# --------------------------------------------------------------------------- | |
ios: | |
name: ios | |
runs-on: ubuntu-22.04 | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: 1.88.0 | |
targets: aarch64-apple-ios | |
- name: Set up cargo cache | |
uses: Swatinem/rust-cache@v2 | |
# Default features are disabled because glutin doesn't compile for ios. | |
- run: cargo check --features wgpu --target aarch64-apple-ios --no-default-features | |
working-directory: crates/eframe | |
# --------------------------------------------------------------------------- | |
windows: | |
name: Check Windows | |
runs-on: windows-latest | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: 1.88.0 | |
- name: Set up cargo cache | |
uses: Swatinem/rust-cache@v2 | |
- run: cargo clippy --all-targets --all-features | |
- run: cargo clippy -p hello_world | |
# --------------------------------------------------------------------------- | |
tests: | |
name: Run tests | |
# We run the tests on macOS because it will run with an actual GPU | |
runs-on: macos-latest | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
lfs: true | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: 1.88.0 | |
- name: Set up cargo cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Run tests | |
run: cargo test --all-features | |
- name: Run doc-tests | |
run: cargo test --all-features --doc | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: test-results | |
path: "**/tests/snapshots" |