bb8-mongodb 1.3.0

bb8 connection pooling impmentation for the MongoDB database
Documentation
on:
  workflow_dispatch:
  push:
    branches:
      - master
      - legacy/*
    tags-ignore:
      - "*"
  pull_request:
    branches:
      - "*"
  schedule:
    - cron: "13 3 * * *"

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: true

env:
  GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

name: 🦀 Rust 🦀

jobs:
  rustfmt:
    name: 📌 Formatting 📌
    uses: rustyhorde/workflows/.github/workflows/rustfmt.yml@main

  lints-linux:
    name: 🕳️ Clippy (Linux) 🕳️
    needs: rustfmt
    uses: rustyhorde/workflows/.github/workflows/clippy-all-features.yml@main
    with:
      os: ubuntu-latest
      channel: nightly
      target: x86_64-unknown-linux-gnu

  lints-macos:
    name: 🕳️ Clippy (MacOS) 🕳️
    needs: rustfmt
    uses: rustyhorde/workflows/.github/workflows/clippy-all-features.yml@main
    with:
      os: macos-latest
      channel: nightly
      target: apple-darwin

  lints-windows:
    name: 🕳️ Clippy (Windows) 🕳️
    needs: rustfmt
    uses: rustyhorde/workflows/.github/workflows/clippy-all-features.yml@main
    with:
      os: windows-latest
      channel: nightly
      target: x86_64-pc-windows-gnu

  test-linux:
    name: 🧪 Test (Linux) 🧪
    needs: lints-linux
    strategy:
      matrix:
        os: [ubuntu-latest]
        channel: ["1.87.0", "stable", "beta", "nightly"]
        target: [x86_64-unknown-linux-gnu]
    uses: rustyhorde/workflows/.github/workflows/test-all-features.yml@main
    with:
      os: ${{ matrix.os }}
      channel: ${{ matrix.channel }}
      target: ${{ matrix.target }}
    secrets: inherit

  test-macos:
    name: 🧪 Test (MacOS) 🧪
    needs: lints-macos
    strategy:
      matrix:
        os: [macos-latest]
        channel: ["1.87.0", "stable", "beta", "nightly"]
        target: [apple-darwin]
    uses: rustyhorde/workflows/.github/workflows/test-all-features.yml@main
    with:
      os: ${{ matrix.os }}
      channel: ${{ matrix.channel }}
      target: ${{ matrix.target }}
    secrets: inherit

  test-windows:
    name: 🧪 Test (Windows) 🧪
    needs: lints-windows
    strategy:
      matrix:
        os: [windows-latest]
        channel: ["1.87.0", "stable", "beta", "nightly"]
        target: [x86_64-pc-windows-gnu, x86_64-pc-windows-msvc]
    uses: rustyhorde/workflows/.github/workflows/test-all-features.yml@main
    with:
      os: ${{ matrix.os }}
      channel: ${{ matrix.channel }}
      target: ${{ matrix.target }}
    secrets: inherit

  coverage-linux:
    name: 🧱 Coverage (Linux) 🧱
    needs: test-linux
    uses: rustyhorde/workflows/.github/workflows/coverage.yml@main
    with:
      os: ubuntu-latest
      channel: nightly
      target: x86_64-unknown-linux-gnu
      lcov: true
      html: true
      run_cmd: ${{ vars.COVERAGE_RUN_CMD }}
    secrets: inherit

  coverage-macos:
    name: 🧱 Coverage (MacOS) 🧱
    needs: test-macos
    uses: rustyhorde/workflows/.github/workflows/coverage.yml@main
    with:
      os: macos-latest
      channel: nightly
      target: apple-darwin
      lcov: true
      html: true
      run_cmd: ${{ vars.COVERAGE_RUN_CMD }}
    secrets: inherit

  coverage-windows:
    name: 🧱 Coverage (Wndows) 🧱
    needs: test-windows
    strategy:
      matrix:
        target: [x86_64-pc-windows-gnu, x86_64-pc-windows-msvc]
    uses: rustyhorde/workflows/.github/workflows/coverage.yml@main
    with:
      os: windows-latest
      channel: nightly
      target: ${{ matrix.target }}
      lcov: true
      html: true
      run_cmd: ${{ vars.COVERAGE_RUN_CMD }}
    secrets: inherit