mirror of
https://github.com/henrydcase/pqc.git
synced 2024-11-25 00:41:29 +00:00
105 lines
2.6 KiB
YAML
105 lines
2.6 KiB
YAML
name: PQC
|
|
|
|
on:
|
|
- push
|
|
- pull_request
|
|
|
|
jobs:
|
|
unit-test:
|
|
name: Unit tests
|
|
runs-on: [ubuntu-20.04]
|
|
env:
|
|
CC: ${{ matrix.cc }}
|
|
CXX: ${{ matrix.cxx }}
|
|
CMAKE_FLAGS: ${{matrix.flags}}
|
|
strategy:
|
|
fail-fast: false
|
|
max-parallel: 4
|
|
matrix:
|
|
name: [
|
|
gcc-release-build,
|
|
clang-release-build,
|
|
gcc-debug-build,
|
|
clang-debug-build,
|
|
clang-release-asan-build,
|
|
]
|
|
|
|
include:
|
|
- name: gcc-release-build
|
|
cc: gcc
|
|
cxx: g++
|
|
flags: -DCMAKE_BUILD_TYPE=Release
|
|
- name: gcc-debug-build
|
|
cc: gcc
|
|
cxx: g++
|
|
flags: -DCMAKE_BUILD_TYPE=Debug
|
|
- name: clang-release-build
|
|
cc: clang
|
|
cxx: clang++
|
|
flags: -DCMAKE_BUILD_TYPE=Release
|
|
- name: clang-debug-build
|
|
cc: /usr/bin/clang
|
|
cxx: /usr/bin/clang++
|
|
flags: -DCMAKE_BUILD_TYPE=Debug
|
|
- name: clang-release-asan-build
|
|
cc: clang
|
|
cxx: clang++
|
|
flags: -DCMAKE_BUILD_TYPE=Release -DADDRSAN=1
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
with:
|
|
submodules: true
|
|
- name: build
|
|
run: |
|
|
mkdir -p build
|
|
cd build
|
|
CC=${CC} CXX=${CXX} cmake ${CMAKE_FLAGS} ..
|
|
make
|
|
- name: run tests
|
|
run: |
|
|
cd build && ./ut
|
|
- name: Build Rust bindings
|
|
run: |
|
|
cd src/rustapi/pqc-sys && cargo build
|
|
KAT:
|
|
name: Known Answer Tests
|
|
runs-on: [ubuntu-20.04]
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
with:
|
|
submodules: true
|
|
- name: build
|
|
run: |
|
|
mkdir -p build
|
|
cd build
|
|
CC=clang CXX=clang++ cmake -DCMAKE_BUILD_TYPE=Release ..
|
|
make
|
|
- name: run tests
|
|
run: |
|
|
cd build && ./ut
|
|
- name: Build Rust bindings
|
|
run: |
|
|
cd src/rustapi/pqc-sys && cargo build
|
|
- name: Run KAT tests
|
|
run: |
|
|
cd test/katrunner &&
|
|
curl http://amongbytes.com/~flowher/permalinks/kat.zip --output kat.zip
|
|
unzip kat.zip
|
|
cargo run --release -- --katdir KAT
|
|
MEMSAN:
|
|
name: Memory Sanitizer build
|
|
runs-on: [ubuntu-20.04]
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
with:
|
|
submodules: true
|
|
- name: build
|
|
run: |
|
|
mkdir -p build
|
|
cd build
|
|
CC=clang CXX=clang++ cmake -DCMAKE_BUILD_TYPE=Release -DMEMSAN=1 -DCTSAN=1 ..
|
|
make
|
|
- name: run tests
|
|
run: |
|
|
cd build && ./ut
|