libes 0.9.1

Collection of Elliptic Curve Integrated Encryption Scheme(s)
Documentation
name: "Rust CI"

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

env:
  CARGO_TERM_COLOR: always

jobs:
  check_and_test:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - uses: Swatinem/rust-cache@v2
    - name: Run cargo check
      run: cargo check --verbose --all-targets --all-features
    - name: Run cargo test
      run: cargo test --verbose --all-targets --all-features
      
  cargo_deny:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        checks:
          - advisories
          - bans licenses sources
    continue-on-error: ${{ matrix.checks == 'advisories' }}  # Prevent sudden announcement of a new advisory from failing ci:
    steps:
    - uses: actions/checkout@v3
    - uses: Swatinem/rust-cache@v2
    - name: Run cargo deny
      uses: EmbarkStudios/cargo-deny-action@v1
      with:
        command: check ${{ matrix.checks }}
          
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Run cargo clippy
        run: cargo clippy --all-targets --all-features
      - name: Run cargo fmt
        run: cargo fmt --all -- --check