name: Continuous Integration on: push: branches: [main] pull_request: branches: [main] workflow_dispatch: jobs: build_and_test: name: Build and Test on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, windows-latest] steps: - name: Checkout code uses: actions/checkout@v4 - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable with: components: rustfmt, clippy - name: Check formatting run: cargo fmt -- --check - name: Run Clippy run: cargo clippy -- -D warnings - name: Run tests run: cargo test