name: Quality
on:
pull_request:
push:
branches:
- main
jobs:
clippy_check:
strategy:
matrix:
rustflags:
- "-C target-cpu=native"
- "-C target-cpu=native -C target-feature=-avx2"
- "-C target-cpu=native -C target-feature=-avx2,-pclmulqdq"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Validate cargo format
run: cargo fmt -- --check
- name: Install clippy
run: rustup component add clippy
- uses: actions-rs/clippy-check@v1
env:
RUSTFLAGS: ${{ matrix.rustflags }}
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --all
coverage:
strategy:
matrix:
rustflags:
- ""
- "-C target-feature=-avx2"
- "-C target-feature=-avx2,-pclmulqdq"
features:
- ",known-key,128bit,beef"
- ",known-key,beef"
- ",128bit,beef"
- ",beef"
- ",known-key,128bit"
- ",known-key"
- ",128bit"
- ""
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install deps
run: sudo apt-get update && sudo apt-get install -y libssl-dev pkg-config cmake zlib1g-dev
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
components: llvm-tools-preview
- name: Install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov
- name: Run codecov
env:
RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
PROPTEST_CASES: 512
run: cargo llvm-cov --lcov --output-path lcov.txt --features no-inline${{ matrix.features }}
- name: Generate matrix name
run: |
flags="${{ matrix.rustflags }}${{ matrix.features }}"
flags="${flags/-C target-feature=/}"
flags="${flags//[- ]/}"
echo "$flags"
echo "flags=$flags" >> $GITHUB_ENV
- uses: codecov/codecov-action@v3
with:
files: ./lcov.txt flags: ${{ env.flags }} fail_ci_if_error: true verbose: true