name: Test on: [push, pull_request] jobs: test: runs-on: ubuntu-20.04 strategy: matrix: CC: [gcc, clang] env: CC: ${{ matrix.CC }} steps: - uses: actions/checkout@v2 with: submodules: true - name: Setup ${{ matrix.CC }} run: | sudo apt-get update sudo apt-get install -y $CC dpkg apt - name: Setup pari run: | wget -q https://mirrors.edge.kernel.org/ubuntu/pool/universe/p/pari/libpari-gmp-tls7_2.13.1-1_amd64.deb wget -q https://mirrors.edge.kernel.org/ubuntu/pool/universe/p/pari/libpari-dev_2.13.1-1_amd64.deb wget -q https://mirrors.edge.kernel.org/ubuntu/pool/universe/p/pari/pari-gp_2.13.1-1_amd64.deb wget -q https://mirrors.edge.kernel.org/ubuntu/pool/main/r/readline/libreadline8_8.0-4_amd64.deb wget -q https://mirrors.edge.kernel.org/ubuntu/pool/main/n/ncurses/libtinfo6_6.2-1_amd64.deb wget -q https://pari.math.u-bordeaux.fr/pub/pari/packages/seadata.tgz sudo dpkg --force-all -i libtinfo6_6.2-1_amd64.deb libreadline8_8.0-4_amd64.deb libpari-gmp-tls7_2.13.1-1_amd64.deb libpari-dev_2.13.1-1_amd64.deb pari-gp_2.13.1-1_amd64.deb DATADIR=$(echo "default(datadir)" | gp -q | cut -d\" -f2) sudo tar --strip-components=1 -C ${DATADIR} -xzf seadata.tgz data/ - name: Test run: | TEST=1 make unittest - name: Code coverage if: ${{ matrix.CC == 'gcc' }} run: | cd src && find . -name "*.gcda" -exec gcov -pb "{}" +; - name: Code coverage upload uses: codecov/codecov-action@v1 if: ${{ matrix.CC == 'gcc' }} with: env_vars: CC functionalities: gcov