CI: deploy test coverage for only one entry in the CI matrix #1380
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: LAGraph CI with Builtin GraphBLAS | |
on: | |
workflow_dispatch: | |
push: | |
branches-ignore: | |
- '**/*dev2' | |
pull_request: | |
jobs: | |
linux: | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
config: | |
# if there are multiple items in this list, only use should | |
# deployit=true for just one of them. | |
- {grb_version: 9.3.1, deployit: true} | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install tools for build | |
run: | | |
sudo apt install -y lcov | |
- name: Build GraphBLAS | |
run: | | |
git clone https://github.com/DrTimothyAldenDavis/GraphBLAS.git | |
cd GraphBLAS | |
git checkout tags/v${{ matrix.config.grb_version }} | |
make compact | |
sudo make install | |
cd .. | |
- name: Build project | |
run: | | |
export GRAPHBLAS_INCLUDE_DIR=`pwd`/GraphBLAS/include/suitesparse | |
export GRAPHBLAS_LIBRARY=`pwd`/GraphBLAS/lib/libgraphblas.so | |
cd build | |
cmake .. -DCOVERAGE=1 -DGRAPHBLAS_INCLUDE_DIR=${GRAPHBLAS_INCLUDE_DIR} -DGRAPHBLAS_LIBRARY=${GRAPHBLAS_LIBRARY} | |
JOBS=2 make | |
make test_coverage | |
- name: Deploy | |
uses: JamesIves/[email protected] | |
if: matrix.config.deployit && github.event_name == 'push' && github.ref == 'refs/heads/stable' | |
with: | |
branch: gh-pages | |
folder: build/test_coverage/ | |
single-commit: true | |
- name: Save output | |
uses: actions/[email protected] | |
with: | |
name: test_coverage | |
path: build/test_coverage/ | |
macos: | |
runs-on: macos-12 | |
strategy: | |
matrix: | |
config: | |
- {grb_version: 9.3.1} | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Install dependencies | |
run: | | |
brew tap-new libomp/cask | |
brew extract --version=14.0.6 libomp libomp/cask | |
brew install [email protected] | |
- name: Build GraphBLAS | |
run: | | |
git clone https://github.com/DrTimothyAldenDavis/GraphBLAS.git | |
cd GraphBLAS | |
git checkout tags/v${{ matrix.config.grb_version }} | |
make compact | |
sudo make install | |
cd .. | |
- name: Build project | |
run: | | |
export GRAPHBLAS_INCLUDE_DIR=`pwd`/GraphBLAS/include/suitesparse | |
export GRAPHBLAS_LIBRARY=`pwd`/GraphBLAS/lib/libgraphblas.dylib | |
# adding an extra line to the CMakeLists.txt file to locate the libomp instance installed by brew | |
echo 'include_directories("/usr/local/opt/libomp/include")' | cat - CMakeLists.txt | |
cd build | |
CC=gcc cmake .. -DGRAPHBLAS_INCLUDE_DIR=${GRAPHBLAS_INCLUDE_DIR} -DGRAPHBLAS_LIBRARY=${GRAPHBLAS_LIBRARY} | |
JOBS=2 make | |
make test |