Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI HDF5 cmake build updates #78

Open
wants to merge 52 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
619c358
disable iotest
brtnfld Oct 15, 2024
2f28516
Merge remote-tracking branch 'upstream/master'
brtnfld Dec 23, 2024
bbcda90
Merge remote-tracking branch 'upstream/master'
brtnfld Feb 12, 2025
a3485d6
add codeql CI
brtnfld Feb 14, 2025
958bf4a
Merge pull request #1 from brtnfld/codeql
brtnfld Feb 14, 2025
1ff6d50
removed codeql
brtnfld Feb 14, 2025
f483823
Create codeql.yml
brtnfld Feb 14, 2025
0ac41cd
typo
brtnfld Feb 14, 2025
be217b4
typo2
brtnfld Feb 14, 2025
9832457
typo3
brtnfld Feb 14, 2025
684b030
typo4
brtnfld Feb 14, 2025
0cfd08f
typo5
brtnfld Feb 14, 2025
567113a
typo6
brtnfld Feb 14, 2025
438b586
fixed high-level codeql issues
brtnfld Feb 17, 2025
e8ea00f
fixed high-level codeql issues
brtnfld Feb 17, 2025
2dd8a7e
codeql yml update
brtnfld Feb 17, 2025
ec67e86
fixed codeql warning
brtnfld Feb 17, 2025
3e8b8b5
address codeql issues
brtnfld Feb 17, 2025
e80e23d
general codeql fixes
brtnfld Feb 17, 2025
7e5d7ac
general codeql fixes
brtnfld Feb 17, 2025
85baf9c
misc. codeql fixes
brtnfld Feb 17, 2025
3c799d7
misc fixes
brtnfld Feb 17, 2025
b50dcca
Addressed CodeQL issues.
brtnfld Feb 17, 2025
8ecb694
codeql fix
brtnfld Feb 17, 2025
f6bfa51
enable tesrt
brtnfld Feb 17, 2025
86b5b7f
changed to consistant use of nullptr, added check for allocation failure
brtnfld Feb 19, 2025
5a52df5
Merge remote-tracking branch 'upstream/master'
brtnfld Mar 4, 2025
8b2f683
CI HDF5 cmake build updates
brtnfld Mar 4, 2025
dc0019f
CI HDF5 cmake build updates
brtnfld Mar 4, 2025
662254a
test1
brtnfld Mar 6, 2025
c814459
test6
brtnfld Mar 10, 2025
a7beb39
test7
brtnfld Mar 10, 2025
f82871f
test8
brtnfld Mar 10, 2025
283b2e2
test9
brtnfld Mar 10, 2025
e7491fc
test10
brtnfld Mar 10, 2025
0ffb8c1
test11
brtnfld Mar 10, 2025
078ad66
test12
brtnfld Mar 10, 2025
77cda4f
test13
brtnfld Mar 12, 2025
a9d048a
test14
brtnfld Mar 12, 2025
0a116e2
reset
brtnfld Mar 12, 2025
5a39750
reset2
brtnfld Mar 12, 2025
ad0680d
reset3
brtnfld Mar 12, 2025
2478218
reset4
brtnfld Mar 12, 2025
0609eb8
reset5
brtnfld Mar 12, 2025
cce7059
reset6
brtnfld Mar 12, 2025
cc363a1
reset7
brtnfld Mar 12, 2025
448b02a
reset8
brtnfld Mar 12, 2025
f8b3e59
reset9
brtnfld Mar 12, 2025
0b0be19
reset10
brtnfld Mar 12, 2025
11c6e0d
reset11
brtnfld Mar 12, 2025
6456d9f
reset12
brtnfld Mar 12, 2025
3ac3810
ld path
brtnfld Mar 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
164 changes: 149 additions & 15 deletions .github/workflows/ubuntu_mpich.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,20 +20,31 @@ on:
- 'docs/*'
- 'case_studies/*'

