quantities 0.15.0

Unit-safe computations with quantities.
Documentation
on:
  push:
    tags:
      - quantities@**

jobs:
  check:
    strategy:
      fail-fast: true
      matrix:
        os: [ubuntu-latest, windows-latest, macos-latest]
    runs-on: ${{ matrix.os }}
    steps:
      - name: ⬇️ checkout repository
        uses: actions/checkout@v3
      - name: 🛠 setup cargo toolchain
        uses: dtolnay/rust-toolchain@stable
      - name: ♻️ cache Rust dependencies
        uses: Swatinem/rust-cache@v2
        with:
          shared-key: ${{ matrix.os }}
      - name: ✅ run cargo check
        run: |
          cargo check
          cargo check --all-features
  test:
    needs: check
    runs-on: ubuntu-latest
    steps:
      - name: Free Disk Space (Ubuntu)
        uses: jlumbroso/free-disk-space@v1.3.1
        with:
          tool-cache: true
      - name: ⬇️ checkout repository
        uses: actions/checkout@v3
      - name: 🛠 setup cargo toolchain
        uses: dtolnay/rust-toolchain@stable
      - name: 🛠 install cargo-hack
        uses: baptiste0928/cargo-install@v2
        with:
          crate: cargo-hack
      - name: ♻️ cache Rust dependencies
        uses: Swatinem/rust-cache@v2
        with:
          shared-key: ubuntu-latest
      - name: 🛟 run cargo test
        run: |
          cargo hack test \
          --lib \
          --tests \
          --feature-powerset \
          --optional-deps \
          --group-features \
            mass,length,duration,area,volume,speed,acceleration,force,energy,\
            power,frequency,datavolume,datathroughput,temperature \
          --exclude-features doc
        env:
          TRYBUILD: overwrite
      - name: 🛟 run cargo doctest
        run: |
          cargo test --doc --features fpdec
  lint:
    needs: test
    runs-on: ubuntu-latest
    steps:
      - name: ⬇️ checkout repository
        uses: actions/checkout@v3
      - name: 🛠 setup cargo toolchain
        uses: dtolnay/rust-toolchain@stable
      - name: ♻️ cache Rust dependencies
        uses: Swatinem/rust-cache@v2
        with:
          shared-key: ubuntu-latest
      - name: 🔍 run cargo clippy
        run: |
          cargo clippy --all-features