zupt/.github/workflows/ci.yml
2026-03-30 06:56:52 -03:00

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