tinymap 0.4.0

A map structure that stores its data on the stack
Documentation
name: CI

on:
  pull_request:
    types: [opened, synchronize, reopened]
  push:
    branches: [main]
  schedule:
    - cron: 0 0 * * 0

jobs:
  build-and-test:
    strategy:
      fail-fast: false
      matrix:
        version:
          - stable
          - 1.61.0 # MSRV

    name: ${{ matrix.version }}
    runs-on: ubuntu-latest

    steps:
      - name: checkout source
        uses: actions/checkout@v3

      - name: install Rust
        uses: actions-rust-lang/setup-rust-toolchain@v1.3.5
        with:
          toolchain: ${{ matrix.version }}

      - name: install cargo-hack
        uses: taiki-e/install-action@cargo-hack

      - name: install cargo-nextest
        uses: taiki-e/install-action@cargo-nextest

      - name: test
        run: cargo hack --feature-powerset nextest run --workspace

  linting:
    if: ${{ github.ref != 'main' }}
    runs-on: ubuntu-latest
    steps:
      - name: checkout source
        uses: actions/checkout@v3

      - name: install Rust
        uses: actions-rust-lang/setup-rust-toolchain@v1.3.5
        with: { components: rustfmt, clippy }

      - name: format
        run: cargo fmt --all -- --check

      - name: clippy
        uses: actions-rs/clippy-check@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          args: -- -D warnings

  minimal-versions:
    runs-on: ubuntu-latest
    steps:
      - name: checkout source
        uses: actions/checkout@v3

      - name: install Rust
        uses: actions-rust-lang/setup-rust-toolchain@v1.3.5
        with: { toolchain: nightly }

      - name: install cargo-hack
        uses: taiki-e/install-action@cargo-hack

      - name: install cargo-minimal-versions
        uses: taiki-e/install-action@cargo-minimal-versions

      - name: minimal version check
        run: cargo minimal-versions check --workspace