boring-rustls-provider 5.0.0

A BoringSSL-based rustls crypto provider with optional FIPS and post-quantum support
Documentation
name: Rust check

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

env:
  CARGO_TERM_COLOR: always
  RUSTFLAGS: -Dwarnings

jobs:
  fmt:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4
    - name: Install dependencies
      run: sudo apt-get install -y cmake clang
    - name: Check fmt
      run: make fmt

  doc:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4
    - name: Install dependencies
      run: sudo apt-get install -y cmake clang
    - name: Check docs
      run: make doc

  test-default:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4
    - name: Install dependencies
      run: sudo apt-get install -y cmake clang
    - name: Lint (default features)
      run: make lint FEATURES=""
    - name: Test (default features)
      run: make test FEATURES=""
    - name: Build (default features)
      run: make build FEATURES=""

  test-tls12:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4
    - name: Install dependencies
      run: sudo apt-get install -y cmake clang
    - name: Lint (tls12)
      run: make lint FEATURES="tls12"
    - name: Test (tls12)
      run: make test FEATURES="tls12"
    - name: Build (tls12)
      run: make build FEATURES="tls12"

  test-logging-tls12:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4
    - name: Install dependencies
      run: sudo apt-get install -y cmake clang
    - name: Lint (logging,tls12)
      run: make lint FEATURES="logging,tls12"
    - name: Test (logging,tls12)
      run: make test FEATURES="logging,tls12"
    - name: Build (logging,tls12)
      run: make build FEATURES="logging,tls12"

  test-mlkem:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4
    - name: Install dependencies
      run: sudo apt-get install -y cmake clang
    - name: Lint (mlkem)
      run: make lint FEATURES="mlkem"
    - name: Test (mlkem)
      run: make test FEATURES="mlkem"
    - name: Build (mlkem)
      run: make build FEATURES="mlkem"

  test-mlkem-tls12:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4
    - name: Install dependencies
      run: sudo apt-get install -y cmake clang
    - name: Lint (mlkem,tls12)
      run: make lint FEATURES="mlkem,tls12"
    - name: Test (mlkem,tls12)
      run: make test FEATURES="mlkem,tls12"
    - name: Build (mlkem,tls12)
      run: make build FEATURES="mlkem,tls12"

  test-fips:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4
    - name: Install dependencies
      run: sudo apt-get install -y cmake clang
    - name: Test (fips)
      run: cargo test --all-targets --features fips

  check-fips:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4
    - name: Install dependencies
      run: sudo apt-get install -y cmake clang
    - name: Check (fips)
      run: cargo check --all-targets --features fips
    - name: Check (fips-precompiled)
      run: cargo check --all-targets --features fips-precompiled