1---
2# vi: ts=2 sw=2 et:
3# SPDX-License-Identifier: LGPL-2.1-or-later
4#
5name: Unit tests
6on:
7  pull_request:
8    branches:
9      - main
10      - v[0-9]+-stable
11
12permissions:
13  contents: read
14
15jobs:
16  build:
17    runs-on: ubuntu-20.04
18    concurrency:
19      group: ${{ github.workflow }}-${{ matrix.run_phase }}-${{ matrix.cryptolib }}-${{ github.ref }}
20      cancel-in-progress: true
21    strategy:
22      fail-fast: false
23      matrix:
24        run_phase: [GCC, GCC_ASAN_UBSAN, CLANG, CLANG_ASAN_UBSAN, CLANG_ASAN_UBSAN_NO_DEPS]
25        cryptolib: [auto]
26        include:
27          - run_phase: GCC
28            cryptolib: openssl
29          - run_phase: CLANG
30            cryptolib: gcrypt
31    steps:
32      - name: Repository checkout
33        uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
34      - name: Install build dependencies
35        run: sudo -E .github/workflows/unit_tests.sh SETUP
36      - name: Build & test (${{ matrix.run_phase }}-${{ matrix.cryptolib }})
37        run: sudo -E .github/workflows/unit_tests.sh RUN_${{ matrix.run_phase }}
38        env:
39          CRYPTOLIB: ${{ matrix.cryptolib }}
40