on: [push, pull_request] name: CI env: # This is required to enable the web_sys clipboard API which egui_web uses # https://rustwasm.github.io/wasm-bindgen/api/web_sys/struct.Clipboard.html # https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html RUSTFLAGS: --cfg=web_sys_unstable_apis jobs: check_default: name: cargo check (default features) runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: 1.56.0 override: true - run: sudo apt-get update && sudo apt-get install libspeechd-dev - uses: actions-rs/cargo@v1 with: command: check check_all_features: name: cargo check --all-features runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: 1.56.0 override: true - run: sudo apt-get update && sudo apt-get install libspeechd-dev - uses: actions-rs/cargo@v1 with: command: check args: --all-features check_web_default: name: cargo check web (default features) runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: 1.56.0 override: true - run: rustup target add wasm32-unknown-unknown - uses: actions-rs/cargo@v1 with: command: check args: -p egui_demo_app --lib --target wasm32-unknown-unknown check_egui_demo_app: name: cargo check -p egui_demo_app runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: 1.56.0 override: true - name: check run: cargo check -p egui_demo_app check_wasm_eframe_with_features: name: cargo check wasm eframe runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: 1.56.0 override: true - run: rustup target add wasm32-unknown-unknown - name: check run: cargo check -p eframe --lib --no-default-features --features persistence --target wasm32-unknown-unknown check_web_all_features: name: cargo check web --all-features runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: 1.56.0 override: true - run: rustup target add wasm32-unknown-unknown - uses: actions-rs/cargo@v1 with: command: check args: -p egui_demo_app --lib --target wasm32-unknown-unknown --all-features test: name: cargo test runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: 1.56.0 override: true - run: sudo apt-get update && sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev libgtk-3-dev # libgtk-3-dev is used by rfd - uses: actions-rs/cargo@v1 with: command: test args: --all-features fmt: name: cargo fmt runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: 1.56.0 override: true - run: rustup component add rustfmt - uses: actions-rs/cargo@v1 with: command: fmt args: --all -- --check clippy: name: cargo clippy runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: 1.56.0 override: true - run: rustup component add clippy - run: sudo apt-get update && sudo apt-get install libspeechd-dev libgtk-3-dev # libgtk-3-dev is used by rfd - uses: actions-rs/cargo@v1 with: command: clippy args: --workspace --all-targets --all-features -- -D warnings -W clippy::all doc: name: cargo doc runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: 1.56.0 override: true - run: sudo apt-get update && sudo apt-get install libspeechd-dev - run: cargo doc -p emath -p epaint -p egui -p eframe -p epi -p egui_web -p egui-winit -p egui_extras -p egui_glium -p egui_glow --lib --no-deps --all-features doc_web: name: cargo doc web runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: 1.56.0 override: true - run: sudo apt-get update && sudo apt-get install libspeechd-dev - run: rustup target add wasm32-unknown-unknown - run: cargo doc -p egui_web --target wasm32-unknown-unknown --lib --no-deps --all-features cargo-deny: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - uses: EmbarkStudios/cargo-deny-action@v1 wasm_bindgen: name: wasm-bindgen runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: 1.56.0 override: true - run: rustup target add wasm32-unknown-unknown - run: cargo install wasm-bindgen-cli - run: ./sh/wasm_bindgen_check.sh