pretty-error-debug 0.3.2

If the process ends with an `Error`, write out the `Error` message and chain.
Documentation
name: ci

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
  schedule:
    - cron: "38 13 * * 3"

jobs:
  stable:
    runs-on: ubuntu-24.04
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Setup Rust
        uses: ./.github/actions/setup-rust
        with:
          toolchain: nightly
          components: clippy

      - run: cargo +stable check
      - run: cargo +stable clippy -- -D clippy::pedantic

  nightly:
    runs-on: ubuntu-24.04
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Setup Rust
        uses: ./.github/actions/setup-rust
        with:
          toolchain: nightly
          components: rustfmt,rust-docs

      - run: cargo +nightly fmt --all -- --check
      - run: RUSTDOCFLAGS="-D warnings --cfg docsrs" cargo +nightly doc --no-deps

  test:
    strategy:
      fail-fast: false
      matrix:
        toolchain:
          - "1.61"
          - "stable"
          - "beta"

    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v4

      - name: Setup Rust
        uses: ./.github/actions/setup-rust
        with:
          toolchain: ${{ matrix.toolchain }}

      - name: Update lockfile
        run: cargo generate-lockfile -Zminimal-versions
        env:
          RUSTC_BOOTSTRAP: 1

      - run: cargo +${{ matrix.toolchain }} test --workspace -- --nocapture --color=never

  audit:
    runs-on: ubuntu-24.04
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Setup Rust
        uses: ./.github/actions/setup-rust

      - name: Audit
        uses: actions-rs/audit-check@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}

  devskim:
    runs-on: ubuntu-24.04
    permissions:
      actions: read
      contents: read
      security-events: write
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Run DevSkim scanner
        uses: microsoft/DevSkim-Action@v1

      - name: Upload DevSkim scan results to GitHub Security tab
        uses: github/codeql-action/upload-sarif@v3
        with:
          sarif_file: devskim-results.sarif

  check-all-versions:
    runs-on: ubuntu-24.04
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Setup Rust
        uses: ./.github/actions/setup-rust

      - name: Install "cargo-hack"
        run: curl --location --silent --show-error --fail https://github.com/cargo-bins/cargo-quickinstall/releases/download/cargo-hack-0.6.36/cargo-hack-0.6.36-x86_64-unknown-linux-gnu.tar.gz | tar -xzvvf - -C $HOME/.cargo/bin

      - run: cargo hack check --version-range 1.61.. --version-step 5 --clean-per-version