manyhow 0.12.0

proc macro error handling à la anyhow x proc-macro-error
Documentation
name: Test

on:
  push:
  pull_request:

jobs:
  test:
    strategy:
      fail-fast: false
      matrix:
        os:
          - ubuntu-latest
          - windows-latest
          - macos-latest
        rust:
          - stable
          - nightly
        include:
          - rust: nightly
            cargo_flags: -Z minimal-versions

    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v2
      - uses: actions/cache@v3
        with:
          path: |
            ~/.cargo/
            target
          key: ${{ matrix.os }}-${{ matrix.rust }}-${{ hashFiles('**/Cargo.toml') }}
          restore-keys: |
            ${{ matrix.os }}-${{ matrix.rust }}-
      - uses: hecrj/setup-rust-action@v1
        with:
          rust-version: ${{ matrix.rust }}
      - uses: baptiste0928/cargo-install@v3
        with:
          crate: cargo-hack
      - name: Build
        run: cargo hack build --feature-powerset --mutually-exclusive-features=syn2,syn3 ${{ matrix.cargo_flags }}
      - name: Test
        run: cargo hack test --feature-powerset --mutually-exclusive-features=syn2,syn3 --all-targets --no-fail-fast --workspace
      - name: Doc Test
        run: cargo test --features=darling --doc --no-fail-fast --workspace
      - name: Build Docs
        run: cargo doc --all-features --workspace