Skip to content

Commit 62594bf

Browse files
committed
add workflow to build/check both runtime and util
1 parent 553a940 commit 62594bf

File tree

1 file changed

+92
-0
lines changed

1 file changed

+92
-0
lines changed

.github/workflows/runtime_util.yml

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
name: Ubuntu MPICH
2+
3+
on:
4+
push:
5+
branches: main
6+
pull_request:
7+
branches: main
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v3
14+
- name: Set up dependencies
15+
run: |
16+
sudo apt-get update
17+
sudo apt-get install automake autoconf libtool libtool-bin m4
18+
# mpi
19+
sudo apt-get install mpich
20+
sudo apt-get install libhdf5-mpich-dev
21+
# zlib
22+
sudo apt-get install zlib1g-dev
23+
- name: Install PnetCDF
24+
run: |
25+
echo "Install PnetCDF on ${GITHUB_WORKSPACE}/PnetCDF"
26+
cd ${GITHUB_WORKSPACE}
27+
rm -rf PnetCDF
28+
mkdir PnetCDF
29+
cd PnetCDF
30+
VERSION=1.12.3
31+
wget -cq https://parallel-netcdf.github.io/Release/pnetcdf-${VERSION}.tar.gz
32+
tar -zxf pnetcdf-${VERSION}.tar.gz
33+
cd pnetcdf-${VERSION}
34+
./configure --prefix=${GITHUB_WORKSPACE}/PnetCDF \
35+
--silent \
36+
--disable-fortran \
37+
--disable-cxx \
38+
--disable-shared \
39+
MPICC=mpicc
40+
make -s LIBTOOLFLAGS=--silent V=1 -j 8 install > qout 2>&1
41+
make -s distclean >> qout 2>&1
42+
- name: configure darshan-runtime and darshan-util
43+
if: ${{ success() }}
44+
run: |
45+
echo "configure darshan-runtime and darshan-util"
46+
cd ${GITHUB_WORKSPACE}
47+
mkdir -p darshan_install
48+
export DARSHAN_INSTALL_PATH=${GITHUB_WORKSPACE}/darshan_install
49+
# clone autoperf module
50+
git submodule update --init
51+
./prepare.sh
52+
mkdir -p build
53+
cd build
54+
../configure --prefix=$DARSHAN_INSTALL_PATH \
55+
--with-log-path-by-env=DARSHAN_LOGPATH \
56+
--with-jobid-env=NONE \
57+
--enable-hdf5-mod \
58+
--enable-pnetcdf-mod \
59+
--with-pnetcdf=${GITHUB_WORKSPACE}/PnetCDF \
60+
RUNTIME_CC=mpicc
61+
- name: Dump log files if configure failed
62+
if: ${{ failure() }}
63+
run: |
64+
cd ${GITHUB_WORKSPACE}/build
65+
echo "-------- config.log --------"
66+
cat config.log
67+
echo "-------- darshan-runtime/config.log --------"
68+
cat darshan-runtime/config.log
69+
echo "-------- darshan-util/config.log --------"
70+
cat darshan-util/config.log
71+
- name: make darshan-runtime and darshan-util
72+
if: ${{ success() }}
73+
run: |
74+
echo "make darshan-runtime and darshan-util"
75+
cd ${GITHUB_WORKSPACE}/build
76+
make -j 8
77+
echo "-------- make check --------"
78+
make check
79+
echo "-------- make install --------"
80+
make install
81+
- name: make distcheck
82+
if: ${{ success() }}
83+
run: |
84+
echo "make distcheck"
85+
cd ${GITHUB_WORKSPACE}/build
86+
make distcheck DISTCHECK_CONFIGURE_FLAGS="--with-log-path-by-env=DARSHAN_LOGPATH --with-jobid-env=NONE --enable-hdf5-mod --enable-pnetcdf-mod --with-pnetcdf=${GITHUB_WORKSPACE}/PnetCDF RUNTIME_CC=mpicc"
87+
- name: make distclean
88+
run: |
89+
echo "make distclean"
90+
cd ${GITHUB_WORKSPACE}/build
91+
make distclean
92+

0 commit comments

Comments
 (0)