1name: libecc 2 3# Run this workflow every time a new commit pushed to your repository 4on: push 5 6jobs: 7 examples: 8 runs-on: ubuntu-22.04 9 strategy: 10 #max-parallel: 10 11 matrix: 12 cc: [gcc, clang] 13 blinding: [0, 1] 14 cryptofuzz: [1] 15 steps: 16 # Checkout repository 17 - name: checkout repository 18 uses: actions/checkout@v2 19 # Run actions 20 # libecc examples tests 21 - name: libecc examples tests 22 env: 23 CC: ${{ matrix.cc }} 24 BLINDING: ${{ matrix.blinding }} 25 CRYPTOFUZZ: ${{ matrix.cryptofuzz }} 26 ASSERT_PRINT: 1 27 # We want to parallelize self tests 28 OPENMP_SELF_TESTS: 1 29 shell: bash 30 run: | 31 # Install OpenMP 32 sudo apt-get update; 33 sudo apt-get -y install libomp-dev; 34 # Compile and compile the tests 35 # 36 EXTRA_CFLAGS="-DUSER_NN_BIT_LEN=4096" make && cd src/examples/ && EXTRA_CFLAGS="-DUSER_NN_BIT_LEN=4096" make && ./sig/rsa/rsa && ./sig/dsa/dsa && ./sig/kcdsa/kcdsa && ./sig/sdsa/sdsa && ./sig/gostr34_10_94/gostr34_10_94 && ./sss/sss && ./basic/curve_basic_examples && ./basic/curve_ecdh && make clean && cd - && make clean; 37 make 32 && cd src/examples/ && make 32 && ./sss/sss && ./basic/curve_basic_examples && ./basic/curve_ecdh && make clean && cd - && make clean; 38 make 16 && cd src/examples/ && make 16 && ./sss/sss && ./basic/curve_basic_examples && ./basic/curve_ecdh && make clean && cd - && make clean; 39 continue-on-error: false 40