aboutsummaryrefslogtreecommitdiff
path: root/crypto/libecc/.github/workflows/libecc_compilation_tests.yml
blob: 76aae957f3620e31942f692e5177d6085b98fc5e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
name: libecc

# Run this workflow every time a new commit pushed to your repository
on: push

jobs:
  compilation_tests:
    runs-on: ubuntu-22.04
    strategy:
      #max-parallel: 10
      matrix:
        cc: [gcc, clang, g++, clang++]
        blinding: [0, 1]
        complete: [0, 1]
        ladder: [0, 1]
        cryptofuzz: [0, 1]
        optflags: ["-O3", "-O2", "-O1"]
    steps:
      # Checkout repository
      - name: checkout repository
        uses: actions/checkout@v2
      # Run actions
      # libecc compilation tests
      - name: libecc compilation tests
        env:
          CC: ${{ matrix.cc }}
          BLINDING: ${{ matrix.blinding }}
          COMPLETE: ${{ matrix.complete }}
          LADDER: ${{ matrix.ladder }}
          CRYPTOFUZZ: ${{ matrix.cryptofuzz }}
          EXTRA_LIB_CFLAGS: ${{ matrix.optflags }}
          EXTRA_BIN_CFLAGS: ${{ matrix.optflags }}
        shell: bash
        run: |
          # Compilation tests of all cases
          #
          make && cd src/arithmetic_tests/ && make clean && make bin && make clean && cd -;
          cd src/examples/ && make clean && make && cd - && make clean;
          make 16;
          cd src/examples/ && make clean && make 16 && cd - && make clean;
          make 32;
          cd src/examples/ && make clean && make 32 && cd - && make clean;
          make 64;
          cd src/examples/ && make clean && make 64 && cd - && make clean;
          # We perform one test with the sanitizers
          USE_SANITIZERS=1 make;
          cd src/examples/ && make clean && USE_SANITIZERS=1 make && cd - && make clean;
          #
          make debug;
          cd src/examples/ && make clean && make debug && cd - && make clean;
          make debug16;
          cd src/examples/ && make clean && make debug16 && cd - && make clean;
          make debug32;
          cd src/examples/ && make clean && make debug32 && cd - && make clean;
          make debug64;
          cd src/examples/ && make clean && make debug64 && cd - && make clean;
        continue-on-error: false