meticulous 0.1.2

Result extension to add more meaning to unwrapping
Documentation
name: CI

on:
  pull_request:
  push:
    branches:
      - main

env:
  RUST_BACKTRACE: 1

jobs:
  ci-pass:
    name: CI is green
    runs-on: ubuntu-latest
    needs:
      - style
      - clippy
      - test
      - nightly
      - docs
    steps:
      - run: exit 0

  style:
    name: Check Style

    runs-on: ubuntu-latest

    steps:
      - name: Checkout
        uses: actions/checkout@v1

      - name: Install rust
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          components: rustfmt
          profile: minimal
          override: true

      - name: cargo fmt -- --check
        uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: -- --check

  clippy:
    name: Check Clippy

    runs-on: ubuntu-latest

    steps:
      - name: Checkout
        uses: actions/checkout@v1

      - name: Install rust
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          components: clippy
          profile: minimal
          override: true

      - name: cargo clippy
        uses: actions-rs/cargo@v1
        with:
          command: clippy
          args: -- -D warnings

  test:
    name: ${{ matrix.name }}
    needs: [style]

    runs-on: ${{ matrix.os || 'ubuntu-latest' }}

    strategy:
      matrix:
        name:
          - linux / stable
          - linux / beta
          # - linux / nightly

    steps:
      - name: Checkout
        uses: actions/checkout@v1

      - name: Install rust
        uses: actions-rs/toolchain@v1
        with:
          toolchain: ${{ matrix.rust || 'stable' }}
          target: ${{ matrix.target }}
          profile: minimal
          override: true

      - name: Build
        uses: actions-rs/cargo@v1
        with:
          command: build
          args: ${{ matrix.features }}

      - name: Test
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: ${{ matrix.features }} ${{ matrix.test-features }}

  docs:
    name: Docs
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v2

      - name: Install Rust
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          profile: minimal
          override: true

      - name: Check documentation
        env:
          RUSTDOCFLAGS: -D warnings
        uses: actions-rs/cargo@v1
        with:
          command: doc
          args: --no-deps --document-private-items --all-features

  # Separate build job for nightly because of the missing feature for allowed failures at
  # job level. See `jobs.build.strategy.matrix`.
  nightly:
    name: linux / nightly
    needs: [style]

    runs-on: ubuntu-latest

    steps:
      - name: Checkout
        uses: actions/checkout@v1

      - name: Install rust
        uses: actions-rs/toolchain@v1
        with:
          toolchain: nightly
          profile: minimal
          override: true

      - name: Build
        uses: actions-rs/cargo@v1
        with:
          command: build

      - name: Test
        uses: actions-rs/cargo@v1
        with:
          command: test