xref: /freebsd/crypto/libecc/.github/workflows/libecc_examples.yml (revision f0865ec9906d5a18fa2a3b61381f22ce16e606ad)
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