Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/develop' into refactor_h5fd_and_…
Browse files Browse the repository at this point in the history
…packages
  • Loading branch information
qkoziol committed Oct 3, 2024
2 parents cac599e + 626f639 commit ee7073f
Show file tree
Hide file tree
Showing 51 changed files with 385 additions and 102 deletions.
180 changes: 180 additions & 0 deletions .github/workflows/main-cmake-spc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,66 @@ jobs:
#
# - name: CMake Run Tests
# run: ctest . --parallel 2 -C Debug -V
# working-directory: ${{ runner.workspace }}/build

build_v1_8:
name: "gcc DBG v1.8 default API"
runs-on: ubuntu-latest
steps:
# SETUP
- name: Install Linux Dependencies
run: |
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
echo "CC=gcc-12" >> $GITHUB_ENV
echo "CXX=g++-12" >> $GITHUB_ENV
echo "FC=gfortran-12" >> $GITHUB_ENV
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/[email protected]

#
# CMAKE CONFIGURE
#
- name: CMake Configure
run: |
mkdir "${{ runner.workspace }}/build"
cd "${{ runner.workspace }}/build"
cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake \
-G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DBUILD_SHARED_LIBS=ON \
-DHDF5_ENABLE_ALL_WARNINGS=ON \
-DHDF5_ENABLE_PARALLEL:BOOL=OFF \
-DHDF5_BUILD_CPP_LIB:BOOL=ON \
-DHDF5_BUILD_FORTRAN=ON \
-DHDF5_BUILD_JAVA=ON \
-DHDF5_BUILD_DOC=OFF \
-DLIBAEC_USE_LOCALCONTENT=OFF \
-DZLIB_USE_LOCALCONTENT=OFF \
-DHDF5_ENABLE_MIRROR_VFD:BOOL=ON \
-DHDF5_ENABLE_DIRECT_VFD:BOOL=ON \
-DHDF5_ENABLE_ROS3_VFD:BOOL=ON \
-DH5_NO_DEPRECATED_SYMBOLS:BOOL=OFF \
-DDEFAULT_API_VERSION:STRING=v18 \
$GITHUB_WORKSPACE
shell: bash

#
# BUILD
#
- name: CMake Build
run: cmake --build . --parallel 3 --config Debug
working-directory: ${{ runner.workspace }}/build

#
# RUN TESTS - disable until some tests are fixed
#
# - name: CMake Run Tests
# run: ctest . --parallel 2 -C Debug -V
# working-directory: ${{ runner.workspace }}/build

build_v1_10:
Expand Down Expand Up @@ -199,6 +259,126 @@ jobs:
run: ctest . --parallel 2 -C Debug -V
working-directory: ${{ runner.workspace }}/build

build_v1_14:
name: "gcc DBG v1.14 default API"
runs-on: ubuntu-latest
steps:
# SETUP
- name: Install Linux Dependencies
run: |
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
echo "CC=gcc-12" >> $GITHUB_ENV
echo "CXX=g++-12" >> $GITHUB_ENV
echo "FC=gfortran-12" >> $GITHUB_ENV
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/[email protected]

#
# CMAKE CONFIGURE
#
- name: CMake Configure
run: |
mkdir "${{ runner.workspace }}/build"
cd "${{ runner.workspace }}/build"
cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake \
-G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DBUILD_SHARED_LIBS=ON \
-DHDF5_ENABLE_ALL_WARNINGS=ON \
-DHDF5_ENABLE_PARALLEL:BOOL=OFF \
-DHDF5_BUILD_CPP_LIB:BOOL=ON \
-DHDF5_BUILD_FORTRAN=ON \
-DHDF5_BUILD_JAVA=ON \
-DHDF5_BUILD_DOC=OFF \
-DLIBAEC_USE_LOCALCONTENT=OFF \
-DZLIB_USE_LOCALCONTENT=OFF \
-DHDF5_ENABLE_MIRROR_VFD:BOOL=ON \
-DHDF5_ENABLE_DIRECT_VFD:BOOL=ON \
-DHDF5_ENABLE_ROS3_VFD:BOOL=ON \
-DH5_NO_DEPRECATED_SYMBOLS:BOOL=OFF \
-DDEFAULT_API_VERSION:STRING=v114 \
$GITHUB_WORKSPACE
shell: bash

