bitcoin-hpke 0.13.0

An implementation of the HPKE hybrid encryption standard (RFC 9180) on libsecp256k1
Documentation
name: CI

on:
  push:
    branches: [ '**' ]
    paths-ignore: ["README.md"]
  pull_request:
    branches: [ '**' ]
    paths-ignore: ["README.md"]

jobs:
  test:
    strategy:
      matrix:
        platform:
          - ubuntu-latest
          - macos-latest
          - windows-latest
        toolchain:
          - stable
          - beta
          - nightly
    runs-on: ${{ matrix.platform }}
    steps:
      - name: Checkout sources
        uses: actions/checkout@v1

      - name: Install toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: ${{ matrix.toolchain }}
          override: true

      - name: Run cargo test with just secp enabled
        env:
          CARGO_INCREMENTAL: 0
          RUSTFLAGS: -D warnings -A dead_code -A unused_imports
        run: cargo test --no-default-features --features="secp"

      - name: Run cargo test with all features enabled
        env:
          CARGO_INCREMENTAL: 0
          RUSTFLAGS: -D warnings -A dead_code -A unused_imports
        run: cargo test --all-features

      - name: Run cargo build with all features
        env:
          CARGO_INCREMENTAL: 0
          RUSTFLAGS: -D warnings
        run: cargo build --all-features
  rustfmt:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout sources
        uses: actions/checkout@v1

      - name: Install stable toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          components: rustfmt

      - name: Run cargo fmt
        uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: --all -- --check

  msrv:
   name: Current MSRV is 1.63.0
   runs-on: ubuntu-latest
   steps:
   - uses: actions/checkout@v3
   # Check that `cargo build` works with respect to the oldest possible
   # deps and the stated MSRV
   - uses: dtolnay/rust-toolchain@1.63.0
   - name: Pin MSRV dependencies
     run: |
       cargo update
       cargo update -p half --precise 2.2.1
       cargo update -p regex --precise 1.9.6
   - run: cargo build --all-features

  clippy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          components: clippy
      - run: cargo clippy --all-features -- -D warnings