stacked_errors 0.7.2

high level error propagation with software controlled backtraces
Documentation
name: CI

on: [pull_request]

env:
  RUST_BACKTRACE: 1
  RUSTFLAGS: -D warnings
  RUSTDOCFLAGS: -D warnings

jobs:
  test_suite:
    name: Test suite
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      # use latest nightly
      - name: Install Rust components
        run: |
          rustup set profile minimal
          rustup default nightly
          rustup target add riscv32i-unknown-none-elf
      - name: Run test suite
        # The `riscv32i` build is needed to actually detect if the crate is no_std.
        run: |
          cargo b --target=riscv32i-unknown-none-elf
          cargo doc --no-deps
          cargo test
          cargo test --release

  msrv_build:
    name: MSRV build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      # reads the `rust-version` of Cargo.toml
      - name: Install MSRV
        run: |
          rustup set profile minimal
          rustup default "$(sed -n 's/^rust-version = "\(.*\)"/\1/p' Cargo.toml)"
      - name: Check that the crate builds on its MSRV
        run: |
          cargo build

  rustfmt:
    name: Rustfmt
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      # Acquire the most recent nightly with a rustfmt component
      - name: Install most recent Rustfmt
        run: |
          rustup set profile minimal
          rustup default "nightly-$(curl -s https://rust-lang.github.io/rustup-components-history/x86_64-unknown-linux-gnu/rustfmt)"
          rustup component add rustfmt
      - name: Run `cargo fmt`
        run: |
          cargo fmt -- --check

  clippy:
    name: Clippy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      # Acquire the most recent nightly with a clippy component
      - name: Install most recent Clippy
        run: |
          rustup set profile minimal
          rustup default "nightly-$(curl -s https://rust-lang.github.io/rustup-components-history/x86_64-unknown-linux-gnu/clippy)"
          rustup component add clippy
      - name: Run `cargo clippy`
        run: |
          cargo clippy --all --all-targets --all-features -- -D clippy::all