# Using concurrency to cancel any in-progress job or run
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
cancel-in-progress: true

env:
MPICH_VERSION: 4.1.2
NETCDF_VERSION: 4.9.2

jobs:
build:

#################################################
# Testing with the latest HDF5 release
#################################################

vol-log-based-hdf5-lastest:
runs-on: ubuntu-latest
timeout-minutes: 60

steps:
- uses: actions/[email protected]
- name: Set up dependencies
run: |
sudo apt-get update
sudo apt-get install automake autoconf libtool libtool-bin m4 uuid-dev
sudo apt-get install cmake automake autoconf libtool libtool-bin m4 uuid-dev
# The MPICH installed on github actions is too slow
# sudo apt-get install mpich
# mpicc -v
Expand Down Expand Up @@ -62,22 +73,146 @@ jobs:
wget -cq https://github.com/HDFGroup/hdf5/releases/latest/download/hdf5.tar.gz
tar -zxf hdf5.tar.gz
cd hdf5-*
./configure --prefix=${GITHUB_WORKSPACE}/HDF5 \
mkdir build; cd build
cmake -DCMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/HDF5 \
-DHDF5_ENABLE_PARALLEL=ON \
-DCMAKE_BUILD_TYPE=Release \
-DALLOW_UNSUPPORTED=ON \
-DHDF5_ENABLE_THREADSAFE=ON \
-DBUILD_TESTING=OFF \
-DBUILD_STATIC_LIBS=OFF \
-DHDF5_ENABLE_ZLIB_SUPPORT=ON \
-DCMAKE_C_COMPILER=${GITHUB_WORKSPACE}/MPICH/bin/mpicc ..
make -j2 install
echo "LD_LIBRARY_PATH=${{ github.workspace }}/HDF5/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
- name: Install NetCDF
run: |
cd ${GITHUB_WORKSPACE}
rm -rf /NetCDF ; mkdir NetCDF ; cd NetCDF
wget -qc https://github.com/Unidata/netcdf-c/archive/refs/tags/v${NETCDF_VERSION}.tar.gz
tar -zxf v${NETCDF_VERSION}.tar.gz
cd netcdf-c-${NETCDF_VERSION}
./configure --prefix=${GITHUB_WORKSPACE}/NetCDF \
--silent \
--disable-dap \
--disable-nczarr \
--disable-nczarr-filters \
--disable-filter-testing \
--disable-byterange \
CC=${GITHUB_WORKSPACE}/MPICH/bin/mpicc \
CPPFLAGS="-I${GITHUB_WORKSPACE}/HDF5/include" \
LDFLAGS="-L${GITHUB_WORKSPACE}//HDF5/lib" \
LIBS="-lhdf5"
make -s LIBTOOLFLAGS=--silent V=1 -j 4 install > qout 2>&1
make -s -j 4 distclean >> qout 2>&1
- name: Configure Log VOL connector
run: |
cd ${GITHUB_WORKSPACE}
autoreconf -i
./configure --with-hdf5=${GITHUB_WORKSPACE}/HDF5 \
--enable-test-netcdf4=${GITHUB_WORKSPACE}/NetCDF \
--enable-test-hdf5-iotest \
--with-mpi=${GITHUB_WORKSPACE}/MPICH
# Do NOT test QMCPACK, as it requires FFTW which fails to build
- name: Print config.log if error
if: ${{ failure() }}
run: |
cd ${GITHUB_WORKSPACE}
cat config.log
- name: Build Log VOL connector
if: ${{ success() }}
run: |
cd ${GITHUB_WORKSPACE}
make -j 4
# Do NOT parallel build, cmake for external tests can fail
make tests
- name: Serial-run test - make check
if: ${{ success() }}
run: |
cd ${GITHUB_WORKSPACE}
make check
- name: Print test log files
if: ${{ always() }}
run: |
cd ${GITHUB_WORKSPACE}
fname=`find tests utils examples -type f -name "*.log"`
for f in $fname ; do \
bname=`basename $f` ; \
if test "x$bname" != xconfig.log ; then \
echo "-------- dump $f ----------------------------" ; \
cat $f ; \
fi ; \
done
- name: Parallel-run test - make ptest
if: ${{ success() }}
run: |
cd ${GITHUB_WORKSPACE}
make ptest
- name: Test distribution - make distcheck
if: ${{ success() }}
run: |
cd ${GITHUB_WORKSPACE}
make -j4 -s V=1 LIBTOOLFLAGS=--silent distcheck DISTCHECK_CONFIGURE_FLAGS="--silent --with-hdf5=${GITHUB_WORKSPACE}/HDF5 --with-mpi=${GITHUB_WORKSPACE}/MPICH"
- name: make distclean
if: ${{ always() }}
run: |
cd ${GITHUB_WORKSPACE}
make -s distclean

