diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..29af204c4 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,1361 @@ +name: CI + +on: + push: + branches: [ master, test_github_actions ] + paths-ignore: + - '**/*.md' + - '**/*.txt' + - '**/*.1' + - '**/*.jpg' + - '**/*.png' + - 'docs/*' + - 'test/test_installed/*' + pull_request: + branches: [ master, test_github_actions ] + paths-ignore: + - '**/*.md' + - '**/*.txt' + - '**/*.1' + - '**/*.jpg' + - '**/*.png' + - 'docs/*' + - 'test/test_installed/*' + +env: + MPICH_VERSION: 4.3.0 + OPENMPI_VERSION: 5.0.8 + AUTOCONF_VERSION: 2.71 + AUTOMAKE_VERSION: 1.17 + LIBTOOL_VERSION: 2.5.4 + M4_VERSION: 1.4.19 + ADIOS_VERSION: 1.13.1 + +jobs: + mac-mpich-lustre: + runs-on: macos-latest + timeout-minutes: 120 + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 + - name: Set up dependencies + run: | + # brew install gcc + # which gcc + # gcc --version + # which gfortran + - name: Clean up git untracked files + run: | + git clean -fx + - name: Build GNU autotools + run: | + export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" + export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/m4/m4-${M4_VERSION}.tar.gz + gzip -dc m4-${M4_VERSION}.tar.gz | tar -xf - + cd m4-${M4_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz + gzip -dc autoconf-${AUTOCONF_VERSION}.tar.gz | tar -xf - + cd autoconf-${AUTOCONF_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VERSION}.tar.gz + gzip -dc automake-${AUTOMAKE_VERSION}.tar.gz | tar -xf - + cd automake-${AUTOMAKE_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/libtool/libtool-${LIBTOOL_VERSION}.tar.gz + gzip -dc libtool-${LIBTOOL_VERSION}.tar.gz | tar -xf - + cd libtool-${LIBTOOL_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + - 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-romio \ + --with-file-system=ufs \ + --with-device=ch3:sock \ + --disable-fortran \ + CC=gcc + make -s LIBTOOLFLAGS=--silent V=1 -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + - name: Build PnetCDF with MIMIC_LUSTRE + run: | + cd ${GITHUB_WORKSPACE} + export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" + export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" + m4 --version + autoconf --version + automake --version + libtool --version + autoreconf -i + mkdir -p pnetcdf_output + ./configure --enable-option-checking=fatal \ + pnc_ac_debug=yes \ + --enable-burst_buffering \ + --enable-subfiling \ + --enable-thread-safe \ + --with-pthread \ + --disable-fortran \ + --with-mpi=${GITHUB_WORKSPACE}/MPICH \ + TESTOUTDIR=${GITHUB_WORKSPACE}/pnetcdf_output \ + MIMIC_LUSTRE=yes + make -j 8 tests + - name: Print config.log + if: ${{ always() }} + run: | + cat ${GITHUB_WORKSPACE}/config.log + - name: make check + run: | + cd ${GITHUB_WORKSPACE} + make check + - name: Print test log files + if: ${{ always() }} + run: | + cd ${GITHUB_WORKSPACE} + fname=`find src test examples benchmarks -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: make ptests + run: | + cd ${GITHUB_WORKSPACE} + make ptests + - name: make distcheck + run: | + cd ${GITHUB_WORKSPACE} + make -j 8 distcheck DISTCHECK_CONFIGURE_FLAGS="--silent --with-mpi=${GITHUB_WORKSPACE}/MPICH" + - name: make install + run: | + cd ${GITHUB_WORKSPACE} + prefix_path=${GITHUB_WORKSPACE}/pnetcdf_install + echo "---- test make install prefix=${prefix_path}" + make install prefix=${prefix_path} + test/tst_install.sh ${prefix_path} + prefix_path="/pnetcdf_install" + destdir_path=${GITHUB_WORKSPACE}/inst + echo "---- test make install prefix=${prefix_path} DESTDIR=${destdir_path}" + make install prefix=${prefix_path} DESTDIR=${destdir_path} + test/tst_install.sh ${prefix_path} ${destdir_path} + - name: Cleanup + if: ${{ always() }} + run: | + cd ${GITHUB_WORKSPACE} + make -s distclean + rm -rf ${GITHUB_WORKSPACE}/pnetcdf_output + rm -rf ${GITHUB_WORKSPACE}/MPICH + rm -rf ${GITHUB_WORKSPACE}/pnetcdf_install + rm -rf ${GITHUB_WORKSPACE}/inst + + mac-mpich: + runs-on: macos-latest + timeout-minutes: 120 + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 + - name: Set up dependencies + run: | + # brew install gcc + # which gcc + # gcc --version + # which gfortran + - name: Clean up git untracked files + run: | + git clean -fx + - name: Build GNU autotools + run: | + export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" + export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/m4/m4-${M4_VERSION}.tar.gz + gzip -dc m4-${M4_VERSION}.tar.gz | tar -xf - + cd m4-${M4_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz + gzip -dc autoconf-${AUTOCONF_VERSION}.tar.gz | tar -xf - + cd autoconf-${AUTOCONF_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VERSION}.tar.gz + gzip -dc automake-${AUTOMAKE_VERSION}.tar.gz | tar -xf - + cd automake-${AUTOMAKE_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/libtool/libtool-${LIBTOOL_VERSION}.tar.gz + gzip -dc libtool-${LIBTOOL_VERSION}.tar.gz | tar -xf - + cd libtool-${LIBTOOL_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + - 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-romio \ + --with-file-system=ufs \ + --with-device=ch3:sock \ + --disable-fortran \ + CC=gcc + make -s LIBTOOLFLAGS=--silent V=1 -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + - name: Build PnetCDF + run: | + cd ${GITHUB_WORKSPACE} + export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" + export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" + m4 --version + autoconf --version + automake --version + libtool --version + autoreconf -i + mkdir -p pnetcdf_output + ./configure --enable-option-checking=fatal \ + pnc_ac_debug=yes \ + --enable-burst_buffering \ + --enable-subfiling \ + --enable-thread-safe \ + --with-pthread \ + --disable-fortran \ + --with-mpi=${GITHUB_WORKSPACE}/MPICH \ + TESTOUTDIR=${GITHUB_WORKSPACE}/pnetcdf_output + make -j 8 tests + - name: Print config.log + if: ${{ always() }} + run: | + cat ${GITHUB_WORKSPACE}/config.log + - name: make check + run: | + cd ${GITHUB_WORKSPACE} + make check + - name: Print test log files + if: ${{ always() }} + run: | + cd ${GITHUB_WORKSPACE} + fname=`find src test examples benchmarks -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: make ptests + run: | + cd ${GITHUB_WORKSPACE} + make ptests + - name: make distcheck + run: | + cd ${GITHUB_WORKSPACE} + make -j 8 distcheck DISTCHECK_CONFIGURE_FLAGS="--silent --with-mpi=${GITHUB_WORKSPACE}/MPICH" + - name: make install + run: | + cd ${GITHUB_WORKSPACE} + prefix_path=${GITHUB_WORKSPACE}/pnetcdf_install + echo "---- test make install prefix=${prefix_path}" + make install prefix=${prefix_path} + test/tst_install.sh ${prefix_path} + prefix_path="/pnetcdf_install" + destdir_path=${GITHUB_WORKSPACE}/inst + echo "---- test make install prefix=${prefix_path} DESTDIR=${destdir_path}" + make install prefix=${prefix_path} DESTDIR=${destdir_path} + test/tst_install.sh ${prefix_path} ${destdir_path} + - name: Cleanup + if: ${{ always() }} + run: | + cd ${GITHUB_WORKSPACE} + make -s distclean + rm -rf ${GITHUB_WORKSPACE}/pnetcdf_output + rm -rf ${GITHUB_WORKSPACE}/MPICH + rm -rf ${GITHUB_WORKSPACE}/pnetcdf_install + rm -rf ${GITHUB_WORKSPACE}/inst + + mac-openmpi-lustre: + runs-on: macos-latest + timeout-minutes: 120 + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 + - name: Set up dependencies + run: | + # brew install gcc + # which gcc + # gcc --version + # which gfortran + - name: Clean up git untracked files + run: | + git clean -fx + - name: Build GNU autotools + run: | + export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" + export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/m4/m4-${M4_VERSION}.tar.gz + gzip -dc m4-${M4_VERSION}.tar.gz | tar -xf - + cd m4-${M4_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz + gzip -dc autoconf-${AUTOCONF_VERSION}.tar.gz | tar -xf - + cd autoconf-${AUTOCONF_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VERSION}.tar.gz + gzip -dc automake-${AUTOMAKE_VERSION}.tar.gz | tar -xf - + cd automake-${AUTOMAKE_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/libtool/libtool-${LIBTOOL_VERSION}.tar.gz + gzip -dc libtool-${LIBTOOL_VERSION}.tar.gz | tar -xf - + cd libtool-${LIBTOOL_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + - name: Build OPENMPI + run: | + cd ${GITHUB_WORKSPACE} + rm -rf OPENMPI ; mkdir OPENMPI ; cd OPENMPI + VER_MAJOR=${OPENMPI_VERSION%.*} + wget -q https://download.open-mpi.org/release/open-mpi/v${VER_MAJOR}/openmpi-${OPENMPI_VERSION}.tar.gz + gzip -dc openmpi-${OPENMPI_VERSION}.tar.gz | tar -xf - + cd openmpi-${OPENMPI_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/OPENMPI \ + --silent \ + --with-io-romio-flags="--with-file-system=ufs" \ + --with-hwloc=internal \ + --with-pmix=internal \ + --with-libevent=internal \ + --disable-mpi-fortran \ + CC=gcc + make -s LIBTOOLFLAGS=--silent V=1 -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + - name: Build PnetCDF (MIMIC_LUSTRE) + run: | + cd ${GITHUB_WORKSPACE} + export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" + export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" + m4 --version + autoconf --version + automake --version + libtool --version + autoreconf -i + mkdir -p pnetcdf_output + ./configure --enable-option-checking=fatal \ + pnc_ac_debug=yes \ + --enable-burst_buffering \ + --enable-subfiling \ + --enable-thread-safe \ + --with-pthread \ + --disable-fortran \ + --with-mpi=${GITHUB_WORKSPACE}/OPENMPI \ + TESTOUTDIR=${GITHUB_WORKSPACE}/pnetcdf_output \ + MIMIC_LUSTRE=yes + make -j 8 tests + - name: Print config.log + if: ${{ always() }} + run: | + cat ${GITHUB_WORKSPACE}/config.log + - name: make check + run: | + cd ${GITHUB_WORKSPACE} + make check + - name: Print test log files + if: ${{ always() }} + run: | + cd ${GITHUB_WORKSPACE} + fname=`find src test examples benchmarks -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: make ptests + run: | + cd ${GITHUB_WORKSPACE} + make ptests + - name: make distcheck + run: | + cd ${GITHUB_WORKSPACE} + make -j 8 distcheck DISTCHECK_CONFIGURE_FLAGS="--silent --with-mpi=${GITHUB_WORKSPACE}/OPENMPI" + - name: make install + run: | + cd ${GITHUB_WORKSPACE} + prefix_path=${GITHUB_WORKSPACE}/pnetcdf_install + echo "---- test make install prefix=${prefix_path}" + make install prefix=${prefix_path} + test/tst_install.sh ${prefix_path} + prefix_path="/pnetcdf_install" + destdir_path=${GITHUB_WORKSPACE}/inst + echo "---- test make install prefix=${prefix_path} DESTDIR=${destdir_path}" + make install prefix=${prefix_path} DESTDIR=${destdir_path} + test/tst_install.sh ${prefix_path} ${destdir_path} + - name: Cleanup + if: ${{ always() }} + run: | + cd ${GITHUB_WORKSPACE} + make -s distclean + rm -rf ${GITHUB_WORKSPACE}/pnetcdf_output + rm -rf ${GITHUB_WORKSPACE}/OPENMPI + rm -rf ${GITHUB_WORKSPACE}/pnetcdf_install + rm -rf ${GITHUB_WORKSPACE}/inst + + mac-openmpi: + runs-on: macos-latest + timeout-minutes: 120 + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 + - name: Set up dependencies + run: | + # brew install gcc + # which gcc + # gcc --version + # which gfortran + - name: Clean up git untracked files + run: | + git clean -fx + - name: Build GNU autotools + run: | + export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" + export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/m4/m4-${M4_VERSION}.tar.gz + gzip -dc m4-${M4_VERSION}.tar.gz | tar -xf - + cd m4-${M4_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz + gzip -dc autoconf-${AUTOCONF_VERSION}.tar.gz | tar -xf - + cd autoconf-${AUTOCONF_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VERSION}.tar.gz + gzip -dc automake-${AUTOMAKE_VERSION}.tar.gz | tar -xf - + cd automake-${AUTOMAKE_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/libtool/libtool-${LIBTOOL_VERSION}.tar.gz + gzip -dc libtool-${LIBTOOL_VERSION}.tar.gz | tar -xf - + cd libtool-${LIBTOOL_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + - name: Build OPENMPI + run: | + cd ${GITHUB_WORKSPACE} + rm -rf OPENMPI ; mkdir OPENMPI ; cd OPENMPI + VER_MAJOR=${OPENMPI_VERSION%.*} + wget -q https://download.open-mpi.org/release/open-mpi/v${VER_MAJOR}/openmpi-${OPENMPI_VERSION}.tar.gz + gzip -dc openmpi-${OPENMPI_VERSION}.tar.gz | tar -xf - + cd openmpi-${OPENMPI_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/OPENMPI \ + --silent \ + --with-io-romio-flags="--with-file-system=ufs" \ + --with-hwloc=internal \ + --with-pmix=internal \ + --with-libevent=internal \ + --disable-mpi-fortran \ + CC=gcc + make -s LIBTOOLFLAGS=--silent V=1 -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + - name: Build PnetCDF + run: | + cd ${GITHUB_WORKSPACE} + export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" + export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" + m4 --version + autoconf --version + automake --version + libtool --version + autoreconf -i + mkdir -p pnetcdf_output + ./configure --enable-option-checking=fatal \ + pnc_ac_debug=yes \ + --enable-burst_buffering \ + --enable-subfiling \ + --enable-thread-safe \ + --with-pthread \ + --disable-fortran \ + --with-mpi=${GITHUB_WORKSPACE}/OPENMPI \ + TESTOUTDIR=${GITHUB_WORKSPACE}/pnetcdf_output + make -j 8 tests + - name: Print config.log + if: ${{ always() }} + run: | + cat ${GITHUB_WORKSPACE}/config.log + - name: make check + run: | + cd ${GITHUB_WORKSPACE} + make check + - name: Print test log files + if: ${{ always() }} + run: | + cd ${GITHUB_WORKSPACE} + fname=`find src test examples benchmarks -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: make ptests + run: | + cd ${GITHUB_WORKSPACE} + make ptests + - name: make distcheck + run: | + cd ${GITHUB_WORKSPACE} + make -j 8 distcheck DISTCHECK_CONFIGURE_FLAGS="--silent --with-mpi=${GITHUB_WORKSPACE}/OPENMPI" + - name: make install + run: | + cd ${GITHUB_WORKSPACE} + prefix_path=${GITHUB_WORKSPACE}/pnetcdf_install + echo "---- test make install prefix=${prefix_path}" + make install prefix=${prefix_path} + test/tst_install.sh ${prefix_path} + prefix_path="/pnetcdf_install" + destdir_path=${GITHUB_WORKSPACE}/inst + echo "---- test make install prefix=${prefix_path} DESTDIR=${destdir_path}" + make install prefix=${prefix_path} DESTDIR=${destdir_path} + test/tst_install.sh ${prefix_path} ${destdir_path} + - name: Cleanup + if: ${{ always() }} + run: | + cd ${GITHUB_WORKSPACE} + make -s distclean + rm -rf ${GITHUB_WORKSPACE}/pnetcdf_output + rm -rf ${GITHUB_WORKSPACE}/OPENMPI + rm -rf ${GITHUB_WORKSPACE}/pnetcdf_install + rm -rf ${GITHUB_WORKSPACE}/inst + + ubuntu-mpich-lustre: + runs-on: ubuntu-latest + timeout-minutes: 120 + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 + - name: Set up dependencies + run: | + sudo apt-get update + # install gfortran + version=12 + sudo add-apt-repository ppa:ubuntu-toolchain-r/test + sudo apt-get update + sudo apt-get install -y gcc-${version} gfortran-${version} + sudo update-alternatives \ + --install /usr/bin/gcc gcc /usr/bin/gcc-${version} 100 \ + --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-${version} \ + --slave /usr/bin/gcov gcov /usr/bin/gcov-${version} + echo "---- gcc/gfortran version ------------------------------" + which gcc + which gfortran + gcc --version + gfortran --version + - name: Clean up git untracked files + run: | + git clean -fx + - name: Build GNU autotools + run: | + export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" + export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/m4/m4-${M4_VERSION}.tar.gz + gzip -dc m4-${M4_VERSION}.tar.gz | tar -xf - + cd m4-${M4_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz + gzip -dc autoconf-${AUTOCONF_VERSION}.tar.gz | tar -xf - + cd autoconf-${AUTOCONF_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VERSION}.tar.gz + gzip -dc automake-${AUTOMAKE_VERSION}.tar.gz | tar -xf - + cd automake-${AUTOMAKE_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/libtool/libtool-${LIBTOOL_VERSION}.tar.gz + gzip -dc libtool-${LIBTOOL_VERSION}.tar.gz | tar -xf - + cd libtool-${LIBTOOL_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + - name: Build MPICH + run: | + cd ${GITHUB_WORKSPACE} + echo "Install MPICH ${MPICH_VERSION} in ${GITHUB_WORKSPACE}/MPICH" + rm -rf MPICH ; mkdir MPICH ; cd MPICH + # git clone -q https://github.com/pmodels/mpich.git + # cd mpich + # git submodule update --init + # ./autogen.sh + 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-romio \ + --with-file-system=ufs \ + --with-device=ch3:sock \ + --enable-fortran \ + CC=gcc FC=gfortran \ + FFLAGS=-fallow-argument-mismatch \ + FCFLAGS=-fallow-argument-mismatch + make -s LIBTOOLFLAGS=--silent V=1 -j 4 install > qout 2>&1 + make -s -j 4 distclean >> qout 2>&1 + - name: Build PnetCDF (MIMIC_LUSTRE) + run: | + cd ${GITHUB_WORKSPACE} + export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" + export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" + m4 --version + autoconf --version + automake --version + libtool --version + autoreconf -i + mkdir -p pnetcdf_output + ./configure --prefix=${GITHUB_WORKSPACE}/PnetCDF \ + --enable-option-checking=fatal \ + pnc_ac_debug=yes \ + --enable-burst_buffering \ + --enable-subfiling \ + --enable-thread-safe \ + --with-pthread \ + --with-mpi=${GITHUB_WORKSPACE}/MPICH \ + TESTOUTDIR=${GITHUB_WORKSPACE}/pnetcdf_output \ + MIMIC_LUSTRE=yes + make -j 8 tests + - name: Print config.log + if: ${{ always() }} + run: | + cat ${GITHUB_WORKSPACE}/config.log + - name: make check + run: | + cd ${GITHUB_WORKSPACE} + make check + - name: Print test log files + if: ${{ always() }} + run: | + cd ${GITHUB_WORKSPACE} + fname=`find src test examples benchmarks -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: make ptests + run: | + cd ${GITHUB_WORKSPACE} + make ptests + - name: make distcheck + run: | + cd ${GITHUB_WORKSPACE} + make -j 8 distcheck DISTCHECK_CONFIGURE_FLAGS="--silent --with-mpi=${GITHUB_WORKSPACE}/MPICH" + - name: make install + run: | + cd ${GITHUB_WORKSPACE} + prefix_path=${GITHUB_WORKSPACE}/pnetcdf_install + echo "---- test make install prefix=${prefix_path}" + make install prefix=${prefix_path} + test/tst_install.sh ${prefix_path} + prefix_path="/pnetcdf_install" + destdir_path=${GITHUB_WORKSPACE}/inst + echo "---- test make install prefix=${prefix_path} DESTDIR=${destdir_path}" + make install prefix=${prefix_path} DESTDIR=${destdir_path} + test/tst_install.sh ${prefix_path} ${destdir_path} + - name: Cleanup + if: ${{ always() }} + run: | + cd ${GITHUB_WORKSPACE} + make -s distclean + rm -rf ${GITHUB_WORKSPACE}/pnetcdf_output + rm -rf ${GITHUB_WORKSPACE}/MPICH + rm -rf ${GITHUB_WORKSPACE}/pnetcdf_install + rm -rf ${GITHUB_WORKSPACE}/inst + + ubuntu-mpich: + runs-on: ubuntu-latest + timeout-minutes: 120 + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 + - name: Set up dependencies + run: | + sudo apt-get update + # install gfortran + version=12 + sudo add-apt-repository ppa:ubuntu-toolchain-r/test + sudo apt-get update + sudo apt-get install -y gcc-${version} gfortran-${version} + sudo update-alternatives \ + --install /usr/bin/gcc gcc /usr/bin/gcc-${version} 100 \ + --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-${version} \ + --slave /usr/bin/gcov gcov /usr/bin/gcov-${version} + echo "---- gcc/gfortran version ------------------------------" + which gcc + which gfortran + gcc --version + gfortran --version + - name: Clean up git untracked files + run: | + git clean -fx + - name: Build GNU autotools + run: | + export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" + export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/m4/m4-${M4_VERSION}.tar.gz + gzip -dc m4-${M4_VERSION}.tar.gz | tar -xf - + cd m4-${M4_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz + gzip -dc autoconf-${AUTOCONF_VERSION}.tar.gz | tar -xf - + cd autoconf-${AUTOCONF_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VERSION}.tar.gz + gzip -dc automake-${AUTOMAKE_VERSION}.tar.gz | tar -xf - + cd automake-${AUTOMAKE_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/libtool/libtool-${LIBTOOL_VERSION}.tar.gz + gzip -dc libtool-${LIBTOOL_VERSION}.tar.gz | tar -xf - + cd libtool-${LIBTOOL_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + - name: Build MPICH + run: | + cd ${GITHUB_WORKSPACE} + echo "Install MPICH ${MPICH_VERSION} in ${GITHUB_WORKSPACE}/MPICH" + rm -rf MPICH ; mkdir MPICH ; cd MPICH + # git clone -q https://github.com/pmodels/mpich.git + # cd mpich + # git submodule update --init + # ./autogen.sh + 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-romio \ + --with-file-system=ufs \ + --with-device=ch3:sock \ + --enable-fortran \ + CC=gcc FC=gfortran \ + FFLAGS=-fallow-argument-mismatch \ + FCFLAGS=-fallow-argument-mismatch + make -s LIBTOOLFLAGS=--silent V=1 -j 4 install > qout 2>&1 + make -s -j 4 distclean >> qout 2>&1 + - name: Build PnetCDF + run: | + cd ${GITHUB_WORKSPACE} + export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" + export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" + m4 --version + autoconf --version + automake --version + libtool --version + autoreconf -i + mkdir -p pnetcdf_output + ./configure --prefix=${GITHUB_WORKSPACE}/PnetCDF \ + --enable-option-checking=fatal \ + pnc_ac_debug=yes \ + --enable-burst_buffering \ + --enable-subfiling \ + --enable-thread-safe \ + --with-pthread \ + --with-mpi=${GITHUB_WORKSPACE}/MPICH \ + TESTOUTDIR=${GITHUB_WORKSPACE}/pnetcdf_output + make -j 8 tests + - name: Print config.log + if: ${{ always() }} + run: | + cat ${GITHUB_WORKSPACE}/config.log + - name: make check + run: | + cd ${GITHUB_WORKSPACE} + make check + - name: Print test log files + if: ${{ always() }} + run: | + cd ${GITHUB_WORKSPACE} + fname=`find src test examples benchmarks -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: make ptests + run: | + cd ${GITHUB_WORKSPACE} + make ptests + - name: make distcheck + run: | + cd ${GITHUB_WORKSPACE} + make -j 8 distcheck DISTCHECK_CONFIGURE_FLAGS="--silent --with-mpi=${GITHUB_WORKSPACE}/MPICH" + - name: make install + run: | + cd ${GITHUB_WORKSPACE} + prefix_path=${GITHUB_WORKSPACE}/pnetcdf_install + echo "---- test make install prefix=${prefix_path}" + make install prefix=${prefix_path} + test/tst_install.sh ${prefix_path} + prefix_path="/pnetcdf_install" + destdir_path=${GITHUB_WORKSPACE}/inst + echo "---- test make install prefix=${prefix_path} DESTDIR=${destdir_path}" + make install prefix=${prefix_path} DESTDIR=${destdir_path} + test/tst_install.sh ${prefix_path} ${destdir_path} + - name: Cleanup + if: ${{ always() }} + run: | + cd ${GITHUB_WORKSPACE} + make -s distclean + rm -rf ${GITHUB_WORKSPACE}/pnetcdf_output + rm -rf ${GITHUB_WORKSPACE}/MPICH + rm -rf ${GITHUB_WORKSPACE}/pnetcdf_install + rm -rf ${GITHUB_WORKSPACE}/inst + + ubuntu-openmpi-adios: + runs-on: ubuntu-latest + timeout-minutes: 120 + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 + - name: Set up dependencies + run: | + sudo apt-get update + # install gfortran + version=12 + sudo add-apt-repository ppa:ubuntu-toolchain-r/test + sudo apt-get update + sudo apt-get install -y gcc-${version} gfortran-${version} + sudo update-alternatives \ + --install /usr/bin/gcc gcc /usr/bin/gcc-${version} 100 \ + --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-${version} \ + --slave /usr/bin/gcov gcov /usr/bin/gcov-${version} + echo "---- gcc/gfortran version ------------------------------" + which gcc + which gfortran + gcc --version + gfortran --version + - name: Clean up git untracked files + run: | + git clean -fx + - name: Build GNU autotools + run: | + export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" + export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/m4/m4-${M4_VERSION}.tar.gz + gzip -dc m4-${M4_VERSION}.tar.gz | tar -xf - + cd m4-${M4_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz + gzip -dc autoconf-${AUTOCONF_VERSION}.tar.gz | tar -xf - + cd autoconf-${AUTOCONF_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VERSION}.tar.gz + gzip -dc automake-${AUTOMAKE_VERSION}.tar.gz | tar -xf - + cd automake-${AUTOMAKE_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/libtool/libtool-${LIBTOOL_VERSION}.tar.gz + gzip -dc libtool-${LIBTOOL_VERSION}.tar.gz | tar -xf - + cd libtool-${LIBTOOL_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + - name: Build OPENMPI + run: | + cd ${GITHUB_WORKSPACE} + echo "Install OPENMPI ${OPENMPI_VERSION} in ${GITHUB_WORKSPACE}/OPENMPI" + rm -rf OPENMPI ; mkdir OPENMPI ; cd OPENMPI + VER_MAJOR=${OPENMPI_VERSION%.*} + wget -q https://download.open-mpi.org/release/open-mpi/v${VER_MAJOR}/openmpi-${OPENMPI_VERSION}.tar.gz + gzip -dc openmpi-${OPENMPI_VERSION}.tar.gz | tar -xf - + cd openmpi-${OPENMPI_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/OPENMPI \ + --silent \ + --with-io-romio-flags="--with-file-system=ufs" \ + CC=gcc \ + FC=gfortran \ + FCFLAGS=-fallow-argument-mismatch + make -s LIBTOOLFLAGS=--silent V=1 -j 4 install > qout 2>&1 + make -s -j 4 distclean >> qout 2>&1 + - name: Build ADIOS + run: | + cd ${GITHUB_WORKSPACE} + export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${GITHUB_WORKSPACE}/OPENMPI/bin:${PATH}" + wget -q https://users.nccs.gov/~pnorbert/adios-${ADIOS_VERSION}.tar.gz + gzip -dc adios-${ADIOS_VERSION}.tar.gz | tar -xf - + cd adios-${ADIOS_VERSION} + #autoreconf -i + mkdir build && cd build + ../configure --prefix=${GITHUB_WORKSPACE}/ADIOS \ + --with-mpi=${GITHUB_WORKSPACE}/OPENMPI \ + --disable-fortran + make -j 4 >> qout 2>&1 + make -j 4 install >> qout 2>&1 + - name: Build PnetCDF + run: | + cd ${GITHUB_WORKSPACE} + export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" + export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" + m4 --version + autoconf --version + automake --version + libtool --version + autoreconf -i + mkdir -p pnetcdf_output + ./configure --prefix=${GITHUB_WORKSPACE}/PnetCDF \ + --enable-option-checking=fatal \ + pnc_ac_debug=yes \ + --enable-burst_buffering \ + --enable-subfiling \ + --enable-thread-safe \ + --with-pthread \ + --with-mpi=${GITHUB_WORKSPACE}/OPENMPI \ + --with-adios=${GITHUB_WORKSPACE}/ADIOS \ + TESTOUTDIR=${GITHUB_WORKSPACE}/pnetcdf_output + make -j 8 tests + - name: Print config.log + if: ${{ always() }} + run: | + cat ${GITHUB_WORKSPACE}/config.log + - name: make check + run: | + cd ${GITHUB_WORKSPACE} + make check + - name: Print test log files + if: ${{ always() }} + run: | + cd ${GITHUB_WORKSPACE} + fname=`find src test examples benchmarks -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: make ptests + run: | + cd ${GITHUB_WORKSPACE} + make ptests + - name: make distcheck + run: | + cd ${GITHUB_WORKSPACE} + make -j 8 distcheck DISTCHECK_CONFIGURE_FLAGS="--silent --with-mpi=${GITHUB_WORKSPACE}/OPENMPI" + - name: make install + run: | + cd ${GITHUB_WORKSPACE} + prefix_path=${GITHUB_WORKSPACE}/pnetcdf_install + echo "---- test make install prefix=${prefix_path}" + make install prefix=${prefix_path} + test/tst_install.sh ${prefix_path} + prefix_path="/pnetcdf_install" + destdir_path=${GITHUB_WORKSPACE}/inst + echo "---- test make install prefix=${prefix_path} DESTDIR=${destdir_path}" + make install prefix=${prefix_path} DESTDIR=${destdir_path} + test/tst_install.sh ${prefix_path} ${destdir_path} + - name: Cleanup + if: ${{ always() }} + run: | + cd ${GITHUB_WORKSPACE} + make -s distclean + rm -rf ${GITHUB_WORKSPACE}/pnetcdf_output + rm -rf ${GITHUB_WORKSPACE}/OPENMPI + rm -rf ${GITHUB_WORKSPACE}/pnetcdf_install + rm -rf ${GITHUB_WORKSPACE}/inst + + ubuntu-openmpi-lustre: + runs-on: ubuntu-latest + timeout-minutes: 120 + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 + - name: Set up dependencies + run: | + sudo apt-get update + # install gfortran + version=12 + sudo add-apt-repository ppa:ubuntu-toolchain-r/test + sudo apt-get update + sudo apt-get install -y gcc-${version} gfortran-${version} + sudo update-alternatives \ + --install /usr/bin/gcc gcc /usr/bin/gcc-${version} 100 \ + --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-${version} \ + --slave /usr/bin/gcov gcov /usr/bin/gcov-${version} + echo "---- gcc/gfortran version ------------------------------" + which gcc + which gfortran + gcc --version + gfortran --version + - name: Clean up git untracked files + run: | + git clean -fx + - name: Build GNU autotools + run: | + export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" + export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/m4/m4-${M4_VERSION}.tar.gz + gzip -dc m4-${M4_VERSION}.tar.gz | tar -xf - + cd m4-${M4_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz + gzip -dc autoconf-${AUTOCONF_VERSION}.tar.gz | tar -xf - + cd autoconf-${AUTOCONF_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VERSION}.tar.gz + gzip -dc automake-${AUTOMAKE_VERSION}.tar.gz | tar -xf - + cd automake-${AUTOMAKE_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/libtool/libtool-${LIBTOOL_VERSION}.tar.gz + gzip -dc libtool-${LIBTOOL_VERSION}.tar.gz | tar -xf - + cd libtool-${LIBTOOL_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + - name: Build OPENMPI + run: | + cd ${GITHUB_WORKSPACE} + echo "Install OPENMPI ${OPENMPI_VERSION} in ${GITHUB_WORKSPACE}/OPENMPI" + rm -rf OPENMPI ; mkdir OPENMPI ; cd OPENMPI + VER_MAJOR=${OPENMPI_VERSION%.*} + wget -q https://download.open-mpi.org/release/open-mpi/v${VER_MAJOR}/openmpi-${OPENMPI_VERSION}.tar.gz + gzip -dc openmpi-${OPENMPI_VERSION}.tar.gz | tar -xf - + cd openmpi-${OPENMPI_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/OPENMPI \ + --silent \ + --with-io-romio-flags="--with-file-system=ufs" \ + CC=gcc \ + FC=gfortran \ + FCFLAGS=-fallow-argument-mismatch + make -s LIBTOOLFLAGS=--silent V=1 -j 4 install > qout 2>&1 + make -s -j 4 distclean >> qout 2>&1 + - name: Build PnetCDF (MIMIC_LUSTRE) + run: | + cd ${GITHUB_WORKSPACE} + export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" + export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" + m4 --version + autoconf --version + automake --version + libtool --version + autoreconf -i + mkdir -p pnetcdf_output + ./configure --prefix=${GITHUB_WORKSPACE}/PnetCDF \ + --enable-option-checking=fatal \ + pnc_ac_debug=yes \ + --enable-burst_buffering \ + --enable-subfiling \ + --enable-thread-safe \ + --with-pthread \ + --with-mpi=${GITHUB_WORKSPACE}/OPENMPI \ + TESTOUTDIR=${GITHUB_WORKSPACE}/pnetcdf_output \ + MIMIC_LUSTRE=yes + make -j 8 tests + - name: Print config.log + if: ${{ always() }} + run: | + cat ${GITHUB_WORKSPACE}/config.log + - name: make check + run: | + cd ${GITHUB_WORKSPACE} + make check + - name: Print test log files + if: ${{ always() }} + run: | + cd ${GITHUB_WORKSPACE} + fname=`find src test examples benchmarks -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: make ptests + run: | + cd ${GITHUB_WORKSPACE} + make ptests + - name: make distcheck + run: | + cd ${GITHUB_WORKSPACE} + make -j 8 distcheck DISTCHECK_CONFIGURE_FLAGS="--silent --with-mpi=${GITHUB_WORKSPACE}/OPENMPI" + - name: make install + run: | + cd ${GITHUB_WORKSPACE} + prefix_path=${GITHUB_WORKSPACE}/pnetcdf_install + echo "---- test make install prefix=${prefix_path}" + make install prefix=${prefix_path} + test/tst_install.sh ${prefix_path} + prefix_path="/pnetcdf_install" + destdir_path=${GITHUB_WORKSPACE}/inst + echo "---- test make install prefix=${prefix_path} DESTDIR=${destdir_path}" + make install prefix=${prefix_path} DESTDIR=${destdir_path} + test/tst_install.sh ${prefix_path} ${destdir_path} + - name: Cleanup + if: ${{ always() }} + run: | + cd ${GITHUB_WORKSPACE} + make -s distclean + rm -rf ${GITHUB_WORKSPACE}/pnetcdf_output + rm -rf ${GITHUB_WORKSPACE}/OPENMPI + rm -rf ${GITHUB_WORKSPACE}/pnetcdf_install + rm -rf ${GITHUB_WORKSPACE}/inst + + ubuntu-openmpi: + runs-on: ubuntu-latest + timeout-minutes: 120 + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 + - name: Set up dependencies + run: | + sudo apt-get update + # install gfortran + version=12 + sudo add-apt-repository ppa:ubuntu-toolchain-r/test + sudo apt-get update + sudo apt-get install -y gcc-${version} gfortran-${version} + sudo update-alternatives \ + --install /usr/bin/gcc gcc /usr/bin/gcc-${version} 100 \ + --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-${version} \ + --slave /usr/bin/gcov gcov /usr/bin/gcov-${version} + echo "---- gcc/gfortran version ------------------------------" + which gcc + which gfortran + gcc --version + gfortran --version + - name: Clean up git untracked files + run: | + git clean -fx + - name: Build GNU autotools + run: | + export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" + export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/m4/m4-${M4_VERSION}.tar.gz + gzip -dc m4-${M4_VERSION}.tar.gz | tar -xf - + cd m4-${M4_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz + gzip -dc autoconf-${AUTOCONF_VERSION}.tar.gz | tar -xf - + cd autoconf-${AUTOCONF_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VERSION}.tar.gz + gzip -dc automake-${AUTOMAKE_VERSION}.tar.gz | tar -xf - + cd automake-${AUTOMAKE_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + cd ${GITHUB_WORKSPACE} + wget -q https://ftp.gnu.org/gnu/libtool/libtool-${LIBTOOL_VERSION}.tar.gz + gzip -dc libtool-${LIBTOOL_VERSION}.tar.gz | tar -xf - + cd libtool-${LIBTOOL_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ + --silent + make -s -j 8 install > qout 2>&1 + make -s -j 8 distclean >> qout 2>&1 + - name: Build OPENMPI + run: | + cd ${GITHUB_WORKSPACE} + echo "Install OPENMPI ${OPENMPI_VERSION} in ${GITHUB_WORKSPACE}/OPENMPI" + rm -rf OPENMPI ; mkdir OPENMPI ; cd OPENMPI + VER_MAJOR=${OPENMPI_VERSION%.*} + wget -q https://download.open-mpi.org/release/open-mpi/v${VER_MAJOR}/openmpi-${OPENMPI_VERSION}.tar.gz + gzip -dc openmpi-${OPENMPI_VERSION}.tar.gz | tar -xf - + cd openmpi-${OPENMPI_VERSION} + ./configure --prefix=${GITHUB_WORKSPACE}/OPENMPI \ + --silent \ + --with-io-romio-flags="--with-file-system=ufs" \ + CC=gcc \ + FC=gfortran \ + FCFLAGS=-fallow-argument-mismatch + make -s LIBTOOLFLAGS=--silent V=1 -j 4 install > qout 2>&1 + make -s -j 4 distclean >> qout 2>&1 + - name: Build PnetCDF + run: | + cd ${GITHUB_WORKSPACE} + export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" + export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" + m4 --version + autoconf --version + automake --version + libtool --version + autoreconf -i + mkdir -p pnetcdf_output + ./configure --prefix=${GITHUB_WORKSPACE}/PnetCDF \ + --enable-option-checking=fatal \ + pnc_ac_debug=yes \ + --enable-burst_buffering \ + --enable-subfiling \ + --enable-thread-safe \ + --with-pthread \ + --with-mpi=${GITHUB_WORKSPACE}/OPENMPI \ + TESTOUTDIR=${GITHUB_WORKSPACE}/pnetcdf_output + make -j 8 tests + - name: Print config.log + if: ${{ always() }} + run: | + cat ${GITHUB_WORKSPACE}/config.log + - name: make check + run: | + cd ${GITHUB_WORKSPACE} + make check + - name: Print test log files + if: ${{ always() }} + run: | + cd ${GITHUB_WORKSPACE} + fname=`find src test examples benchmarks -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: make ptests + run: | + cd ${GITHUB_WORKSPACE} + make ptests + - name: make distcheck + run: | + cd ${GITHUB_WORKSPACE} + make -j 8 distcheck DISTCHECK_CONFIGURE_FLAGS="--silent --with-mpi=${GITHUB_WORKSPACE}/OPENMPI" + - name: make install + run: | + cd ${GITHUB_WORKSPACE} + prefix_path=${GITHUB_WORKSPACE}/pnetcdf_install + echo "---- test make install prefix=${prefix_path}" + make install prefix=${prefix_path} + test/tst_install.sh ${prefix_path} + prefix_path="/pnetcdf_install" + destdir_path=${GITHUB_WORKSPACE}/inst + echo "---- test make install prefix=${prefix_path} DESTDIR=${destdir_path}" + make install prefix=${prefix_path} DESTDIR=${destdir_path} + test/tst_install.sh ${prefix_path} ${destdir_path} + - name: Cleanup + if: ${{ always() }} + run: | + cd ${GITHUB_WORKSPACE} + make -s distclean + rm -rf ${GITHUB_WORKSPACE}/pnetcdf_output + rm -rf ${GITHUB_WORKSPACE}/OPENMPI + rm -rf ${GITHUB_WORKSPACE}/pnetcdf_install + rm -rf ${GITHUB_WORKSPACE}/inst diff --git a/.github/workflows/mac_mpich.yml b/.github/workflows/mac_mpich.yml deleted file mode 100644 index 370969d79..000000000 --- a/.github/workflows/mac_mpich.yml +++ /dev/null @@ -1,169 +0,0 @@ -name: Mac OSX with MPICH - -on: - push: - branches: [ master, test_github_actions ] - paths-ignore: - - '**/*.md' - - '**/*.txt' - - '**/*.1' - - '**/*.jpg' - - '**/*.png' - - 'docs/*' - - 'test/test_installed/*' - pull_request: - branches: [ master, test_github_actions ] - paths-ignore: - - '**/*.md' - - '**/*.txt' - - '**/*.1' - - '**/*.jpg' - - '**/*.png' - - 'docs/*' - - 'test/test_installed/*' - -env: - MPICH_VERSION: 4.3.0 - AUTOCONF_VERSION: 2.71 - AUTOMAKE_VERSION: 1.17 - LIBTOOL_VERSION: 2.5.4 - M4_VERSION: 1.4.19 - -jobs: - build: - runs-on: macos-latest - timeout-minutes: 120 - steps: - - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 - - name: Set up dependencies - run: | - # brew install gcc - # which gcc - # gcc --version - # which gfortran - - name: Clean up git untracked files - run: | - git clean -fx - - name: Build GNU autotools - run: | - export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" - export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/m4/m4-${M4_VERSION}.tar.gz - gzip -dc m4-${M4_VERSION}.tar.gz | tar -xf - - cd m4-${M4_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz - gzip -dc autoconf-${AUTOCONF_VERSION}.tar.gz | tar -xf - - cd autoconf-${AUTOCONF_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VERSION}.tar.gz - gzip -dc automake-${AUTOMAKE_VERSION}.tar.gz | tar -xf - - cd automake-${AUTOMAKE_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/libtool/libtool-${LIBTOOL_VERSION}.tar.gz - gzip -dc libtool-${LIBTOOL_VERSION}.tar.gz | tar -xf - - cd libtool-${LIBTOOL_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - - 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-romio \ - --with-file-system=ufs \ - --with-device=ch3:sock \ - --disable-fortran \ - CC=gcc - make -s LIBTOOLFLAGS=--silent V=1 -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - - name: Build PnetCDF - run: | - cd ${GITHUB_WORKSPACE} - export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" - export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" - m4 --version - autoconf --version - automake --version - libtool --version - autoreconf -i - mkdir -p pnetcdf_output - ./configure --enable-option-checking=fatal \ - pnc_ac_debug=yes \ - --enable-burst_buffering \ - --enable-subfiling \ - --enable-thread-safe \ - --with-pthread \ - --disable-fortran \ - --with-mpi=${GITHUB_WORKSPACE}/MPICH \ - TESTOUTDIR=${GITHUB_WORKSPACE}/pnetcdf_output - make -j 8 tests - - name: Print config.log - if: ${{ always() }} - run: | - cat ${GITHUB_WORKSPACE}/config.log - - name: make check - run: | - cd ${GITHUB_WORKSPACE} - make check - - name: Print test log files - if: ${{ always() }} - run: | - cd ${GITHUB_WORKSPACE} - fname=`find src test examples benchmarks -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: make ptests - run: | - cd ${GITHUB_WORKSPACE} - make ptests - - name: make distcheck - run: | - cd ${GITHUB_WORKSPACE} - make -j 8 distcheck DISTCHECK_CONFIGURE_FLAGS="--silent --with-mpi=${GITHUB_WORKSPACE}/MPICH" - - name: make install - run: | - cd ${GITHUB_WORKSPACE} - prefix_path=${GITHUB_WORKSPACE}/pnetcdf_install - echo "---- test make install prefix=${prefix_path}" - make install prefix=${prefix_path} - test/tst_install.sh ${prefix_path} - prefix_path="/pnetcdf_install" - destdir_path=${GITHUB_WORKSPACE}/inst - echo "---- test make install prefix=${prefix_path} DESTDIR=${destdir_path}" - make install prefix=${prefix_path} DESTDIR=${destdir_path} - test/tst_install.sh ${prefix_path} ${destdir_path} - - name: Cleanup - if: ${{ always() }} - run: | - cd ${GITHUB_WORKSPACE} - make -s distclean - rm -rf ${GITHUB_WORKSPACE}/pnetcdf_output - rm -rf ${GITHUB_WORKSPACE}/MPICH - rm -rf ${GITHUB_WORKSPACE}/pnetcdf_install - rm -rf ${GITHUB_WORKSPACE}/inst - diff --git a/.github/workflows/mac_mpich_lustre.yml b/.github/workflows/mac_mpich_lustre.yml deleted file mode 100644 index 5b6b00d73..000000000 --- a/.github/workflows/mac_mpich_lustre.yml +++ /dev/null @@ -1,170 +0,0 @@ -name: Mac OSX with MPICH (MIMIC_LUSTRE) - -on: - push: - branches: [ master, test_github_actions ] - paths-ignore: - - '**/*.md' - - '**/*.txt' - - '**/*.1' - - '**/*.jpg' - - '**/*.png' - - 'docs/*' - - 'test/test_installed/*' - pull_request: - branches: [ master, test_github_actions ] - paths-ignore: - - '**/*.md' - - '**/*.txt' - - '**/*.1' - - '**/*.jpg' - - '**/*.png' - - 'docs/*' - - 'test/test_installed/*' - -env: - MPICH_VERSION: 4.3.0 - AUTOCONF_VERSION: 2.71 - AUTOMAKE_VERSION: 1.17 - LIBTOOL_VERSION: 2.5.4 - M4_VERSION: 1.4.19 - -jobs: - build: - runs-on: macos-latest - timeout-minutes: 120 - steps: - - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 - - name: Set up dependencies - run: | - # brew install gcc - # which gcc - # gcc --version - # which gfortran - - name: Clean up git untracked files - run: | - git clean -fx - - name: Build GNU autotools - run: | - export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" - export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/m4/m4-${M4_VERSION}.tar.gz - gzip -dc m4-${M4_VERSION}.tar.gz | tar -xf - - cd m4-${M4_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz - gzip -dc autoconf-${AUTOCONF_VERSION}.tar.gz | tar -xf - - cd autoconf-${AUTOCONF_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VERSION}.tar.gz - gzip -dc automake-${AUTOMAKE_VERSION}.tar.gz | tar -xf - - cd automake-${AUTOMAKE_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/libtool/libtool-${LIBTOOL_VERSION}.tar.gz - gzip -dc libtool-${LIBTOOL_VERSION}.tar.gz | tar -xf - - cd libtool-${LIBTOOL_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - - 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-romio \ - --with-file-system=ufs \ - --with-device=ch3:sock \ - --disable-fortran \ - CC=gcc - make -s LIBTOOLFLAGS=--silent V=1 -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - - name: Build PnetCDF with MIMIC_LUSTRE - run: | - cd ${GITHUB_WORKSPACE} - export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" - export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" - m4 --version - autoconf --version - automake --version - libtool --version - autoreconf -i - mkdir -p pnetcdf_output - ./configure --enable-option-checking=fatal \ - pnc_ac_debug=yes \ - --enable-burst_buffering \ - --enable-subfiling \ - --enable-thread-safe \ - --with-pthread \ - --disable-fortran \ - --with-mpi=${GITHUB_WORKSPACE}/MPICH \ - TESTOUTDIR=${GITHUB_WORKSPACE}/pnetcdf_output \ - MIMIC_LUSTRE=yes - make -j 8 tests - - name: Print config.log - if: ${{ always() }} - run: | - cat ${GITHUB_WORKSPACE}/config.log - - name: make check - run: | - cd ${GITHUB_WORKSPACE} - make check - - name: Print test log files - if: ${{ always() }} - run: | - cd ${GITHUB_WORKSPACE} - fname=`find src test examples benchmarks -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: make ptests - run: | - cd ${GITHUB_WORKSPACE} - make ptests - - name: make distcheck - run: | - cd ${GITHUB_WORKSPACE} - make -j 8 distcheck DISTCHECK_CONFIGURE_FLAGS="--silent --with-mpi=${GITHUB_WORKSPACE}/MPICH" - - name: make install - run: | - cd ${GITHUB_WORKSPACE} - prefix_path=${GITHUB_WORKSPACE}/pnetcdf_install - echo "---- test make install prefix=${prefix_path}" - make install prefix=${prefix_path} - test/tst_install.sh ${prefix_path} - prefix_path="/pnetcdf_install" - destdir_path=${GITHUB_WORKSPACE}/inst - echo "---- test make install prefix=${prefix_path} DESTDIR=${destdir_path}" - make install prefix=${prefix_path} DESTDIR=${destdir_path} - test/tst_install.sh ${prefix_path} ${destdir_path} - - name: Cleanup - if: ${{ always() }} - run: | - cd ${GITHUB_WORKSPACE} - make -s distclean - rm -rf ${GITHUB_WORKSPACE}/pnetcdf_output - rm -rf ${GITHUB_WORKSPACE}/MPICH - rm -rf ${GITHUB_WORKSPACE}/pnetcdf_install - rm -rf ${GITHUB_WORKSPACE}/inst - diff --git a/.github/workflows/mac_openmpi.yml b/.github/workflows/mac_openmpi.yml deleted file mode 100644 index ed38ec162..000000000 --- a/.github/workflows/mac_openmpi.yml +++ /dev/null @@ -1,171 +0,0 @@ -name: Mac OSX with OpenMPI - -on: - push: - branches: [ master, test_github_actions ] - paths-ignore: - - '**/*.md' - - '**/*.txt' - - '**/*.1' - - '**/*.jpg' - - '**/*.png' - - 'docs/*' - - 'test/test_installed/*' - pull_request: - branches: [ master, test_github_actions ] - paths-ignore: - - '**/*.md' - - '**/*.txt' - - '**/*.1' - - '**/*.jpg' - - '**/*.png' - - 'docs/*' - - 'test/test_installed/*' - -env: - OPENMPI_VERSION: 5.0.8 - AUTOCONF_VERSION: 2.71 - AUTOMAKE_VERSION: 1.17 - LIBTOOL_VERSION: 2.5.4 - M4_VERSION: 1.4.19 - -jobs: - build: - runs-on: macos-latest - timeout-minutes: 120 - steps: - - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 - - name: Set up dependencies - run: | - # brew install gcc - # which gcc - # gcc --version - # which gfortran - - name: Clean up git untracked files - run: | - git clean -fx - - name: Build GNU autotools - run: | - export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" - export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/m4/m4-${M4_VERSION}.tar.gz - gzip -dc m4-${M4_VERSION}.tar.gz | tar -xf - - cd m4-${M4_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz - gzip -dc autoconf-${AUTOCONF_VERSION}.tar.gz | tar -xf - - cd autoconf-${AUTOCONF_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VERSION}.tar.gz - gzip -dc automake-${AUTOMAKE_VERSION}.tar.gz | tar -xf - - cd automake-${AUTOMAKE_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/libtool/libtool-${LIBTOOL_VERSION}.tar.gz - gzip -dc libtool-${LIBTOOL_VERSION}.tar.gz | tar -xf - - cd libtool-${LIBTOOL_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - - name: Build OPENMPI - run: | - cd ${GITHUB_WORKSPACE} - rm -rf OPENMPI ; mkdir OPENMPI ; cd OPENMPI - VER_MAJOR=${OPENMPI_VERSION%.*} - wget -q https://download.open-mpi.org/release/open-mpi/v${VER_MAJOR}/openmpi-${OPENMPI_VERSION}.tar.gz - gzip -dc openmpi-${OPENMPI_VERSION}.tar.gz | tar -xf - - cd openmpi-${OPENMPI_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/OPENMPI \ - --silent \ - --with-io-romio-flags="--with-file-system=ufs" \ - --with-hwloc=internal \ - --with-pmix=internal \ - --with-libevent=internal \ - --disable-mpi-fortran \ - CC=gcc - make -s LIBTOOLFLAGS=--silent V=1 -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - - name: Build PnetCDF - run: | - cd ${GITHUB_WORKSPACE} - export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" - export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" - m4 --version - autoconf --version - automake --version - libtool --version - autoreconf -i - mkdir -p pnetcdf_output - ./configure --enable-option-checking=fatal \ - pnc_ac_debug=yes \ - --enable-burst_buffering \ - --enable-subfiling \ - --enable-thread-safe \ - --with-pthread \ - --disable-fortran \ - --with-mpi=${GITHUB_WORKSPACE}/OPENMPI \ - TESTOUTDIR=${GITHUB_WORKSPACE}/pnetcdf_output - make -j 8 tests - - name: Print config.log - if: ${{ always() }} - run: | - cat ${GITHUB_WORKSPACE}/config.log - - name: make check - run: | - cd ${GITHUB_WORKSPACE} - make check - - name: Print test log files - if: ${{ always() }} - run: | - cd ${GITHUB_WORKSPACE} - fname=`find src test examples benchmarks -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: make ptests - run: | - cd ${GITHUB_WORKSPACE} - make ptests - - name: make distcheck - run: | - cd ${GITHUB_WORKSPACE} - make -j 8 distcheck DISTCHECK_CONFIGURE_FLAGS="--silent --with-mpi=${GITHUB_WORKSPACE}/OPENMPI" - - name: make install - run: | - cd ${GITHUB_WORKSPACE} - prefix_path=${GITHUB_WORKSPACE}/pnetcdf_install - echo "---- test make install prefix=${prefix_path}" - make install prefix=${prefix_path} - test/tst_install.sh ${prefix_path} - prefix_path="/pnetcdf_install" - destdir_path=${GITHUB_WORKSPACE}/inst - echo "---- test make install prefix=${prefix_path} DESTDIR=${destdir_path}" - make install prefix=${prefix_path} DESTDIR=${destdir_path} - test/tst_install.sh ${prefix_path} ${destdir_path} - - name: Cleanup - if: ${{ always() }} - run: | - cd ${GITHUB_WORKSPACE} - make -s distclean - rm -rf ${GITHUB_WORKSPACE}/pnetcdf_output - rm -rf ${GITHUB_WORKSPACE}/OPENMPI - rm -rf ${GITHUB_WORKSPACE}/pnetcdf_install - rm -rf ${GITHUB_WORKSPACE}/inst - diff --git a/.github/workflows/mac_openmpi_lustre.yml b/.github/workflows/mac_openmpi_lustre.yml deleted file mode 100644 index 90c4c96e6..000000000 --- a/.github/workflows/mac_openmpi_lustre.yml +++ /dev/null @@ -1,172 +0,0 @@ -name: Mac OSX with OpenMPI (MIMIC_LUSTRE) - -on: - push: - branches: [ master, test_github_actions ] - paths-ignore: - - '**/*.md' - - '**/*.txt' - - '**/*.1' - - '**/*.jpg' - - '**/*.png' - - 'docs/*' - - 'test/test_installed/*' - pull_request: - branches: [ master, test_github_actions ] - paths-ignore: - - '**/*.md' - - '**/*.txt' - - '**/*.1' - - '**/*.jpg' - - '**/*.png' - - 'docs/*' - - 'test/test_installed/*' - -env: - OPENMPI_VERSION: 5.0.8 - AUTOCONF_VERSION: 2.71 - AUTOMAKE_VERSION: 1.17 - LIBTOOL_VERSION: 2.5.4 - M4_VERSION: 1.4.19 - -jobs: - build: - runs-on: macos-latest - timeout-minutes: 120 - steps: - - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 - - name: Set up dependencies - run: | - # brew install gcc - # which gcc - # gcc --version - # which gfortran - - name: Clean up git untracked files - run: | - git clean -fx - - name: Build GNU autotools - run: | - export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" - export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/m4/m4-${M4_VERSION}.tar.gz - gzip -dc m4-${M4_VERSION}.tar.gz | tar -xf - - cd m4-${M4_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz - gzip -dc autoconf-${AUTOCONF_VERSION}.tar.gz | tar -xf - - cd autoconf-${AUTOCONF_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VERSION}.tar.gz - gzip -dc automake-${AUTOMAKE_VERSION}.tar.gz | tar -xf - - cd automake-${AUTOMAKE_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/libtool/libtool-${LIBTOOL_VERSION}.tar.gz - gzip -dc libtool-${LIBTOOL_VERSION}.tar.gz | tar -xf - - cd libtool-${LIBTOOL_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - - name: Build OPENMPI - run: | - cd ${GITHUB_WORKSPACE} - rm -rf OPENMPI ; mkdir OPENMPI ; cd OPENMPI - VER_MAJOR=${OPENMPI_VERSION%.*} - wget -q https://download.open-mpi.org/release/open-mpi/v${VER_MAJOR}/openmpi-${OPENMPI_VERSION}.tar.gz - gzip -dc openmpi-${OPENMPI_VERSION}.tar.gz | tar -xf - - cd openmpi-${OPENMPI_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/OPENMPI \ - --silent \ - --with-io-romio-flags="--with-file-system=ufs" \ - --with-hwloc=internal \ - --with-pmix=internal \ - --with-libevent=internal \ - --disable-mpi-fortran \ - CC=gcc - make -s LIBTOOLFLAGS=--silent V=1 -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - - name: Build PnetCDF (MIMIC_LUSTRE) - run: | - cd ${GITHUB_WORKSPACE} - export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" - export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" - m4 --version - autoconf --version - automake --version - libtool --version - autoreconf -i - mkdir -p pnetcdf_output - ./configure --enable-option-checking=fatal \ - pnc_ac_debug=yes \ - --enable-burst_buffering \ - --enable-subfiling \ - --enable-thread-safe \ - --with-pthread \ - --disable-fortran \ - --with-mpi=${GITHUB_WORKSPACE}/OPENMPI \ - TESTOUTDIR=${GITHUB_WORKSPACE}/pnetcdf_output \ - MIMIC_LUSTRE=yes - make -j 8 tests - - name: Print config.log - if: ${{ always() }} - run: | - cat ${GITHUB_WORKSPACE}/config.log - - name: make check - run: | - cd ${GITHUB_WORKSPACE} - make check - - name: Print test log files - if: ${{ always() }} - run: | - cd ${GITHUB_WORKSPACE} - fname=`find src test examples benchmarks -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: make ptests - run: | - cd ${GITHUB_WORKSPACE} - make ptests - - name: make distcheck - run: | - cd ${GITHUB_WORKSPACE} - make -j 8 distcheck DISTCHECK_CONFIGURE_FLAGS="--silent --with-mpi=${GITHUB_WORKSPACE}/OPENMPI" - - name: make install - run: | - cd ${GITHUB_WORKSPACE} - prefix_path=${GITHUB_WORKSPACE}/pnetcdf_install - echo "---- test make install prefix=${prefix_path}" - make install prefix=${prefix_path} - test/tst_install.sh ${prefix_path} - prefix_path="/pnetcdf_install" - destdir_path=${GITHUB_WORKSPACE}/inst - echo "---- test make install prefix=${prefix_path} DESTDIR=${destdir_path}" - make install prefix=${prefix_path} DESTDIR=${destdir_path} - test/tst_install.sh ${prefix_path} ${destdir_path} - - name: Cleanup - if: ${{ always() }} - run: | - cd ${GITHUB_WORKSPACE} - make -s distclean - rm -rf ${GITHUB_WORKSPACE}/pnetcdf_output - rm -rf ${GITHUB_WORKSPACE}/OPENMPI - rm -rf ${GITHUB_WORKSPACE}/pnetcdf_install - rm -rf ${GITHUB_WORKSPACE}/inst - diff --git a/.github/workflows/ubuntu_mpich.yml b/.github/workflows/ubuntu_mpich.yml deleted file mode 100644 index c39a431ec..000000000 --- a/.github/workflows/ubuntu_mpich.yml +++ /dev/null @@ -1,183 +0,0 @@ -name: ubuntu_mpich - -on: - push: - branches: master - paths-ignore: - - '**/*.md' - - '**/*.txt' - - '**/*.1' - - 'docs/*' - - 'test/test_installed/*' - pull_request: - branches: master - paths-ignore: - - '**/*.md' - - '**/*.txt' - - '**/*.1' - - 'docs/*' - - 'test/test_installed/*' - -env: - MPICH_VERSION: 4.3.0 - AUTOCONF_VERSION: 2.71 - AUTOMAKE_VERSION: 1.17 - LIBTOOL_VERSION: 2.5.4 - M4_VERSION: 1.4.19 - -jobs: - build: - runs-on: ubuntu-latest - timeout-minutes: 120 - steps: - - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 - - name: Set up dependencies - run: | - sudo apt-get update - # install gfortran - version=12 - sudo add-apt-repository ppa:ubuntu-toolchain-r/test - sudo apt-get update - sudo apt-get install -y gcc-${version} gfortran-${version} - sudo update-alternatives \ - --install /usr/bin/gcc gcc /usr/bin/gcc-${version} 100 \ - --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-${version} \ - --slave /usr/bin/gcov gcov /usr/bin/gcov-${version} - echo "---- gcc/gfortran version ------------------------------" - which gcc - which gfortran - gcc --version - gfortran --version - - name: Clean up git untracked files - run: | - git clean -fx - - name: Build GNU autotools - run: | - export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" - export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/m4/m4-${M4_VERSION}.tar.gz - gzip -dc m4-${M4_VERSION}.tar.gz | tar -xf - - cd m4-${M4_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz - gzip -dc autoconf-${AUTOCONF_VERSION}.tar.gz | tar -xf - - cd autoconf-${AUTOCONF_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VERSION}.tar.gz - gzip -dc automake-${AUTOMAKE_VERSION}.tar.gz | tar -xf - - cd automake-${AUTOMAKE_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/libtool/libtool-${LIBTOOL_VERSION}.tar.gz - gzip -dc libtool-${LIBTOOL_VERSION}.tar.gz | tar -xf - - cd libtool-${LIBTOOL_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - - name: Build MPICH - run: | - cd ${GITHUB_WORKSPACE} - echo "Install MPICH ${MPICH_VERSION} in ${GITHUB_WORKSPACE}/MPICH" - rm -rf MPICH ; mkdir MPICH ; cd MPICH - # git clone -q https://github.com/pmodels/mpich.git - # cd mpich - # git submodule update --init - # ./autogen.sh - 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-romio \ - --with-file-system=ufs \ - --with-device=ch3:sock \ - --enable-fortran \ - CC=gcc FC=gfortran \ - FFLAGS=-fallow-argument-mismatch \ - FCFLAGS=-fallow-argument-mismatch - make -s LIBTOOLFLAGS=--silent V=1 -j 4 install > qout 2>&1 - make -s -j 4 distclean >> qout 2>&1 - - name: Build PnetCDF - run: | - cd ${GITHUB_WORKSPACE} - export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" - export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" - m4 --version - autoconf --version - automake --version - libtool --version - autoreconf -i - mkdir -p pnetcdf_output - ./configure --prefix=${GITHUB_WORKSPACE}/PnetCDF \ - --enable-option-checking=fatal \ - pnc_ac_debug=yes \ - --enable-burst_buffering \ - --enable-subfiling \ - --enable-thread-safe \ - --with-pthread \ - --with-mpi=${GITHUB_WORKSPACE}/MPICH \ - TESTOUTDIR=${GITHUB_WORKSPACE}/pnetcdf_output - make -j 8 tests - - name: Print config.log - if: ${{ always() }} - run: | - cat ${GITHUB_WORKSPACE}/config.log - - name: make check - run: | - cd ${GITHUB_WORKSPACE} - make check - - name: Print test log files - if: ${{ always() }} - run: | - cd ${GITHUB_WORKSPACE} - fname=`find src test examples benchmarks -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: make ptests - run: | - cd ${GITHUB_WORKSPACE} - make ptests - - name: make distcheck - run: | - cd ${GITHUB_WORKSPACE} - make -j 8 distcheck DISTCHECK_CONFIGURE_FLAGS="--silent --with-mpi=${GITHUB_WORKSPACE}/MPICH" - - name: make install - run: | - cd ${GITHUB_WORKSPACE} - prefix_path=${GITHUB_WORKSPACE}/pnetcdf_install - echo "---- test make install prefix=${prefix_path}" - make install prefix=${prefix_path} - test/tst_install.sh ${prefix_path} - prefix_path="/pnetcdf_install" - destdir_path=${GITHUB_WORKSPACE}/inst - echo "---- test make install prefix=${prefix_path} DESTDIR=${destdir_path}" - make install prefix=${prefix_path} DESTDIR=${destdir_path} - test/tst_install.sh ${prefix_path} ${destdir_path} - - name: Cleanup - if: ${{ always() }} - run: | - cd ${GITHUB_WORKSPACE} - make -s distclean - rm -rf ${GITHUB_WORKSPACE}/pnetcdf_output - rm -rf ${GITHUB_WORKSPACE}/MPICH - rm -rf ${GITHUB_WORKSPACE}/pnetcdf_install - rm -rf ${GITHUB_WORKSPACE}/inst - diff --git a/.github/workflows/ubuntu_mpich_lustre.yml b/.github/workflows/ubuntu_mpich_lustre.yml deleted file mode 100644 index bbf4d8661..000000000 --- a/.github/workflows/ubuntu_mpich_lustre.yml +++ /dev/null @@ -1,184 +0,0 @@ -name: ubuntu_mpich (MIMIC_LUSTRE) - -on: - push: - branches: master - paths-ignore: - - '**/*.md' - - '**/*.txt' - - '**/*.1' - - 'docs/*' - - 'test/test_installed/*' - pull_request: - branches: master - paths-ignore: - - '**/*.md' - - '**/*.txt' - - '**/*.1' - - 'docs/*' - - 'test/test_installed/*' - -env: - MPICH_VERSION: 4.3.0 - AUTOCONF_VERSION: 2.71 - AUTOMAKE_VERSION: 1.17 - LIBTOOL_VERSION: 2.5.4 - M4_VERSION: 1.4.19 - -jobs: - build: - runs-on: ubuntu-latest - timeout-minutes: 120 - steps: - - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 - - name: Set up dependencies - run: | - sudo apt-get update - # install gfortran - version=12 - sudo add-apt-repository ppa:ubuntu-toolchain-r/test - sudo apt-get update - sudo apt-get install -y gcc-${version} gfortran-${version} - sudo update-alternatives \ - --install /usr/bin/gcc gcc /usr/bin/gcc-${version} 100 \ - --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-${version} \ - --slave /usr/bin/gcov gcov /usr/bin/gcov-${version} - echo "---- gcc/gfortran version ------------------------------" - which gcc - which gfortran - gcc --version - gfortran --version - - name: Clean up git untracked files - run: | - git clean -fx - - name: Build GNU autotools - run: | - export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" - export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/m4/m4-${M4_VERSION}.tar.gz - gzip -dc m4-${M4_VERSION}.tar.gz | tar -xf - - cd m4-${M4_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz - gzip -dc autoconf-${AUTOCONF_VERSION}.tar.gz | tar -xf - - cd autoconf-${AUTOCONF_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VERSION}.tar.gz - gzip -dc automake-${AUTOMAKE_VERSION}.tar.gz | tar -xf - - cd automake-${AUTOMAKE_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/libtool/libtool-${LIBTOOL_VERSION}.tar.gz - gzip -dc libtool-${LIBTOOL_VERSION}.tar.gz | tar -xf - - cd libtool-${LIBTOOL_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - - name: Build MPICH - run: | - cd ${GITHUB_WORKSPACE} - echo "Install MPICH ${MPICH_VERSION} in ${GITHUB_WORKSPACE}/MPICH" - rm -rf MPICH ; mkdir MPICH ; cd MPICH - # git clone -q https://github.com/pmodels/mpich.git - # cd mpich - # git submodule update --init - # ./autogen.sh - 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-romio \ - --with-file-system=ufs \ - --with-device=ch3:sock \ - --enable-fortran \ - CC=gcc FC=gfortran \ - FFLAGS=-fallow-argument-mismatch \ - FCFLAGS=-fallow-argument-mismatch - make -s LIBTOOLFLAGS=--silent V=1 -j 4 install > qout 2>&1 - make -s -j 4 distclean >> qout 2>&1 - - name: Build PnetCDF (MIMIC_LUSTRE) - run: | - cd ${GITHUB_WORKSPACE} - export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" - export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" - m4 --version - autoconf --version - automake --version - libtool --version - autoreconf -i - mkdir -p pnetcdf_output - ./configure --prefix=${GITHUB_WORKSPACE}/PnetCDF \ - --enable-option-checking=fatal \ - pnc_ac_debug=yes \ - --enable-burst_buffering \ - --enable-subfiling \ - --enable-thread-safe \ - --with-pthread \ - --with-mpi=${GITHUB_WORKSPACE}/MPICH \ - TESTOUTDIR=${GITHUB_WORKSPACE}/pnetcdf_output \ - MIMIC_LUSTRE=yes - make -j 8 tests - - name: Print config.log - if: ${{ always() }} - run: | - cat ${GITHUB_WORKSPACE}/config.log - - name: make check - run: | - cd ${GITHUB_WORKSPACE} - make check - - name: Print test log files - if: ${{ always() }} - run: | - cd ${GITHUB_WORKSPACE} - fname=`find src test examples benchmarks -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: make ptests - run: | - cd ${GITHUB_WORKSPACE} - make ptests - - name: make distcheck - run: | - cd ${GITHUB_WORKSPACE} - make -j 8 distcheck DISTCHECK_CONFIGURE_FLAGS="--silent --with-mpi=${GITHUB_WORKSPACE}/MPICH" - - name: make install - run: | - cd ${GITHUB_WORKSPACE} - prefix_path=${GITHUB_WORKSPACE}/pnetcdf_install - echo "---- test make install prefix=${prefix_path}" - make install prefix=${prefix_path} - test/tst_install.sh ${prefix_path} - prefix_path="/pnetcdf_install" - destdir_path=${GITHUB_WORKSPACE}/inst - echo "---- test make install prefix=${prefix_path} DESTDIR=${destdir_path}" - make install prefix=${prefix_path} DESTDIR=${destdir_path} - test/tst_install.sh ${prefix_path} ${destdir_path} - - name: Cleanup - if: ${{ always() }} - run: | - cd ${GITHUB_WORKSPACE} - make -s distclean - rm -rf ${GITHUB_WORKSPACE}/pnetcdf_output - rm -rf ${GITHUB_WORKSPACE}/MPICH - rm -rf ${GITHUB_WORKSPACE}/pnetcdf_install - rm -rf ${GITHUB_WORKSPACE}/inst - diff --git a/.github/workflows/ubuntu_openmpi.yml b/.github/workflows/ubuntu_openmpi.yml deleted file mode 100644 index f7529974c..000000000 --- a/.github/workflows/ubuntu_openmpi.yml +++ /dev/null @@ -1,177 +0,0 @@ -name: ubuntu_openmpi - -on: - push: - branches: master - paths-ignore: - - '**/*.md' - - '**/*.txt' - - '**/*.1' - - 'docs/*' - - 'test/test_installed/*' - pull_request: - branches: master - paths-ignore: - - '**/*.md' - - '**/*.txt' - - '**/*.1' - - 'docs/*' - - 'test/test_installed/*' - -env: - OPENMPI_VERSION: 5.0.8 - AUTOCONF_VERSION: 2.71 - AUTOMAKE_VERSION: 1.17 - LIBTOOL_VERSION: 2.5.4 - M4_VERSION: 1.4.19 - -jobs: - build: - runs-on: ubuntu-latest - timeout-minutes: 120 - steps: - - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 - - name: Set up dependencies - run: | - sudo apt-get update - # install gfortran - version=12 - sudo add-apt-repository ppa:ubuntu-toolchain-r/test - sudo apt-get update - sudo apt-get install -y gcc-${version} gfortran-${version} - sudo update-alternatives \ - --install /usr/bin/gcc gcc /usr/bin/gcc-${version} 100 \ - --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-${version} \ - --slave /usr/bin/gcov gcov /usr/bin/gcov-${version} - echo "---- gcc/gfortran version ------------------------------" - which gcc - which gfortran - gcc --version - gfortran --version - - name: Clean up git untracked files - run: | - git clean -fx - - name: Build GNU autotools - run: | - export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" - export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/m4/m4-${M4_VERSION}.tar.gz - gzip -dc m4-${M4_VERSION}.tar.gz | tar -xf - - cd m4-${M4_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz - gzip -dc autoconf-${AUTOCONF_VERSION}.tar.gz | tar -xf - - cd autoconf-${AUTOCONF_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VERSION}.tar.gz - gzip -dc automake-${AUTOMAKE_VERSION}.tar.gz | tar -xf - - cd automake-${AUTOMAKE_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/libtool/libtool-${LIBTOOL_VERSION}.tar.gz - gzip -dc libtool-${LIBTOOL_VERSION}.tar.gz | tar -xf - - cd libtool-${LIBTOOL_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - - name: Build OPENMPI - run: | - cd ${GITHUB_WORKSPACE} - echo "Install OPENMPI ${OPENMPI_VERSION} in ${GITHUB_WORKSPACE}/OPENMPI" - rm -rf OPENMPI ; mkdir OPENMPI ; cd OPENMPI - VER_MAJOR=${OPENMPI_VERSION%.*} - wget -q https://download.open-mpi.org/release/open-mpi/v${VER_MAJOR}/openmpi-${OPENMPI_VERSION}.tar.gz - gzip -dc openmpi-${OPENMPI_VERSION}.tar.gz | tar -xf - - cd openmpi-${OPENMPI_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/OPENMPI \ - --silent \ - --with-io-romio-flags="--with-file-system=ufs" \ - CC=gcc \ - FC=gfortran \ - FCFLAGS=-fallow-argument-mismatch - make -s LIBTOOLFLAGS=--silent V=1 -j 4 install > qout 2>&1 - make -s -j 4 distclean >> qout 2>&1 - - name: Build PnetCDF - run: | - cd ${GITHUB_WORKSPACE} - export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" - export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" - m4 --version - autoconf --version - automake --version - libtool --version - autoreconf -i - mkdir -p pnetcdf_output - ./configure --prefix=${GITHUB_WORKSPACE}/PnetCDF \ - --enable-option-checking=fatal \ - pnc_ac_debug=yes \ - --enable-burst_buffering \ - --enable-subfiling \ - --enable-thread-safe \ - --with-pthread \ - --with-mpi=${GITHUB_WORKSPACE}/OPENMPI \ - TESTOUTDIR=${GITHUB_WORKSPACE}/pnetcdf_output - make -j 8 tests - - name: Print config.log - if: ${{ always() }} - run: | - cat ${GITHUB_WORKSPACE}/config.log - - name: make check - run: | - cd ${GITHUB_WORKSPACE} - make check - - name: Print test log files - if: ${{ always() }} - run: | - cd ${GITHUB_WORKSPACE} - fname=`find src test examples benchmarks -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: make ptests - run: | - cd ${GITHUB_WORKSPACE} - make ptests - - name: make distcheck - run: | - cd ${GITHUB_WORKSPACE} - make -j 8 distcheck DISTCHECK_CONFIGURE_FLAGS="--silent --with-mpi=${GITHUB_WORKSPACE}/OPENMPI" - - name: make install - run: | - cd ${GITHUB_WORKSPACE} - prefix_path=${GITHUB_WORKSPACE}/pnetcdf_install - echo "---- test make install prefix=${prefix_path}" - make install prefix=${prefix_path} - test/tst_install.sh ${prefix_path} - prefix_path="/pnetcdf_install" - destdir_path=${GITHUB_WORKSPACE}/inst - echo "---- test make install prefix=${prefix_path} DESTDIR=${destdir_path}" - make install prefix=${prefix_path} DESTDIR=${destdir_path} - test/tst_install.sh ${prefix_path} ${destdir_path} - - name: Cleanup - if: ${{ always() }} - run: | - cd ${GITHUB_WORKSPACE} - make -s distclean - rm -rf ${GITHUB_WORKSPACE}/pnetcdf_output - rm -rf ${GITHUB_WORKSPACE}/OPENMPI - rm -rf ${GITHUB_WORKSPACE}/pnetcdf_install - rm -rf ${GITHUB_WORKSPACE}/inst - diff --git a/.github/workflows/ubuntu_openmpi_adios.yml b/.github/workflows/ubuntu_openmpi_adios.yml deleted file mode 100644 index dfd840c55..000000000 --- a/.github/workflows/ubuntu_openmpi_adios.yml +++ /dev/null @@ -1,193 +0,0 @@ -name: ubuntu_openmpi_adios - -on: - push: - branches: master - paths-ignore: - - '**/*.md' - - '**/*.txt' - - '**/*.1' - - 'docs/*' - - 'test/test_installed/*' - pull_request: - branches: master - paths-ignore: - - '**/*.md' - - '**/*.txt' - - '**/*.1' - - 'docs/*' - - 'test/test_installed/*' - -env: - OPENMPI_VERSION: 5.0.8 - AUTOCONF_VERSION: 2.71 - AUTOMAKE_VERSION: 1.17 - LIBTOOL_VERSION: 2.5.4 - M4_VERSION: 1.4.19 - ADIOS_VERSION: 1.13.1 - -jobs: - build: - runs-on: ubuntu-latest - timeout-minutes: 120 - steps: - - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 - - name: Set up dependencies - run: | - sudo apt-get update - # install gfortran - version=12 - sudo add-apt-repository ppa:ubuntu-toolchain-r/test - sudo apt-get update - sudo apt-get install -y gcc-${version} gfortran-${version} - sudo update-alternatives \ - --install /usr/bin/gcc gcc /usr/bin/gcc-${version} 100 \ - --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-${version} \ - --slave /usr/bin/gcov gcov /usr/bin/gcov-${version} - echo "---- gcc/gfortran version ------------------------------" - which gcc - which gfortran - gcc --version - gfortran --version - - name: Clean up git untracked files - run: | - git clean -fx - - name: Build GNU autotools - run: | - export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" - export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/m4/m4-${M4_VERSION}.tar.gz - gzip -dc m4-${M4_VERSION}.tar.gz | tar -xf - - cd m4-${M4_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz - gzip -dc autoconf-${AUTOCONF_VERSION}.tar.gz | tar -xf - - cd autoconf-${AUTOCONF_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VERSION}.tar.gz - gzip -dc automake-${AUTOMAKE_VERSION}.tar.gz | tar -xf - - cd automake-${AUTOMAKE_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/libtool/libtool-${LIBTOOL_VERSION}.tar.gz - gzip -dc libtool-${LIBTOOL_VERSION}.tar.gz | tar -xf - - cd libtool-${LIBTOOL_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - - name: Build OPENMPI - run: | - cd ${GITHUB_WORKSPACE} - echo "Install OPENMPI ${OPENMPI_VERSION} in ${GITHUB_WORKSPACE}/OPENMPI" - rm -rf OPENMPI ; mkdir OPENMPI ; cd OPENMPI - VER_MAJOR=${OPENMPI_VERSION%.*} - wget -q https://download.open-mpi.org/release/open-mpi/v${VER_MAJOR}/openmpi-${OPENMPI_VERSION}.tar.gz - gzip -dc openmpi-${OPENMPI_VERSION}.tar.gz | tar -xf - - cd openmpi-${OPENMPI_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/OPENMPI \ - --silent \ - --with-io-romio-flags="--with-file-system=ufs" \ - CC=gcc \ - FC=gfortran \ - FCFLAGS=-fallow-argument-mismatch - make -s LIBTOOLFLAGS=--silent V=1 -j 4 install > qout 2>&1 - make -s -j 4 distclean >> qout 2>&1 - - name: Build ADIOS - run: | - cd ${GITHUB_WORKSPACE} - export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${GITHUB_WORKSPACE}/OPENMPI/bin:${PATH}" - wget -q https://users.nccs.gov/~pnorbert/adios-${ADIOS_VERSION}.tar.gz - gzip -dc adios-${ADIOS_VERSION}.tar.gz | tar -xf - - cd adios-${ADIOS_VERSION} - #autoreconf -i - mkdir build && cd build - ../configure --prefix=${GITHUB_WORKSPACE}/ADIOS \ - --with-mpi=${GITHUB_WORKSPACE}/OPENMPI \ - --disable-fortran - make -j 4 >> qout 2>&1 - make -j 4 install >> qout 2>&1 - - name: Build PnetCDF - run: | - cd ${GITHUB_WORKSPACE} - export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" - export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" - m4 --version - autoconf --version - automake --version - libtool --version - autoreconf -i - mkdir -p pnetcdf_output - ./configure --prefix=${GITHUB_WORKSPACE}/PnetCDF \ - --enable-option-checking=fatal \ - pnc_ac_debug=yes \ - --enable-burst_buffering \ - --enable-subfiling \ - --enable-thread-safe \ - --with-pthread \ - --with-mpi=${GITHUB_WORKSPACE}/OPENMPI \ - --with-adios=${GITHUB_WORKSPACE}/ADIOS \ - TESTOUTDIR=${GITHUB_WORKSPACE}/pnetcdf_output - make -j 8 tests - - name: Print config.log - if: ${{ always() }} - run: | - cat ${GITHUB_WORKSPACE}/config.log - - name: make check - run: | - cd ${GITHUB_WORKSPACE} - make check - - name: Print test log files - if: ${{ always() }} - run: | - cd ${GITHUB_WORKSPACE} - fname=`find src test examples benchmarks -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: make ptests - run: | - cd ${GITHUB_WORKSPACE} - make ptests - - name: make distcheck - run: | - cd ${GITHUB_WORKSPACE} - make -j 8 distcheck DISTCHECK_CONFIGURE_FLAGS="--silent --with-mpi=${GITHUB_WORKSPACE}/OPENMPI" - - name: make install - run: | - cd ${GITHUB_WORKSPACE} - prefix_path=${GITHUB_WORKSPACE}/pnetcdf_install - echo "---- test make install prefix=${prefix_path}" - make install prefix=${prefix_path} - test/tst_install.sh ${prefix_path} - prefix_path="/pnetcdf_install" - destdir_path=${GITHUB_WORKSPACE}/inst - echo "---- test make install prefix=${prefix_path} DESTDIR=${destdir_path}" - make install prefix=${prefix_path} DESTDIR=${destdir_path} - test/tst_install.sh ${prefix_path} ${destdir_path} - - name: Cleanup - if: ${{ always() }} - run: | - cd ${GITHUB_WORKSPACE} - make -s distclean - rm -rf ${GITHUB_WORKSPACE}/pnetcdf_output - rm -rf ${GITHUB_WORKSPACE}/OPENMPI - rm -rf ${GITHUB_WORKSPACE}/pnetcdf_install - rm -rf ${GITHUB_WORKSPACE}/inst - diff --git a/.github/workflows/ubuntu_openmpi_lustre.yml b/.github/workflows/ubuntu_openmpi_lustre.yml deleted file mode 100644 index 2c51b4354..000000000 --- a/.github/workflows/ubuntu_openmpi_lustre.yml +++ /dev/null @@ -1,178 +0,0 @@ -name: ubuntu_openmpi (MIMIC_LUSTRE) - -on: - push: - branches: master - paths-ignore: - - '**/*.md' - - '**/*.txt' - - '**/*.1' - - 'docs/*' - - 'test/test_installed/*' - pull_request: - branches: master - paths-ignore: - - '**/*.md' - - '**/*.txt' - - '**/*.1' - - 'docs/*' - - 'test/test_installed/*' - -env: - OPENMPI_VERSION: 5.0.8 - AUTOCONF_VERSION: 2.71 - AUTOMAKE_VERSION: 1.17 - LIBTOOL_VERSION: 2.5.4 - M4_VERSION: 1.4.19 - -jobs: - build: - runs-on: ubuntu-latest - timeout-minutes: 120 - steps: - - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 - - name: Set up dependencies - run: | - sudo apt-get update - # install gfortran - version=12 - sudo add-apt-repository ppa:ubuntu-toolchain-r/test - sudo apt-get update - sudo apt-get install -y gcc-${version} gfortran-${version} - sudo update-alternatives \ - --install /usr/bin/gcc gcc /usr/bin/gcc-${version} 100 \ - --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-${version} \ - --slave /usr/bin/gcov gcov /usr/bin/gcov-${version} - echo "---- gcc/gfortran version ------------------------------" - which gcc - which gfortran - gcc --version - gfortran --version - - name: Clean up git untracked files - run: | - git clean -fx - - name: Build GNU autotools - run: | - export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" - export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/m4/m4-${M4_VERSION}.tar.gz - gzip -dc m4-${M4_VERSION}.tar.gz | tar -xf - - cd m4-${M4_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz - gzip -dc autoconf-${AUTOCONF_VERSION}.tar.gz | tar -xf - - cd autoconf-${AUTOCONF_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VERSION}.tar.gz - gzip -dc automake-${AUTOMAKE_VERSION}.tar.gz | tar -xf - - cd automake-${AUTOMAKE_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - cd ${GITHUB_WORKSPACE} - wget -q https://ftp.gnu.org/gnu/libtool/libtool-${LIBTOOL_VERSION}.tar.gz - gzip -dc libtool-${LIBTOOL_VERSION}.tar.gz | tar -xf - - cd libtool-${LIBTOOL_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/AUTOTOOLS \ - --silent - make -s -j 8 install > qout 2>&1 - make -s -j 8 distclean >> qout 2>&1 - - name: Build OPENMPI - run: | - cd ${GITHUB_WORKSPACE} - echo "Install OPENMPI ${OPENMPI_VERSION} in ${GITHUB_WORKSPACE}/OPENMPI" - rm -rf OPENMPI ; mkdir OPENMPI ; cd OPENMPI - VER_MAJOR=${OPENMPI_VERSION%.*} - wget -q https://download.open-mpi.org/release/open-mpi/v${VER_MAJOR}/openmpi-${OPENMPI_VERSION}.tar.gz - gzip -dc openmpi-${OPENMPI_VERSION}.tar.gz | tar -xf - - cd openmpi-${OPENMPI_VERSION} - ./configure --prefix=${GITHUB_WORKSPACE}/OPENMPI \ - --silent \ - --with-io-romio-flags="--with-file-system=ufs" \ - CC=gcc \ - FC=gfortran \ - FCFLAGS=-fallow-argument-mismatch - make -s LIBTOOLFLAGS=--silent V=1 -j 4 install > qout 2>&1 - make -s -j 4 distclean >> qout 2>&1 - - name: Build PnetCDF (MIMIC_LUSTRE) - run: | - cd ${GITHUB_WORKSPACE} - export PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/bin:${PATH}" - export LD_LIBRARY_PATH="${GITHUB_WORKSPACE}/AUTOTOOLS/lib:${LD_LIBRARY_PATH}" - m4 --version - autoconf --version - automake --version - libtool --version - autoreconf -i - mkdir -p pnetcdf_output - ./configure --prefix=${GITHUB_WORKSPACE}/PnetCDF \ - --enable-option-checking=fatal \ - pnc_ac_debug=yes \ - --enable-burst_buffering \ - --enable-subfiling \ - --enable-thread-safe \ - --with-pthread \ - --with-mpi=${GITHUB_WORKSPACE}/OPENMPI \ - TESTOUTDIR=${GITHUB_WORKSPACE}/pnetcdf_output \ - MIMIC_LUSTRE=yes - make -j 8 tests - - name: Print config.log - if: ${{ always() }} - run: | - cat ${GITHUB_WORKSPACE}/config.log - - name: make check - run: | - cd ${GITHUB_WORKSPACE} - make check - - name: Print test log files - if: ${{ always() }} - run: | - cd ${GITHUB_WORKSPACE} - fname=`find src test examples benchmarks -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: make ptests - run: | - cd ${GITHUB_WORKSPACE} - make ptests - - name: make distcheck - run: | - cd ${GITHUB_WORKSPACE} - make -j 8 distcheck DISTCHECK_CONFIGURE_FLAGS="--silent --with-mpi=${GITHUB_WORKSPACE}/OPENMPI" - - name: make install - run: | - cd ${GITHUB_WORKSPACE} - prefix_path=${GITHUB_WORKSPACE}/pnetcdf_install - echo "---- test make install prefix=${prefix_path}" - make install prefix=${prefix_path} - test/tst_install.sh ${prefix_path} - prefix_path="/pnetcdf_install" - destdir_path=${GITHUB_WORKSPACE}/inst - echo "---- test make install prefix=${prefix_path} DESTDIR=${destdir_path}" - make install prefix=${prefix_path} DESTDIR=${destdir_path} - test/tst_install.sh ${prefix_path} ${destdir_path} - - name: Cleanup - if: ${{ always() }} - run: | - cd ${GITHUB_WORKSPACE} - make -s distclean - rm -rf ${GITHUB_WORKSPACE}/pnetcdf_output - rm -rf ${GITHUB_WORKSPACE}/OPENMPI - rm -rf ${GITHUB_WORKSPACE}/pnetcdf_install - rm -rf ${GITHUB_WORKSPACE}/inst -