quinn-boring 0.1.0

BoringSSL crypto provider for quinn
Documentation
name: CI

on:
  push:
    branches: ['main']
  pull_request:
  schedule:
    - cron: "21 3 * * 5"

jobs:

# TODO(nmittler): Investigate why tests get "unknown CA" on windows.
#  test-windows:
#    name: test (windows-latest, stable)
#    runs-on: windows-latest
#
#    steps:
#      - name: Checkout source
#        uses: actions/checkout@v2
#        with:
#          submodules: 'recursive'
#      - name: Install nasm
#        uses: crazy-max/ghaction-chocolatey@v1
#        with:
#          args: install nasm
#      - name: Install rust toolchain
#        uses: actions-rs/toolchain@v1
#        with:
#          profile: minimal
#          toolchain: stable
#          override: true
#      - name: Cargo Build
#        uses: actions-rs/cargo@v1
#        with:
#          command: build
#          args: --all-targets
#      - name: Cargo Test
#        uses: actions-rs/cargo@v1
#        with:
#          command: test
#          args: --verbose --all-targets

  test:
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest]
        rust: [stable, beta]
        exclude:
          - os: macos-latest
            rust: beta

    runs-on: ${{ matrix.os }}

    steps:
      - name: Checkout source
        uses: actions/checkout@v2
        with:
          submodules: 'recursive'
      - name: Install rust toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: ${{ matrix.rust }}
          override: true
      - name: Cargo Build
        uses: actions-rs/cargo@v1
        with:
          command: build
          args: --all-targets
      - name: Cargo Test
        uses: actions-rs/cargo@v1
        with:
          command: test

# TODO(nmittler): Investigate build issues.
#  test-fips:
#    name: test fips
#    runs-on: ubuntu-20.04
#    steps:
#      - name: Checkout source
#        uses: actions/checkout@v2
#        with:
#          submodules: 'recursive'
#      - name: Install Clang 7
#        uses: egor-tensin/setup-clang@v1
#        with:
#          version: "7"
#      - name: Install rust toolchain
#        uses: actions-rs/toolchain@v1
#        with:
#          profile: minimal
#          toolchain: stable
#          override: true
#      - name: Cargo Build
#        uses: actions-rs/cargo@v1
#        with:
#          command: build
#          args: --all-targets --features fips
#      - name: Cargo Test
#        uses: actions-rs/cargo@v1
#        with:
#          command: test
#          args: --features fips

  lint:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout source
        uses: actions/checkout@v2
        with:
          submodules: 'recursive'
      - name: Install rust toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true
          components: rustfmt, clippy
      - name: Cargo fmt
        uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: --all -- --check
      - name: Cargo clippy
        uses: actions-rs/cargo@v1
        with:
          command: clippy
          args: --all-targets -- -D warnings
      - name: Cargo doc
        run: cargo doc --no-deps --document-private-items
        env:
          RUSTDOCFLAGS: -Dwarnings

  audit:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: EmbarkStudios/cargo-deny-action@v1