@@ -43,19 +43,31 @@ jobs:
4343 - name : Install GFortran Linux
4444 if : contains( matrix.os, 'ubuntu')
4545 run : |
46- sudo add-apt-repository ppa:ubuntu-toolchain-r/test
47- sudo apt-get update
48- sudo apt-get install -y gcc-${GCC_V} gfortran-${GCC_V}
49- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${GCC_V} 100 \
50- --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-${GCC_V} \
51- --slave /usr/bingcov gcov /usr/bin/gcov-${GCC_V}
52- # sudo apt-get install -y libblas-dev liblapack-dev
46+ sudo apt-get install lcov
47+ sudo update-alternatives \
48+ --install /usr/bin/gcc gcc /usr/bin/gcc-${{ matrix.gcc_v }} 100 \
49+ --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-${{ matrix.gcc_v }} \
50+ --slave /usr/bin/gcov gcov /usr/bin/gcov-${{ matrix.gcc_v }}
5351
54- - name : Compile
55- run : fpm build --profile release
52+ # - name: Compile
53+ # run: fpm build --profile release
5654
57- - name : Run test
58- run : fpm test
55+ - name : Run tests
56+ run : fpm test --profile debug --flag -coverage
57+
58+ - name : Create coverage report
59+ run : |
60+ mkdir -p ${{ env.COV_DIR }}
61+ lcov --capture --initial --base-directory . --directory build/gfortran_*/ --output-file ${{ env.COV_DIR }}/coverage.base
62+ lcov --capture --base-directory . --directory build/gfortran_*/ --output-file ${{ env.COV_DIR }}/coverage.capture
63+ lcov --add-tracefile ${{ env.COV_DIR }}/coverage.base --add-tracefile ${{ env.COV_DIR }}/coverage.capture --output-file ${{ env.COV_DIR }}/coverage.info
64+ env :
65+ COV_DIR : build/coverage
66+
67+ - name : Upload coverage report
68+ uses : codecov/codecov-action@v2
69+ with :
70+ files : build/coverage/coverage.info
5971
6072 - name : Build documentation
6173 run : ford ./fortran-csv-module.md
0 commit comments