name: ci
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
env:
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: 0
jobs:
lint:
runs-on: ubuntu-24.04
steps:
- name: ๐ Checkout code
uses: actions/checkout@v6
- name: ๐ฐ Cache
uses: Swatinem/rust-cache@v2
- name: ๐ Clippy
run: cargo clippy --all-targets -- -D warnings
test:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-24.04
name: linux
- os: macos-15
name: macos
- os: windows-2022
name: windows
name: test (${{ matrix.name }})
runs-on: ${{ matrix.os }}
steps:
- name: ๐ Checkout code
uses: actions/checkout@v6
- name: Install llvm-tools
run: rustup component add llvm-tools
- name: Install cargo-nextest
uses: baptiste0928/cargo-install@v3
with:
crate: cargo-nextest
version: "=0.9.132"
- name: ๐ฐ Cache
uses: Swatinem/rust-cache@v2
- name: ๐งช Tests
run: cargo test