name: CI on: push: pull_request: env: CARGO_TERM_COLOR: always jobs: build: name: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable with: components: clippy - name: Install Linux GUI dependencies if: runner.os == 'Linux' run: | sudo apt-get update sudo apt-get install -y libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev - uses: Swatinem/rust-cache@v2 - run: cargo build --workspace --release - run: cargo test --workspace - run: cargo clippy --workspace --all-targets -- -D warnings