rustls-pemfile 2.2.0

Basic .pem file parser for keys and certificates
Documentation
name: rustls-pemfile

on:
  push:
  pull_request:
  merge_group:
  schedule:
    - cron: '0 18 * * *'

jobs:
  rustfmt:
    runs-on: ubuntu-latest
    steps:
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt
      - uses: actions/checkout@v4
      - run: cargo fmt --all -- --check
  clippy:
    runs-on: ubuntu-latest
    steps:
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: clippy
      - uses: actions/checkout@v4
      - run: cargo clippy --locked --all-features --all-targets
  rustdoc:
    runs-on: ubuntu-latest
    steps:
      - uses: dtolnay/rust-toolchain@stable
      - uses: actions/checkout@v4
      - run: cargo doc --locked --all-features
  build:
    name: "Build and test"
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        # test a bunch of toolchains on ubuntu
        rust:
          - stable
          - beta
          - nightly
        os: [ubuntu-latest]
        # but only stable on macos/windows (slower platforms)
        include:
          - os: macos-latest
            rust: stable
          - os: windows-latest
            rust: stable
    steps:
      - name: Checkout sources
        uses: actions/checkout@v4

      - name: Install ${{ matrix.rust }} toolchain
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: ${{ matrix.rust }}
          targets: x86_64-unknown-none

      - name: cargo test (debug)
        run: cargo test --locked
        env:
          RUST_BACKTRACE: 1
          RUSTFLAGS: "-D warnings"

      - name: cargo test (release)
        run: cargo test --locked --release
        env:
          RUSTFLAGS: "-D warnings"

        # this target does _not_ include the libstd crate in its sysroot
        # it will catch unwanted usage of libstd in _dependencies_
      - name: cargo build no-std mode
        run: cargo build --locked --no-default-features --target x86_64-unknown-none
        env:
          RUSTFLAGS: "-D warnings"

  semver:
    name: Check semver compatibility
    runs-on: ubuntu-latest
    steps:
      - name: Checkout sources
        uses: actions/checkout@v4
        with:
          persist-credentials: false

      - name: Check semver
        uses: obi1kenobi/cargo-semver-checks-action@v2