/ external / libecc / .github / workflows / libecc_examples.yml
libecc_examples.yml
 1  name: libecc
 2  
 3  # Run this workflow every time a new commit pushed to your repository
 4  on: push
 5  
 6  jobs:
 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