Skip to content

Commit 89c965c

Browse files
Merge pull request #308 from GraphBLAS/v1.2
LAGraph v1.2, ready for a beta release. It has one more minor change I'd like to make before releasing a stable v1.2. The github CI uses SuiteSparse:GraphBLAS 9.0.0 and 10.0.5. I'm about to release 10.1.0 (it's already posted as 10.1.0-beta.1). I would like to revise the CI to use 9.0.0 and 10.1.0.
2 parents d62650f + 0533084 commit 89c965c

File tree

326 files changed

+146774
-10047
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

326 files changed

+146774
-10047
lines changed
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
name: arch-emu
2+
3+
# this is done on workflow_dispatch only since it takes a very long time
4+
on:
5+
workflow_dispatch:
6+
7+
jobs:
8+
9+
alpine:
10+
# Run armv7 on aarch64 runners
11+
runs-on: ${{ matrix.arch == 'armv7' && 'ubuntu-24.04-arm' || 'ubuntu-latest' }}
12+
13+
defaults:
14+
run:
15+
# Use emulated shell as default
16+
shell: alpine.sh {0}
17+
18+
strategy:
19+
matrix:
20+
config:
21+
# FIXME: switch to 10.1.0 when it is released:
22+
- {grb_version: 10.0.5}
23+
# For available CPU architectures, see:
24+
# https://github.com/marketplace/actions/setup-alpine-linux-environment
25+
arch: [riscv64]
26+
include:
27+
- arch: riscv64
28+
ccache-max: 28M
29+
30+
name: alpine (${{ matrix.arch }})
31+
32+
steps:
33+
- name: get CPU information (host)
34+
shell: bash
35+
run: lscpu
36+
37+
- name: checkout repository
38+
uses: actions/checkout@v4
39+
# shell: bash
40+
41+
- name: install dependencies
42+
uses: jirutka/setup-alpine@v1
43+
# shell: bash
44+
with:
45+
arch: ${{ matrix.arch }}
46+
apk-tools-url: ${{ matrix.arch == 'armv7'
47+
&& 'https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic/v2.14.7/aarch64/apk.static#!sha256!27a975638ddc95a411c9f17c63383e335da9edf6bb7de2281d950c291a11f878'
48+
|| 'https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic/v2.14.7/x86_64/apk.static#!sha256!bdd044e0fd6cc388c5e571e1093efa5f35f7767cc5aa338b0a2576a429009a62' }}
49+
packages: >
50+
build-base
51+
ccache
52+
cmake
53+
lscpu
54+
libtool
55+
git
56+
sudo
57+
58+
- name: disable QEMU emulation
59+
if: matrix.arch == 'armv7'
60+
shell: bash
61+
run: sudo update-binfmts --disable qemu-arm
62+
63+
- name: get CPU information (emulated)
64+
run: lscpu
65+
66+
- name: build GraphBLAS
67+
run: |
68+
echo "gcc --version"
69+
gcc --version
70+
echo "gcc -dumpmachine"
71+
gcc -dumpmachine
72+
git clone https://github.com/DrTimothyAldenDavis/GraphBLAS.git
73+
cd GraphBLAS
74+
# FIXME: switch to 10.1.0 when it is released:
75+
# git checkout tags/v${{ matrix.config.grb_version }}
76+
git checkout dev2
77+
make compact
78+
sudo make install
79+
cd ..
80+
81+
- name: build and test LAGraph
82+
run: |
83+
cd build
84+
cmake ..
85+
JOBS=2 make
86+
ctest . --verbose
87+

.github/workflows/build.yml

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,29 @@ on:
88
pull_request:
99

1010
jobs:
11+
1112
linux:
13+
1214
runs-on: ubuntu-22.04
15+
1316
strategy:
1417
matrix:
1518
config:
1619
# if there are multiple items in this list, only use should
1720
# deployit=true for just one of them.
18-
- {grb_version: 9.3.1, deployit: true}
21+
# FIXME: use GraphBLAS v10.1.0 once it's released
22+
- {grb_version: 9.0.0, deployit: false}
23+
- {grb_version: 10.0.5, deployit: true}
24+
1925
steps:
26+
2027
- name: Checkout
2128
uses: actions/[email protected]
29+
2230
- name: Install tools for build
2331
run: |
2432
sudo apt install -y lcov
33+
2534
- name: Build GraphBLAS
2635
run: |
2736
git clone https://github.com/DrTimothyAldenDavis/GraphBLAS.git
@@ -30,40 +39,51 @@ jobs:
3039
make compact
3140
sudo make install
3241
cd ..
42+
3343
- name: Build project
3444
run: |
35-
export GRAPHBLAS_INCLUDE_DIR=`pwd`/GraphBLAS/include/suitesparse
36-
export GRAPHBLAS_LIBRARY=`pwd`/GraphBLAS/lib/libgraphblas.so
3745
cd build
38-
cmake .. -DCOVERAGE=1 -DGRAPHBLAS_INCLUDE_DIR=${GRAPHBLAS_INCLUDE_DIR} -DGRAPHBLAS_LIBRARY=${GRAPHBLAS_LIBRARY}
46+
cmake .. -DCOVERAGE=1
3947
JOBS=2 make
4048
make test_coverage
49+
4150
- name: Deploy
4251
uses: JamesIves/[email protected]
4352
if: matrix.config.deployit && github.event_name == 'push' && github.ref == 'refs/heads/stable'
4453
with:
4554
branch: gh-pages
4655
folder: build/test_coverage/
4756
single-commit: true
57+
4858
- name: Save output
4959
uses: actions/[email protected]
60+
if: matrix.config.deployit
5061
with:
5162
name: test_coverage
5263
path: build/test_coverage/
64+
5365
macos:
66+
5467
runs-on: macos-14
68+
5569
strategy:
5670
matrix:
5771
config:
58-
- {grb_version: 9.3.1}
72+
# FIXME: use GraphBLAS v10.1.0 once it's released
73+
- {grb_version: 9.0.0}
74+
- {grb_version: 10.0.5}
75+
5976
steps:
77+
6078
- name: Checkout
6179
uses: actions/[email protected]
80+
6281
- name: Install dependencies
6382
run: |
6483
brew tap-new libomp/cask
6584
brew extract --version=14.0.6 libomp libomp/cask
6685
brew install [email protected]
86+
6787
- name: Build GraphBLAS
6888
run: |
6989
git clone https://github.com/DrTimothyAldenDavis/GraphBLAS.git
@@ -72,13 +92,13 @@ jobs:
7292
make compact
7393
sudo make install
7494
cd ..
95+
7596
- name: Build project
7697
run: |
77-
export GRAPHBLAS_INCLUDE_DIR=`pwd`/GraphBLAS/include/suitesparse
78-
export GRAPHBLAS_LIBRARY=`pwd`/GraphBLAS/lib/libgraphblas.dylib
7998
# adding an extra line to the CMakeLists.txt file to locate the libomp instance installed by brew
8099
echo 'include_directories("/usr/local/opt/libomp/include")' | cat - CMakeLists.txt
81100
cd build
82-
CC=gcc cmake .. -DGRAPHBLAS_INCLUDE_DIR=${GRAPHBLAS_INCLUDE_DIR} -DGRAPHBLAS_LIBRARY=${GRAPHBLAS_LIBRARY}
101+
cmake ..
83102
JOBS=2 make
84-
make test
103+
ctest .
104+

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ gmon.out
4141
cmake-build-debug*
4242
CMakeFiles*
4343
*~
44+
data/comments*.txt
45+
data/comments*.mtx
4446

4547
*/build/*
4648
**/.venv/*

.readthedocs.yaml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,6 @@
22

33
version: 2
44

5-
build:
6-
os: ubuntu-22.04
7-
tools:
8-
python: "3.12"
9-
105
formats:
116
- pdf
127

0 commit comments

Comments
 (0)