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.51.0 override: true - run: 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.51.0 override: true - run: 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.51.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_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.51.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.51.0 override: true - run: sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev - 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.51.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.51.0 override: true - run: rustup component add clippy - run: sudo apt-get install libspeechd-dev - 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.51.0 override: true - run: sudo apt-get install libspeechd-dev - run: cargo doc -p emath -p epaint -p egui -p eframe -p epi -p egui_web -p egui_glium --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.51.0 override: true - run: 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