Animated cursors post launch fixes #283
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Rust | |
| # Note: when forking on GitHub, workflows are disabled-by-default; the jobs | |
| # won't run when pushing to the fork and there won't be a button to run | |
| # anything manually. Owners of the fork can, through the website, re-enable | |
| # these workflows to run as specified here. | |
| on: | |
| push: | |
| branches: [ "main" ] | |
| pull_request: | |
| branches: [ "main" ] | |
| # Allows you to run this workflow manually from the Actions tab | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUST_VERSION: 1.87.0 | |
| RUST_BACKTRACE: 1 | |
| jobs: | |
| build-test: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - macos-latest | |
| - windows-latest | |
| name: Build and Test π¬ - ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - if: matrix.os == 'ubuntu-latest' | |
| name: Install Linux system dependencies | |
| run: | | |
| sudo apt-get install \ | |
| libxcb1-dev libdbus-1-dev \ | |
| mesa-vulkan-drivers \ | |
| libvulkan1 \ | |
| vulkan-tools \ | |
| vulkan-validationlayers \ | |
| libasound2-dev \ | |
| libudev-dev | |
| vulkaninfo | |
| - if: matrix.os == 'macos-latest' | |
| name: Install MacOS dependencies | |
| run: brew install bash nano watch | |
| - uses: actions/checkout@v4 | |
| - run: rustup toolchain install $RUST_VERSION --profile minimal | |
| - name: Install nextest | |
| uses: taiki-e/install-action@nextest | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| cache-on-failure: true | |
| - name: Build | |
| run: cargo build --verbose --all | |
| - name: Run tests (excluding GPU tests) | |
| # Multiline escapes don't work on Windows | |
| run: | | |
| cargo nextest run --filterset 'not (test(/gpu/))' --no-fail-fast --retries 2 | |
| - if: matrix.os == 'ubuntu-latest' | |
| name: Run GPU tests | |
| run: | | |
| cargo nextest run \ | |
| --filterset 'test(/gpu/)' \ | |
| --no-fail-fast --retries 2 | |
| - name: Output e2e test logs (on failure) | |
| if: failure() | |
| run: cat crates/tests/tattoy.log | |
| lints: | |
| name: "Lints π " | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Install system dependencies | |
| run: sudo apt-get install libdbus-1-dev | |
| - uses: actions/checkout@v4 | |
| - run: rustup toolchain install $RUST_VERSION --profile minimal | |
| - uses: taiki-e/install-action@v2 | |
| with: | |
| tool: cargo-shear, cargo-msrv | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| cache-on-failure: true | |
| - name: Lint | |
| run: cargo clippy -- --deny warnings | |
| - name: Formatting | |
| run: cargo fmt --check | |
| - name: Check for unused dependencies | |
| run: cargo shear | |
| - name: Verify Minimum Stable Rust Version | |
| run: cargo msrv verify --path crates/tattoy |