name: Rust checks on: [push, pull_request] jobs: check: strategy: matrix: os: [windows-latest, ubuntu-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable with: components: rustfmt, clippy - uses: Swatinem/rust-cache@v2 - name: Linux libraries if: runner.os == 'Linux' run: sudo apt-get update && sudo apt-get install -y libxkbcommon-dev libwayland-dev libvulkan-dev libx11-dev libxrandr-dev libxi-dev - run: cargo fmt --all -- --check - run: cargo clippy --workspace --all-targets --locked -- -D warnings - run: cargo test --workspace --locked - run: cargo build --release --workspace --locked - uses: actions/upload-artifact@v4 with: name: arcadia-studio-${{ runner.os }} path: | target/release/arcadia-studio.exe target/release/arcadia-studio target/release/arcadia-server.exe target/release/arcadia-server