44
55 Build :
66 runs-on : ${{ matrix.os }}
7+ permissions :
8+ contents : write
79 strategy :
810 fail-fast : false
911 matrix :
@@ -16,34 +18,37 @@ jobs:
1618
1719 steps :
1820 - name : Checkout code
19- uses : actions/checkout@v2
21+ uses : actions/checkout@v3
2022 with :
2123 submodules : recursive
2224
23- - name : Set up Python 3.x
24- uses : actions/setup-python@v1 # Use pip to install latest CMake, & FORD/Jin2For, etc.
25+ - name : Install Python
26+ uses : actions/setup-python@v4 # Use pip to install latest CMake, & FORD/Jin2For, etc.
2527 with :
2628 python-version : ${{ matrix.python-version }}
2729
2830 - name : Setup Graphviz
2931 uses : ts-graphviz/setup-graphviz@v1
3032
3133 - name : Setup Fortran Package Manager
32- uses : fortran-lang/setup-fpm@v4
34+ uses : fortran-lang/setup-fpm@v5
3335 with :
3436 github-token : ${{ secrets.GITHUB_TOKEN }}
3537
3638 - name : Install Python dependencies
3739 if : contains( matrix.os, 'ubuntu')
3840 run : |
3941 python -m pip install --upgrade pip
40- pip install numpy matplotlib ford
42+ pip install ford numpy matplotlib
4143 if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
4244
4345 - name : Install GFortran Linux
4446 if : contains( matrix.os, 'ubuntu')
4547 run : |
4648 sudo apt-get install lcov
49+ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
50+ sudo apt-get update
51+ sudo apt-get install -y gcc-${{ matrix.gcc_v }} gfortran-${{ matrix.gcc_v }}
4752 sudo update-alternatives \
4853 --install /usr/bin/gcc gcc /usr/bin/gcc-${{ matrix.gcc_v }} 100 \
4954 --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-${{ matrix.gcc_v }} \
@@ -53,28 +58,29 @@ jobs:
5358 # run: fpm build --profile release
5459
5560 - name : Run tests
56- run : fpm test --profile debug --flag -coverage
61+ run : fpm test --profile release --flag -coverage
5762
5863 - name : Create coverage report
5964 run : |
6065 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
66+ mv ./build/gfortran_*/*/* ${{ env.COV_DIR }}
67+ lcov --capture --initial --base-directory . --directory ${{ env.COV_DIR }} --output-file ${{ env.COV_DIR }}/coverage.base
68+ lcov --capture --base-directory . --directory ${{ env.COV_DIR }} --output-file ${{ env.COV_DIR }}/coverage.capture
6369 lcov --add-tracefile ${{ env.COV_DIR }}/coverage.base --add-tracefile ${{ env.COV_DIR }}/coverage.capture --output-file ${{ env.COV_DIR }}/coverage.info
6470 env :
6571 COV_DIR : build/coverage
6672
6773 - name : Upload coverage report
68- uses : codecov/codecov-action@v2
74+ uses : codecov/codecov-action@v3
6975 with :
70- files : build/coverage/coverage.info
76+ files : build/coverage/coverage.info
7177
7278 - name : Build documentation
7379 run : ford ./pyplot-fortran.md
7480
7581 - name : Deploy Documentation
7682 if : github.ref == 'refs/heads/master'
77- uses : JamesIves/github-pages-deploy-action@4.1.0
83+ uses : JamesIves/github-pages-deploy-action@v4. 4.1
7884 with :
7985 branch : gh-pages # The branch the action should deploy to.
8086 folder : doc # The folder the action should deploy.
0 commit comments