@@ -10,19 +10,21 @@ jobs:
1010 fail-fast : false
1111 matrix :
1212 build_type : [ Release, Debug ]
13- os : [ macos-latest, ubuntu-20 .04 ]
13+ os : [ macos-latest, ubuntu-22 .04 ]
1414 linalg : [netlib, vendor]
1515 include :
16- - os : ubuntu-20.04
17- cxx : /usr/bin/g++-9
16+ - os : ubuntu-22.04
17+ cc : /usr/bin/gcc-12
18+ cxx : /usr/bin/g++-12
1819 - os : macos-latest
20+ cc : clang
1921 cxx : clang++
2022
2123 name : " ${{ matrix.os }}: ${{ matrix.cxx }} ${{ matrix.build_type }} linalg=${{ matrix.linalg }}"
2224 runs-on : ${{ matrix.os }}
2325 env :
2426 CXX : ${{ matrix.cxx }}
25- DOXYGEN_VERSION : 1.9.2
27+ DOXYGEN_VERSION : 1.12.0
2628 CCACHE_DIR : ${{github.workspace}}/build/.ccache
2729 CCACHE_COMPRESS : true
2830 CCACHE_COMPRESSLEVEL : 6
4547 - name : Install prerequisite MacOS packages
4648 if : ${{ matrix.os == 'macos-latest' }}
4749 run : |
48- brew install ninja gcc@10 boost eigen open-mpi bison ccache
50+ brew install ninja boost eigen open-mpi bison ccache
4951 # install Netlib if want generic linalg
5052 if [ "${{matrix.linalg}}" = "netlib" ]; then
5153 brew install lapack
@@ -55,17 +57,17 @@ jobs:
5557 fi
5658
5759 - name : Install prerequisites Ubuntu packages
58- if : ${{ matrix.os == 'ubuntu-20 .04' }}
60+ if : ${{ matrix.os == 'ubuntu-22 .04' }}
5961 run : |
6062 sudo apt-get update
61- sudo apt-get install ninja-build g++-9 liblapack-dev libboost-dev libboost-serialization-dev libboost-random-dev libeigen3-dev openmpi-bin libopenmpi-dev libtbb-dev ccache
63+ sudo apt-get install ninja-build g++-12 liblapack-dev libboost-dev libboost-serialization-dev libboost-random-dev libeigen3-dev openmpi-bin libopenmpi-dev libtbb-dev ccache
6264 if [ "${{matrix.build_type}}" = "Release" ]; then
63- sudo apt-get install libclang1-9 libclang-cpp9 graphviz fonts-liberation
65+ sudo apt-get install graphviz fonts-liberation
6466 cd ${{github.workspace}}/build
6567 # If we fail getting doxygen-${DOXYGEN_VERSION}.linux.bin.tar.gz from sourceforge,
6668 # use EFV's gdrive mirror of 1.9.2 to work around the unreliable sourceforge
6769 # the sharing link: https://drive.google.com/file/d/16GXpH4YOEUxGXQrXOKdAIibhdfzATY0d/view?usp=sharing
68- wget https://downloads.sourceforge.net/project /doxygen/rel -${DOXYGEN_VERSION}/doxygen-${DOXYGEN_VERSION} .linux.bin.tar.gz || wget -4 --no-check-certificate -O doxygen-${DOXYGEN_VERSION}.linux.bin.tar.gz "https://drive.google.com/uc?export=download&id=16GXpH4YOEUxGXQrXOKdAIibhdfzATY0d"
70+ wget https://www.doxygen.nl/files /doxygen-${DOXYGEN_VERSION}.linux.bin.tar.gz
6971 tar xzf ./doxygen-${DOXYGEN_VERSION}.linux.bin.tar.gz
7072 export DOXYGEN_DIR=${{github.workspace}}/build/doxygen-${DOXYGEN_VERSION}
7173 ${DOXYGEN_DIR}/bin/doxygen --version
@@ -85,20 +87,10 @@ jobs:
8587 echo "BLAS_PREFERENCE_LIST=ReferenceBLAS" >> $GITHUB_ENV
8688 fi
8789
88- - name : Prepare ccache timestamp
89- id : ccache_cache_timestamp
90- shell : cmake -P {0}
91- run : |
92- string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
93- message("::set-output name=timestamp::${current_date}")
94-
95- - name : Setup ccache cache files
96- uses : actions/cache@v1.1.0
90+ - name : Setup ccache
91+ uses : hendrikmuhs/ccache-action@v1.2
9792 with :
98- path : ${{github.workspace}}/build/.ccache
99- key : ${{ matrix.config.name }}-ccache-${{ steps.ccache_cache_timestamp.outputs.timestamp }}
100- restore-keys : |
101- ${{ matrix.config.name }}-ccache-
93+ key : ccache-${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.linalg }}
10294
10395 - name : Configure CMake
10496 # Use a bash shell so we can use the same syntax for environment variable
@@ -109,7 +101,7 @@ jobs:
109101 # and build directories, but this is only available with CMake 3.13 and higher.
110102 # The CMake binaries on the Github Actions machines are (as of this writing) 3.12
111103 run : |
112- cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBLAS_PREFERENCE_LIST=$BLAS_PREFERENCE_LIST $BUILD_CONFIG
104+ cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBLAS_PREFERENCE_LIST=$BLAS_PREFERENCE_LIST $BUILD_CONFIG || (cat CMakeFiles/CMakeConfigureLog.yaml)
113105
114106 - name : Build
115107 working-directory : ${{github.workspace}}/build
@@ -138,7 +130,7 @@ jobs:
138130 cmake --build test_install
139131
140132 - name : Build+Deploy Dox
141- if : ${{ matrix.os == 'ubuntu-20 .04' && matrix.build_type == 'Release' && github.ref == 'refs/heads/master' }}
133+ if : ${{ matrix.os == 'ubuntu-22 .04' && matrix.build_type == 'Release' && github.ref == 'refs/heads/master' }}
142134 working-directory : ${{github.workspace}}/build
143135 shell : bash
144136 run : |
0 commit comments