Revision control

Copy as Markdown

Other Tools

name: CI
on:
pull_request:
push:
branches:
- dev
- master
jobs:
check:
name: Lints and checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: rustup toolchain install stable --profile minimal --component rustfmt --component clippy --no-self-update
- run: date +%W >weekly
- id: cache
uses: Swatinem/rust-cache@v2
with:
key: ${{ runner.os }}-lints-${{ hashFiles('weekly') }}
- if: steps.cache.outputs.cache-hit != 'true'
run: cargo install cargo-msrv garden-tools
- name: Run clippy checks
run: garden check/clippy -vv
- name: Run format checks
run: garden check/fmt -vv
- name: Rust MSRV check
run: garden check/msrv -vv
test:
name: Test using Rust ${{ matrix.rust }} on ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
rust: [stable]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- run: git submodule update --init --depth=1
- run: rustup toolchain install ${{ matrix.rust }} --profile minimal --no-self-update
- run: date +%W >weekly
- uses: Swatinem/rust-cache@v2
with:
key: ${{ matrix.rust }}-${{ matrix.os }}-test-${{ hashFiles('weekly') }}
- name: Run build
run: cargo build
- name: Run tests
run: cargo test -v