prttl 0.4.0

Pretty-printer for RDF Turtle
Documentation
# SPDX-FileCopyrightText: 2022 Helsing GmbH
#
# SPDX-License-Identifier: Apache-2.0

name: build

on:
  pull_request:
    branches:
      - main
  push:
    branches:
      - main
  release:
    types:
      - published

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  fmt:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: cargo fmt -- --check

  clippy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: Swatinem/rust-cache@v2
      - run: cargo clippy --release

  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          submodules: recursive
      - uses: Swatinem/rust-cache@v2
      - uses: actions/cache@v4
        with:
          path: |
            ~/.cargo
            ./target
          key: rust-${{ runner.os }}-${{ hashFiles('Cargo.*') }}
      - run: cargo test

  test_msv:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          submodules: recursive
      - run: rustup override set 1.85.0
      - uses: Swatinem/rust-cache@v2
      - uses: actions/cache@v4
        with:
          path: |
            ~/.cargo
            ./target
          key: rust-${{ runner.os }}-${{ hashFiles('Cargo.*') }}
      - run: cargo test

  rustdoc:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: Swatinem/rust-cache@v2
      - run: cargo doc --no-deps
        env:
          RUSTDOCFLAGS: -D warnings