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