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