xref: /freebsd/crypto/libecc/.github/workflows/libecc_compilation_tests.yml (revision f0865ec9906d5a18fa2a3b61381f22ce16e606ad)
1name: libecc
2
3# Run this workflow every time a new commit pushed to your repository
4on: push
5
6jobs:
7  compilation_tests:
8    runs-on: ubuntu-22.04
9    strategy:
10      #max-parallel: 10
11      matrix:
12        cc: [gcc, clang, g++, clang++]
13        blinding: [0, 1]
14        complete: [0, 1]
15        ladder: [0, 1]
16        cryptofuzz: [0, 1]
17        optflags: ["-O3", "-O2", "-O1"]
18    steps:
19      # Checkout repository
20      - name: checkout repository
21        uses: actions/checkout@v2
22      # Run actions
23      # libecc compilation tests
24      - name: libecc compilation tests
25        env:
26          CC: ${{ matrix.cc }}
27          BLINDING: ${{ matrix.blinding }}
28          COMPLETE: ${{ matrix.complete }}
29          LADDER: ${{ matrix.ladder }}
30          CRYPTOFUZZ: ${{ matrix.cryptofuzz }}
31          EXTRA_LIB_CFLAGS: ${{ matrix.optflags }}
32          EXTRA_BIN_CFLAGS: ${{ matrix.optflags }}
33        shell: bash
34        run: |
35          # Compilation tests of all cases
36          #
37          make && cd src/arithmetic_tests/ && make clean && make bin && make clean && cd -;
38          cd src/examples/ && make clean && make && cd - && make clean;
39          make 16;
40          cd src/examples/ && make clean && make 16 && cd - && make clean;
41          make 32;
42          cd src/examples/ && make clean && make 32 && cd - && make clean;
43          make 64;
44          cd src/examples/ && make clean && make 64 && cd - && make clean;
45          # We perform one test with the sanitizers
46          USE_SANITIZERS=1 make;
47          cd src/examples/ && make clean && USE_SANITIZERS=1 make && cd - && make clean;
48          #
49          make debug;
50          cd src/examples/ && make clean && make debug && cd - && make clean;
51          make debug16;
52          cd src/examples/ && make clean && make debug16 && cd - && make clean;
53          make debug32;
54          cd src/examples/ && make clean && make debug32 && cd - && make clean;
55          make debug64;
56          cd src/examples/ && make clean && make debug64 && cd - && make clean;
57        continue-on-error: false
58