mailisk 0.1.1

Typed async Rust client for the Mailisk API
Documentation
name: Unit Tests

on:
  pull_request:
  push:
    branches:
      - main

permissions:
  contents: read

env:
  CARGO_TERM_COLOR: always

jobs:
  unit-tests:
    name: Rust ${{ matrix.toolchain }}
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        # Stable and the minimum supported Rust version from Cargo.toml.
        toolchain: [stable, "1.88"]

    steps:
      - name: Check out repository
        uses: actions/checkout@v4

      - name: Set up Rust
        run: |
          rustup toolchain install ${{ matrix.toolchain }} --profile minimal
          rustup default ${{ matrix.toolchain }}

      - name: Run unit tests
        run: cargo test --locked

  lint:
    name: Lint
    runs-on: ubuntu-latest

    steps:
      - name: Check out repository
        uses: actions/checkout@v4

      - name: Set up Rust
        run: |
          rustup toolchain install stable --profile minimal --component rustfmt,clippy
          rustup default stable

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

      - name: Run clippy
        run: cargo clippy --locked --all-targets -- -D warnings

      - name: Check native-tls build
        run: cargo check --locked --no-default-features --features native-tls