pmtiles 0.2.2

Implementation of the PMTiles v3 spec with multiple sync and async backends.
Documentation
name: Cargo Test

on:
  push: {}
  pull_request:
    branches:
      - main
  release:
    branches:
      - main

jobs:
  build_and_test:
    name: Run unit tests
    runs-on: ubuntu-latest
    steps:
      - name: Checkout sources
        uses: actions/checkout@v3

      - name: Install stable toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable

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

      - name: Install fmt and clippy
        run: rustup component add clippy rustfmt

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

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

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

      - name: Test http-async
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --features http-async

      - name: Test mmap-async-tokio
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --features mmap-async-tokio

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