11# Test overview:
2- # Test the Darshan LDMS Integrated code (e.g. darshanConnector).
3- # Build and Compile lastest LDMS release
2+ # Test the Darshan LDMS Integrated code (e.g. darshanConnector).
3+ # Build and Compile lastest LDMS official release
44# Build and Compile Darshan against the latest LDMS library
55# Run an MPI-IO Test from Darshan's test suites
66# Check that the test completes normally and LDMS is collecting runtime timeseries data
@@ -10,13 +10,16 @@ name: Darshan-LDMS Integration Test - Latest
1010
1111on :
1212 push :
13- branches :
13+ branches :
1414 - main
1515 pull_request :
1616 branches :
1717 - main
1818 workflow_dispatch :
1919
20+ env :
21+ LDMS_VERSION : 4.5.1
22+
2023jobs :
2124 test :
2225 strategy :
@@ -31,27 +34,31 @@ jobs:
3134 sudo apt-get install openmpi-bin libopenmpi-dev
3235 sudo apt-get install libjansson-dev
3336 sudo apt-get install python3-docutils
34- - name : Clone LDMS
35- uses : actions/checkout@v3
36- with :
37- repository : ovis-hpc/ldms
38- path : ldms
39- ref : main
4037 - name : Install LDMS
4138 run : |
42- cd ldms
39+ echo "Install LDMS ${LDMS_VERSION} in /opt/ldms-${LDMS_VERSION}"
40+ wget https://github.com/ovis-hpc/ldms/archive/refs/tags/v${LDMS_VERSION}.tar.gz
41+ tar -xzf v${LDMS_VERSION}.tar.gz
42+ cd ldms-${LDMS_VERSION}
4343 sh autogen.sh
4444 set -e && mkdir -p build
4545 pushd build
46- ../configure --prefix=/opt/ldms-latest --enable-etc
47- make && make install
46+ ../configure --prefix=/opt/ldms-${LDMS_VERSION} --enable-etc
47+ make -j 8 install
4848 - name : Install Darshan
4949 run : |
5050 git submodule update --init
5151 # build darshan against LDMS library
5252 export DARSHAN_INSTALL_PREFIX=/opt/darshan_install
53- export DARSHAN_RUNTIME_CONFIG_ARGS="--enable-ldms-mod --with-ldms=/opt/ldms-latest --with-jobid-env=NONE"
54- darshan-test/automated/build-darshan.sh
53+ export DARSHAN_LOG_PATH="${GITHUB_WORKSPACE}/darshan_logs"
54+ mkdir -p ${DARSHAN_LOG_PATH}
55+ autoreconf -i
56+ ./configure --prefix=${DARSHAN_INSTALL_PREFIX} \
57+ --with-log-path=${DARSHAN_LOG_PATH} \
58+ --enable-ldms-mod \
59+ --with-ldms=/opt/ldms-${LDMS_VERSION} \
60+ --with-jobid-env=NONE
61+ make -s LIBTOOLFLAGS=--silent V=1 -j8 install
5562 - name : Test Preparation and Run
5663 run : |
5764 echo "---setting Darshan environment---"
8794 exit 1
8895 fi
8996 echo "---generating ldmsd configuration file---"
90- cat > stream-samp-latest .conf << EOF
97+ cat > stream-samp-${LDMS_VERSION} .conf << EOF
9198 stream_enable
9299 load name=hello_sampler
93100 config name=hello_sampler producer=host1 instance=host1/hello_sampler stream=darshanConnector component_id=1
@@ -96,22 +103,22 @@ jobs:
96103 config name=stream_csv_store path=./streams/store container=csv stream=darshanConnector rolltype=3 rollover=500000
97104 EOF
98105 echo "---starting ldmsd---"
99- cat > ldmsd-latest .sh << EOF
100- . /opt/ldms-latest /etc/profile.d/set-ovis-variables.sh
106+ cat > ldmsd-${LDMS_VERSION} .sh << EOF
107+ . /opt/ldms-${LDMS_VERSION} /etc/profile.d/set-ovis-variables.sh
101108 ldmsd \$@ &
102109 EOF
103- chmod 755 ldmsd-latest .sh
104- ./ldmsd-latest .sh -x sock:10444 -c stream-samp-latest .conf -l /tmp/stream-samp-latest .log -v DEBUG
110+ chmod 755 ldmsd-${LDMS_VERSION} .sh
111+ ./ldmsd-${LDMS_VERSION} .sh -x sock:10444 -c stream-samp-${LDMS_VERSION} .conf -l /tmp/stream-samp-${LDMS_VERSION} .log -v DEBUG
105112 echo "---check daemon is running---"
106- STREAM_SAMP_LATEST_PID=$(pgrep -f stream-samp-latest .conf)
113+ STREAM_SAMP_LATEST_PID=$(pgrep -f stream-samp-${LDMS_VERSION} .conf)
107114 pgrep -a ldmsd
108- [[ -n "${STREAM_SAMP_LATEST_PID}" ]] || error "stream-samp-latest .log is not running"
109- cat > ldms_ls-latest .sh << EOF
110- . /opt/ldms-latest /etc/profile.d/set-ovis-variables.sh
115+ [[ -n "${STREAM_SAMP_LATEST_PID}" ]] || error "stream-samp-${LDMS_VERSION} .log is not running"
116+ cat > ldms_ls-${LDMS_VERSION} .sh << EOF
117+ . /opt/ldms-${LDMS_VERSION} /etc/profile.d/set-ovis-variables.sh
111118 ldms_ls \$@ &
112119 EOF
113- chmod 755 ldms_ls-latest .sh
114- ./ldms_ls-latest .sh -p 10444 -x sock -v -v
120+ chmod 755 ldms_ls-${LDMS_VERSION} .sh
121+ ./ldms_ls-${LDMS_VERSION} .sh -p 10444 -x sock -v -v
115122 echo "---Test Case #1: Darshan-LDMS Env Set and Connected to LDMS Streams Deamon---"
116123 mpicc $DARSHAN_TESTDIR/test-cases/src/${PROG}.c -o $DARSHAN_TMP/${PROG}
117124 cd $DARSHAN_TMP
@@ -170,11 +177,11 @@ jobs:
170177 echo "---Check LDMS Data Collection---"
171178 if ! compgen -G "streams/store/csv/darshanConnector.*" > /dev/null; then
172179 echo "CSV file does not exist."
173- cat /tmp/stream-samp-latest .log
174- exit 1
180+ cat /tmp/stream-samp-${LDMS_VERSION} .log
181+ exit 1
175182 elif [[ -z "$(cat streams/store/csv/darshanConnector.*)" ]]; then
176183 echo "No data was stored to CSV file."
177- cat /tmp/stream-samp-latest .log
184+ cat /tmp/stream-samp-${LDMS_VERSION} .log
178185 exit 1
179186 fi
180187 echo "DONE!"
0 commit comments