cookie_store 0.22.1

Implementation of Cookie storage and retrieval
Documentation
name: CI

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

env:
  CARGO_TERM_COLOR: always

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

  clippy:
    name: Clippy check
    runs-on: ubuntu-latest

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

      - name: Run clippy
        run: RUSTFLAGS="-Dwarnings" cargo clippy --all-targets --all-features

  style:
    name: Check style
    runs-on: ubuntu-latest

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

      - name: Install rust
        uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt

      - name: Check cargo fmt
        run: cargo fmt -- --check

  msrv:
    name: MSRV
    runs-on: ubuntu-latest

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

      - uses: dtolnay/rust-toolchain@stable
      - name: Resolve MSRV aware dependencies
        run: cargo update
        env:
          CARGO_RESOLVER_INCOMPATIBLE_RUST_VERSIONS: fallback

      - name: Get MSRV package metadata
        id: metadata
        run: cargo metadata --no-deps --format-version 1 | jq -r '"msrv=" + .packages[0].rust_version' >> $GITHUB_OUTPUT

      - name: Install rust (${{ steps.metadata.outputs.msrv }})
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: ${{ steps.metadata.outputs.msrv }}

      - uses: Swatinem/rust-cache@v2

      - name: Check
        run: cargo check

  build:
    name: ${{ matrix.name }}

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

    strategy:
      matrix:
        name:
          - linux / stable
        include:
          - name: linux / stable

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

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

    - name: Build
      uses: actions-rs/cargo@v1
      with:
        command: build
        args: --verbose --all-features

  test:
    name: ${{ matrix.name }}

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

    strategy:
      matrix:
        name:
          - linux / stable
        include:
          - name: linux / stable

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

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

    - name: Run tests
      uses: actions-rs/cargo@v1
      with:
        command: test
        args: --verbose --all-features