#######################################
# Testing using HDF5's "develop" branch
#######################################

vol-log-based-hdf5-develop:
runs-on: ubuntu-latest
timeout-minutes: 60

steps:

- uses: actions/[email protected]
- name: Set up dependencies
run: |
sudo apt-get update
sudo apt-get install cmake automake autoconf libtool libtool-bin m4 uuid-dev
# The MPICH installed on github actions is too slow
# sudo apt-get install mpich cmake automake autoconf libtool libtool-bin m4 uuid-dev
# mpicc -v
# zlib
sudo apt-get install zlib1g-dev
- name: Build MPICH
run: |
cd ${GITHUB_WORKSPACE}
rm -rf MPICH ; mkdir MPICH ; cd MPICH
wget -q https://www.mpich.org/static/downloads/${MPICH_VERSION}/mpich-${MPICH_VERSION}.tar.gz
gzip -dc mpich-${MPICH_VERSION}.tar.gz | tar -xf -
cd mpich-${MPICH_VERSION}
./configure --prefix=${GITHUB_WORKSPACE}/MPICH \
--silent \
--enable-parallel \
--enable-build-mode=production \
--enable-unsupported \
--enable-threadsafe \
--disable-doxygen-doc \
--disable-doxygen-man \
--disable-doxygen-html \
--disable-tests \
--enable-romio \
--with-file-system=ufs \
--with-device=ch3:sock \
--disable-fortran \
--disable-cxx \
--enable-shared --disable-static \
CC=${GITHUB_WORKSPACE}/MPICH/bin/mpicc
CC=gcc
make -s LIBTOOLFLAGS=--silent V=1 -j 4 install > qout 2>&1
make -s -j 4 distclean >> qout 2>&1
- name: Install HDF5
run: |
cd ${GITHUB_WORKSPACE}
rm -rf HDF5 ; mkdir HDF5
git clone --single-branch --branch develop https://github.com/HDFGroup/hdf5.git
cd hdf5
mkdir build; cd build
cmake -DCMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/HDF5 \
-DHDF5_ENABLE_PARALLEL=ON \
-DCMAKE_BUILD_TYPE=Release \
-DALLOW_UNSUPPORTED=ON \
-DHDF5_ENABLE_THREADSAFE=ON \
-DBUILD_TESTING=OFF \
-DBUILD_STATIC_LIBS=OFF \
-DHDF5_ENABLE_ZLIB_SUPPORT=ON \
-DCMAKE_C_COMPILER=${GITHUB_WORKSPACE}/MPICH/bin/mpicc ..
make -j2 install
echo "LD_LIBRARY_PATH=${{ github.workspace }}/HDF5/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
- name: Install NetCDF
run: |
cd ${GITHUB_WORKSPACE}
Expand Down Expand Up @@ -151,4 +286,3 @@ jobs:
run: |
cd ${GITHUB_WORKSPACE}
make -s distclean

Loading