53 lines
1.4 KiB
YAML
53 lines
1.4 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main, master]
|
|
pull_request:
|
|
branches: [main, master]
|
|
|
|
jobs:
|
|
build-linux:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
compiler: [gcc, clang]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Build
|
|
run: make CC=${{ matrix.compiler }}
|
|
- name: NIST test vectors
|
|
run: make test-vectors CC=${{ matrix.compiler }} && ./test_vectors
|
|
- name: VaptVupt unit tests
|
|
run: make test-vv CC=${{ matrix.compiler }}
|
|
- name: Regression tests
|
|
run: sh tests/regression.sh
|
|
- name: Benchmark
|
|
run: ./zupt bench --compare
|
|
|
|
build-asan:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: ASAN + UBSan build
|
|
run: make test-asan
|
|
- name: ASAN regression
|
|
run: |
|
|
mkdir -p /tmp/asan_data
|
|
echo "ASAN test data" > /tmp/asan_data/test.txt
|
|
./zupt_asan compress /tmp/asan_test.zupt /tmp/asan_data/
|
|
./zupt_asan extract -o /tmp/asan_out /tmp/asan_test.zupt
|
|
diff /tmp/asan_data/test.txt /tmp/asan_out/tmp/asan_data/test.txt
|
|
|
|
build-macos:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Build
|
|
run: make
|
|
- name: NIST test vectors
|
|
run: make test-vectors && ./test_vectors
|
|
- name: VaptVupt unit tests
|
|
run: make test-vv
|
|
- name: Regression tests
|
|
run: sh tests/regression.sh
|