#
# BUILD
#
- name: CMake Build
run: cmake --build . --parallel 3 --config Debug
working-directory: ${{ runner.workspace }}/build

#
# RUN TESTS
#
- name: CMake Run Tests
run: ctest . --parallel 2 -C Debug -V
working-directory: ${{ runner.workspace }}/build

build_v1_16:
name: "gcc DBG v1.16 default API"
runs-on: ubuntu-latest
steps:
# SETUP
- name: Install Linux Dependencies
run: |
sudo apt-get update
sudo apt-get install ninja-build doxygen graphviz
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
sudo apt install gcc-12 g++-12 gfortran-12
echo "CC=gcc-12" >> $GITHUB_ENV
echo "CXX=g++-12" >> $GITHUB_ENV
echo "FC=gfortran-12" >> $GITHUB_ENV
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
uses: actions/[email protected]

#
# CMAKE CONFIGURE
#
- name: CMake Configure
run: |
mkdir "${{ runner.workspace }}/build"
cd "${{ runner.workspace }}/build"
cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake \
-G Ninja \
-DCMAKE_BUILD_TYPE=Debug \
-DBUILD_SHARED_LIBS=ON \
-DHDF5_ENABLE_ALL_WARNINGS=ON \
-DHDF5_ENABLE_PARALLEL:BOOL=OFF \
-DHDF5_BUILD_CPP_LIB:BOOL=ON \
-DHDF5_BUILD_FORTRAN=ON \
-DHDF5_BUILD_JAVA=ON \
-DHDF5_BUILD_DOC=OFF \
-DLIBAEC_USE_LOCALCONTENT=OFF \
-DZLIB_USE_LOCALCONTENT=OFF \
-DHDF5_ENABLE_MIRROR_VFD:BOOL=ON \
-DHDF5_ENABLE_DIRECT_VFD:BOOL=ON \
-DHDF5_ENABLE_ROS3_VFD:BOOL=ON \
-DH5_NO_DEPRECATED_SYMBOLS:BOOL=OFF \
-DDEFAULT_API_VERSION:STRING=v116 \
$GITHUB_WORKSPACE
shell: bash

#
# BUILD
#
- name: CMake Build
run: cmake --build . --parallel 3 --config Debug
working-directory: ${{ runner.workspace }}/build

#
# RUN TESTS
#
- name: CMake Run Tests
run: ctest . --parallel 2 -C Debug -V
working-directory: ${{ runner.workspace }}/build

build_zlibng:
name: "gcc use zlib-ng filter"
runs-on: ubuntu-latest
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/publish-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,7 @@ jobs:
run: |
aws s3 sync ./${{ inputs.file_name }}.doxygen s3://${{ secrets.AWS_S3_BUCKET }}/${{ vars.TARGET_PATH }}/${{ inputs.target_dir }}/documentation/doxygen --delete
- name: Sync userguide to latest S3 bucket
run: |
aws s3 sync ./${{ inputs.file_name }}.doxygen s3://${{ secrets.AWS_S3_BUCKET }}/documentation/hdf5/latest --delete
2 changes: 1 addition & 1 deletion .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,6 @@ jobs:

# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6
uses: github/codeql-action/upload-sarif@e2b3eafc8d227b0241d48be5f425d47c2d750a13 # v3.26.10
with:
sarif_file: results.sarif
19 changes: 13 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -856,9 +856,8 @@ if (HDF5_ENABLE_SUBFILING_VFD)
endif()


