name: CI
permissions: {}
on:
workflow_dispatch:
pull_request:
types: [opened, synchronize]
paths-ignore:
- '**/*.md'
push:
branches:
- main
paths-ignore:
- '**/*.md'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: ${{ github.ref_name != 'main' }}
jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: taiki-e/checkout-action@b13d20b7cda4e2f325ef19895128f7ff735c0b3d
- uses: oxc-project/setup-rust@cd82e1efec7fef815e2c23d296756f31c7cdc03d with:
save-cache: ${{ github.ref_name == 'main' }}
cache-key: warm
components: clippy rustfmt
- run: |
cargo test
cargo clippy -- -D warnings
cargo fmt --all -- --check
cargo run .
- uses: crate-ci/typos@b1ae8d918b6e85bd611117d3d9a3be4f903ee5e4 with:
files: .