CI #2
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| permissions: | |
| contents: read | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| docs: | |
| name: build docs | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.13" | |
| cache: pip | |
| cache-dependency-path: requirements-docs.txt | |
| - name: Install documentation dependencies | |
| run: pip install --requirement requirements-docs.txt | |
| - name: Build documentation | |
| run: mkdocs build --strict | |
| test: | |
| name: fmt, clippy, build, test (${{ matrix.os }}) | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Test installer | |
| run: bash tests/install.sh | |
| - name: Test release tooling | |
| run: bash tests/release-version.sh | |
| - name: Install Rust | |
| run: | | |
| rustup toolchain install stable --profile minimal --component rustfmt,clippy | |
| rustup default stable | |
| - uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/bin/ | |
| ~/.cargo/registry/index/ | |
| ~/.cargo/registry/cache/ | |
| ~/.cargo/git/db/ | |
| target/ | |
| key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-cargo- | |
| - name: fmt | |
| run: cargo fmt --all --check | |
| - name: clippy | |
| run: cargo clippy --locked --all-targets -- -D warnings | |
| - name: build | |
| run: cargo build --locked | |
| - name: test | |
| run: cargo test --locked |