# Runs `cargo xtask ci` (fmt, clippy -D warnings, tests, layer check) on the three desktop platforms. # The craft-libs git dependency needs read access: set the repository secret CRAFT_LIBS_TOKEN # (a token with read access to the craft-libs repository) or use an SSH deploy key instead. name: ci on: push: branches: [develop, main] pull_request: env: CARGO_TERM_COLOR: always CARGO_NET_GIT_FETCH_WITH_CLI: "true" jobs: ci: strategy: fail-fast: false matrix: os: [macos-latest, ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Git credentials for craft-libs shell: bash run: | git config --global url."https://x-access-token:${{ secrets.CRAFT_LIBS_TOKEN }}@git.marcospaulo.dev.br/".insteadOf "https://git.marcospaulo.dev.br/" - name: Linux system libraries (audio, windowing) if: runner.os == 'Linux' run: sudo apt-get update && sudo apt-get install -y libasound2-dev libxkbcommon-dev libwayland-dev libx11-dev libxcb1-dev libvulkan-dev - uses: dtolnay/rust-toolchain@stable with: components: rustfmt, clippy - uses: Swatinem/rust-cache@v2 - run: cargo xtask ci