Skip to content

Animated cursors post launch fixes #283

Animated cursors post launch fixes

Animated cursors post launch fixes #283

Workflow file for this run

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