#option (DEFAULT_API_VERSION "Enable v1.16 API (v16, v18, v110, v112, v114, v116)" "v116")
set (DEFAULT_API_VERSION "v116" CACHE STRING "Enable v1.16 API (v16, v18, v110, v112, v114, v116)")
set_property (CACHE DEFAULT_API_VERSION PROPERTY STRINGS v16 v18 v110 v112 v114 v116)
set (DEFAULT_API_VERSION "v118" CACHE STRING "Enable v1.16 API (v16, v18, v110, v112, v114, v116, v118)")
set_property (CACHE DEFAULT_API_VERSION PROPERTY STRINGS v16 v18 v110 v112 v114 v116 v118)
#-----------------------------------------------------------------------------
# Option to use 1.6.x API
#-----------------------------------------------------------------------------
Expand Down Expand Up @@ -902,14 +901,22 @@ endif ()
#-----------------------------------------------------------------------------
# Option to use 1.16.x API
#-----------------------------------------------------------------------------
if (NOT DEFAULT_API_VERSION)
set (DEFAULT_API_VERSION "v116")
endif ()
set (H5_USE_116_API_DEFAULT 0)
if (DEFAULT_API_VERSION MATCHES "v116")
set (H5_USE_116_API_DEFAULT 1)
endif ()

#-----------------------------------------------------------------------------
# Option to use 1.18.x API
#-----------------------------------------------------------------------------
if (NOT DEFAULT_API_VERSION)
set (DEFAULT_API_VERSION "v118")
endif ()
set (H5_USE_118_API_DEFAULT 0)
if (DEFAULT_API_VERSION MATCHES "v118")
set (H5_USE_118_API_DEFAULT 1)
endif ()

