http-sig 0.6.0

Implementation of the IETF draft 'Signing HTTP Messages'
Documentation
on: [push, pull_request]

name: CI

jobs:
  check:
    name: Check
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: dtolnay/rust-toolchain@stable
      - run: cargo check --all-features

  fmt:
    name: Rustfmt
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: dtolnay/rust-toolchain@stable
      - run: cargo fmt --all -- --check

  clippy:
    name: Clippy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: dtolnay/rust-toolchain@stable
      - run: cargo clippy --all --all-features -- -D warnings

  test:
    name: Test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: dtolnay/rust-toolchain@stable
      - run: cargo test --all --all-features

  rfc-test-suite:
    name: RFC Test Suite
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v2
      
      - name: Checkout test repo
        uses: actions/checkout@v2
        with:
          repository: Diggsey/http-signatures-test-suite
          path: http-signatures-test-suite
          ref: 872fad28a85d2f87f042b55ed05ca7a1d43d977b

      - name: Setup Node.js
        uses: actions/setup-node@v1
        with:
          node-version: '12.x'

      - uses: dtolnay/rust-toolchain@stable
        
      - run: cargo build -p http-sig-validator --release
      
      - run: cp http-sig-validator/config.json http-signatures-test-suite/config.json
      - run: cd http-signatures-test-suite && npm install
      - run: cd http-signatures-test-suite && npm test -- --inline-diffs