bounded-vec 0.9.0

Non-empty rust Vec wrapper with type guarantees on lower and upper bounds for items quantity.
Documentation
name: Tests

on:
  push:
    branches:
      - master
      - develop
  pull_request:
    types:
      - opened
      - synchronize

jobs:
  rustfmt:
    name: rustfmt
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          components: rustfmt
          override: true
      # Ensure all code has been formatted with rustfmt
      - name: Check formatting
        uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: --all -- --check --color always

  clippy:
    name: clippy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          components: clippy
          override: true
      # Ensure all code has been formatted with rustfmt
      - name: Check with Clippy
        uses: actions-rs/clippy-check@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          args: --all-features -- -D warnings

  test:
    name: Test on ${{ matrix.os }}
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macOS-latest]

    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true
      - name: cargo fetch
        uses: actions-rs/cargo@v1
        with:
          command: fetch
      - name: Build tests
        uses: actions-rs/cargo@v1
        with:
          command: build
          args: --verbose --release --tests
      - name: Run tests
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --verbose --release

  test_coverage:
    name: Code coverage in tests
    runs-on: ubuntu-latest
    container:
      image: xd009642/tarpaulin:latest
      options: --security-opt seccomp=unconfined
    steps:
      - name: Checkout repository
        uses: actions/checkout@v2
      - name: Generate code coverage
        run: |
          cargo tarpaulin --all-features --avoid-cfg-tarpaulin --timeout=360 --out lcov
      - name: Push code coverage results to coveralls.io
        uses: coverallsapp/github-action@master
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          path-to-lcov: ./lcov.info

  test_all_features:
    name: Test on ${{ matrix.os }} with all features
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macOS-latest]

    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true
      - name: cargo fetch
        uses: actions-rs/cargo@v1
        with:
          command: fetch
      - name: Build tests
        uses: actions-rs/cargo@v1
        with:
          command: build
          args: --verbose --release --tests --all-features
      - name: Run tests
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --verbose --release --all-features

  doc-links:
    name: Intra-documentation links
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true
      - name: cargo fetch
        uses: actions-rs/cargo@v1
        with:
          command: fetch
      # Ensure intra-documentation links all resolve correctly
      # Requires #![deny(broken_intra_doc_links)] in crate.
      - name: Check intra-doc links
        uses: actions-rs/cargo@v1
        with:
          command: doc
          args: --document-private-items