#-----------------------------------------------------------------------------
# Include user macros
#-----------------------------------------------------------------------------
Expand Down
15 changes: 14 additions & 1 deletion HDF5Examples/C/TUTR/testh5cc.sh.in
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ H5_USE_110_API_DEFAULT=`grep '#define H5_USE_110_API_DEFAULT ' ../src/H5pubconf.
H5_USE_112_API_DEFAULT=`grep '#define H5_USE_112_API_DEFAULT ' ../src/H5pubconf.h`
H5_USE_114_API_DEFAULT=`grep '#define H5_USE_114_API_DEFAULT ' ../src/H5pubconf.h`
H5_USE_116_API_DEFAULT=`grep '#define H5_USE_116_API_DEFAULT ' ../src/H5pubconf.h`
H5_USE_118_API_DEFAULT=`grep '#define H5_USE_118_API_DEFAULT ' ../src/H5pubconf.h`

# setup my machine information.
myos=`uname -s`
Expand Down Expand Up @@ -483,6 +484,8 @@ elif [ -n "$H5_USE_114_API_DEFAULT" ]; then
echo "H5_USE_114_API_DEFAULT is defined."
elif [ -n "$H5_USE_116_API_DEFAULT" ]; then
echo "H5_USE_116_API_DEFAULT is defined."
elif [ -n "$H5_USE_118_API_DEFAULT" ]; then
echo "H5_USE_118_API_DEFAULT is defined."
else
echo "No H5 API_DEFAULT is defined."
fi
Expand Down Expand Up @@ -523,17 +526,27 @@ elif [ -n "$H5_USE_114_API_DEFAULT" ]; then
TOOLTEST -DH5_USE_110_API_DEFAULT $v110main
TOOLTEST -DH5_USE_112_API_DEFAULT $v112main
TOOLTEST $v114main
else
elif [ -n "$H5_USE_116_API_DEFAULT" ]; then
echo "Testing HDF5 with 116_API_DEFAULT"
TOOLTEST -DH5_USE_16_API_DEFAULT $v16main
TOOLTEST -DH5_USE_18_API_DEFAULT $v18main
TOOLTEST -DH5_USE_110_API_DEFAULT $v110main
TOOLTEST -DH5_USE_112_API_DEFAULT $v112main
TOOLTEST -DH5_USE_114_API_DEFAULT $v114main
TOOLTEST $v116main
else
echo "Testing HDF5 with 118_API_DEFAULT"
TOOLTEST -DH5_USE_16_API_DEFAULT $v16main
TOOLTEST -DH5_USE_18_API_DEFAULT $v18main
TOOLTEST -DH5_USE_110_API_DEFAULT $v110main
TOOLTEST -DH5_USE_112_API_DEFAULT $v112main
TOOLTEST -DH5_USE_114_API_DEFAULT $v114main
TOOLTEST -DH5_USE_116_API_DEFAULT $v116main
TOOLTEST $v18main
TOOLTEST $v110main
TOOLTEST $v112main
TOOLTEST $v114main
TOOLTEST $v116main
fi

# Group 6: # HDF5 program that depends on input args.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
HDF5 version 1.15.0 currently under development
HDF5 version 1.17.0 currently under development

![HDF5 Logo](doxygen/img/HDF5.png)

Expand Down
8 changes: 8 additions & 0 deletions c++/src/H5FaccProp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -713,13 +713,17 @@ FileAccPropList::getFileLocking(hbool_t &use_file_locking, hbool_t &ignore_when_
/// \li \c H5F_LIBVER_110
/// \li \c H5F_LIBVER_112
/// \li \c H5F_LIBVER_114
/// \li \c H5F_LIBVER_116
/// \li \c H5F_LIBVER_118
/// \li \c H5F_LIBVER_LATEST
///
/// Valid values of \a libver_high are as follows:
/// \li \c H5F_LIBVER_18
/// \li \c H5F_LIBVER_110
/// \li \c H5F_LIBVER_112
/// \li \c H5F_LIBVER_114
/// \li \c H5F_LIBVER_116
/// \li \c H5F_LIBVER_118
/// \li \c H5F_LIBVER_LATEST (Default)
///
/// For more detail, please refer to the H5Pset_libver_bounds API in
Expand Down Expand Up @@ -751,13 +755,17 @@ FileAccPropList::setLibverBounds(H5F_libver_t libver_low, H5F_libver_t libver_hi
/// \li \c H5F_LIBVER_110
/// \li \c H5F_LIBVER_112
/// \li \c H5F_LIBVER_114
/// \li \c H5F_LIBVER_116
/// \li \c H5F_LIBVER_118
/// \li \c H5F_LIBVER_LATEST
///
/// and \a libver_high:
/// \li \c H5F_LIBVER_18
/// \li \c H5F_LIBVER_110
/// \li \c H5F_LIBVER_112
/// \li \c H5F_LIBVER_114
/// \li \c H5F_LIBVER_116
/// \li \c H5F_LIBVER_118
/// \li \c H5F_LIBVER_LATEST
//--------------------------------------------------------------------------
void
Expand Down
3 changes: 3 additions & 0 deletions config/cmake/H5pubconf.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -607,6 +607,9 @@
/* Define using v1.16 public API symbols by default */
#cmakedefine H5_USE_116_API_DEFAULT @H5_USE_116_API_DEFAULT@

/* Define using v1.18 public API symbols by default */
#cmakedefine H5_USE_118_API_DEFAULT @H5_USE_118_API_DEFAULT@

/* Define if the library will use file locking */
#cmakedefine H5_USE_FILE_LOCKING @H5_USE_FILE_LOCKING@

Expand Down
2 changes: 2 additions & 0 deletions config/cmake/HDF5ExampleCache.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ elseif (DEFAULT_API_VERSION MATCHES "v114")
set (H5_USE_114_API ON)
elseif (DEFAULT_API_VERSION MATCHES "v116")
set (H5_USE_116_API ON)
elseif (DEFAULT_API_VERSION MATCHES "v118")
set (H5_USE_118_API ON)
endif ()
message (STATUS "HDF5 H5_LIBVER_DIR: ${H5_LIBVER_DIR} HDF5_API_VERSION: ${DEFAULT_API_VERSION}")

Expand Down
2 changes: 1 addition & 1 deletion config/cmake/scripts/HDF5config.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ cmake_minimum_required (VERSION 3.18)
# CTEST_SOURCE_NAME - source folder
##############################################################################

set (CTEST_SOURCE_VERSION "1.15.0")
set (CTEST_SOURCE_VERSION "1.17.0")
set (CTEST_SOURCE_VERSEXT "")

##############################################################################
Expand Down
Loading

0 comments on commit ee7073f

Please sign in to comment.