certon 0.1.3

Automatic HTTPS/TLS certificate management via the ACME protocol
Documentation
name: ci-linux

permissions:
  contents: read

on:
  pull_request:
    types: [opened, synchronize, reopened]
    paths:
      - '**.rs'
      - '**/Cargo.toml'
      - '.github/workflows/**'
  push:
    branches:
      - main
    paths:
      - '**.rs'
      - '**/Cargo.toml'
      - '.github/workflows/**'

jobs:
  typos:
    name: Typos
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: dtolnay/rust-toolchain@master
        with:
          toolchain: stable
          components: rustfmt, clippy
      - name: Typos check with custom config file
        uses: crate-ci/typos@master
  msrv:
    name: Check MSRV - x86_64-unknown-linux-gnu
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - name: Get MSRV from package metadata
        id: msrv
        run: grep rust-version Cargo.toml | cut -d'"' -f2 | sed 's/^/version=/' >> $GITHUB_OUTPUT

      - uses: dtolnay/rust-toolchain@master
        with:
          toolchain: ${{ steps.msrv.outputs.version }}
          components: rustfmt, clippy

      - name: check crates
        run: cargo check --all --bins --examples --tests
  test:
    strategy:
        fail-fast: false
        matrix:
          version:
            - stable
            # - nightly
    name: Cargo check ${{ matrix.version }} - x86_64-unknown-linux-gnu
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: dtolnay/rust-toolchain@master
        with:
          toolchain: ${{ matrix.version }}
          components: rustfmt, clippy

      - name: check build
        run: cargo check --all --bins --examples --tests

      - name: check release build
        run: cargo check --all --bins --examples --tests --release

      - name: Cargo test
        timeout-minutes: 40
        run: cargo test --all --all-features --no-fail-fast -- --nocapture