name: libecc # Run this workflow every time a new commit pushed to your repository on: push jobs: vanilla_tests_gcc: runs-on: ubuntu-latest strategy: #max-parallel: 10 matrix: cc: [clang] blinding: [0, 1] complete: [0, 1] ladder: [0, 1] cryptofuzz: [0, 1] optflags: ["-O1"] steps: # Checkout repository - name: checkout repository uses: actions/checkout@v2 # Run actions # Vanilla tests - name: vanilla tests env: CC: ${{ matrix.cc }} BLINDING: ${{ matrix.blinding }} COMPLETE: ${{ matrix.complete }} LADDER: ${{ matrix.ladder }} CRYPTOFUZZ: ${{ matrix.cryptofuzz }} EXTRA_LIB_CFLAGS: ${{ matrix.optflags }} EXTRA_BIN_CFLAGS: ${{ matrix.optflags }} ASSERT_PRINT: 1 shell: bash run: | # Test our Python libecc expanding script # Python2 echo "y" | python2 scripts/expand_libecc.py --remove-all && PYTHON=python2 sh scripts/gen_curves_tests.sh && make clean && make && ./build/ec_self_tests vectors && ./build/ec_self_tests rand; # Python3 echo "y" | python3 scripts/expand_libecc.py --remove-all && PYTHON=python3 sh scripts/gen_curves_tests.sh && make clean && make && ./build/ec_self_tests vectors && ./build/ec_self_tests rand; # Clean echo "y" | python2 scripts/expand_libecc.py --remove-all && make clean; # Vanilla tests make && ./build/ec_self_tests vectors && ./build/ec_self_tests rand && cd src/arithmetic_tests/ && make clean && make && make clean && cd -; cd src/examples/ && make clean && make && cd - && make clean; make 16 && ./build/ec_self_tests vectors && ./build/ec_self_tests rand && cd src/arithmetic_tests/ && make clean && make 16 && make clean && cd -; cd src/examples/ && make clean && make 16 && cd - && make clean; make 32 && ./build/ec_self_tests vectors && ./build/ec_self_tests rand && cd src/arithmetic_tests/ && make clean && make 32 && make clean && cd -; cd src/examples/ && make clean && make 32 && cd - && make clean; make 64 && ./build/ec_self_tests vectors && ./build/ec_self_tests rand && cd src/arithmetic_tests/ && make clean && make 64 && make clean && cd -; cd src/examples/ && make clean && make 64 && cd - && make clean; make debug && ./build/ec_self_tests vectors && ./build/ec_self_tests rand && cd src/arithmetic_tests/ && make clean && make debug && make clean && cd -; cd src/examples/ && make clean && make debug && cd - && make clean; make debug16 && ./build/ec_self_tests vectors && ./build/ec_self_tests rand && cd src/arithmetic_tests/ && make clean && make debug16 && make clean && cd -; cd src/examples/ && make clean && make debug16 && cd - && make clean; make debug32 && ./build/ec_self_tests vectors && ./build/ec_self_tests rand && cd src/arithmetic_tests/ && make clean && make debug32 && make clean && cd -; cd src/examples/ && make clean && make debug32 && cd - && make clean; make debug64 && ./build/ec_self_tests vectors && ./build/ec_self_tests rand && cd src/arithmetic_tests/ && make clean && make debug64 && make clean && cd -; cd src/examples/ && make clean && make debug64 && cd - && make clean; continue-on-error: true