Skip to content

Commit

Permalink
Merges from develop/1.14 (HDFGroup#3118)
Browse files Browse the repository at this point in the history
* Fix release action that allows files to be uploaded.
Add autotools h5copy help test.
Update cmake tools.cmake file for clang-tidy.
CMake build is missing H5FDsubfiling.h
macros improved for configure output capture.
Remove obsolete files

* Revert parallel config with TS

* Fix doxygen warnings
  • Loading branch information
byrnHDF authored Jun 15, 2023
1 parent dee5daa commit 4a6872c
Show file tree
Hide file tree
Showing 42 changed files with 320 additions and 567 deletions.
12 changes: 10 additions & 2 deletions .github/workflows/cmake-ctest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Install CMake Dependencies (Linux)
run: sudo apt-get install ninja-build
run: sudo apt-get install ninja-build doxygen graphviz

- name: Set file base name (Linux)
id: set-file-base
Expand Down Expand Up @@ -151,14 +151,22 @@ jobs:
path: ${{ runner.workspace }}/build/${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204.tar.gz
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`

# Save doxygen files created by ctest script
- name: Save published doxygen (Linux)
uses: actions/upload-artifact@v3
with:
name: docs-doxygen
path: ${{ runner.workspace }}/hdf5/build/ci-StdShar-GNUC/hdf5lib_docs/html
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`

build_and_test_mac:
# MacOS w/ Clang + CMake
#
name: "MacOS Clang CMake"
runs-on: macos-11
steps:
- name: Install Dependencies (MacOS)
run: brew install ninja
run: brew install ninja doxygen

- name: Set file base name (MacOS)
id: set-file-base
Expand Down
33 changes: 27 additions & 6 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,13 +81,15 @@ jobs:
cpp: ON
fortran: OFF
java: ON
docs: OFF
libaecfc: ON
localaec: OFF
zlibfc: ON
localzlib: OFF
parallel: OFF
mirror_vfd: OFF
direct_vfd: OFF
ros3_vfd: OFF
generator: "-G \"Visual Studio 17 2022\" -A x64"
run_tests: true

Expand All @@ -100,13 +102,15 @@ jobs:
cpp: ON
fortran: ON
java: ON
docs: ON
libaecfc: ON
localaec: OFF
zlibfc: ON
localzlib: OFF
parallel: OFF
mirror_vfd: ON
direct_vfd: ON
ros3_vfd: OFF
toolchain: "config/toolchain/gcc.cmake"
generator: "-G Ninja"
run_tests: true
Expand All @@ -120,9 +124,11 @@ jobs:
cpp: enable
fortran: enable
java: enable
docs: disable
parallel: disable
mirror_vfd: enable
direct_vfd: enable
ros3_vfd: enable
deprec_sym: enable
default_api: v112
szip: yes
Expand All @@ -141,9 +147,11 @@ jobs:
cpp: disable
fortran: enable
java: disable
docs: disable
parallel: enable
mirror_vfd: disable
direct_vfd: disable
ros3_vfd: disable
deprec_sym: enable
default_api: v112
szip: yes
Expand All @@ -161,13 +169,15 @@ jobs:
cpp: ON
fortran: OFF
java: ON
docs: OFF
libaecfc: ON
localaec: OFF
zlibfc: ON
localzlib: OFF
parallel: OFF
mirror_vfd: ON
direct_vfd: OFF
ros3_vfd: OFF
toolchain: "config/toolchain/clang.cmake"
generator: "-G Ninja"
run_tests: true
Expand All @@ -186,9 +196,11 @@ jobs:
cpp: enable
fortran: enable
java: enable
docs: disable
parallel: disable
mirror_vfd: enable
direct_vfd: enable
ros3_vfd: enable
deprec_sym: enable
default_api: v16
szip: yes
Expand All @@ -209,9 +221,11 @@ jobs:
cpp: enable
fortran: enable
java: enable
docs: disable
parallel: disable
mirror_vfd: enable
direct_vfd: enable
ros3_vfd: enable
deprec_sym: enable
default_api: v18
szip: yes
Expand All @@ -232,9 +246,11 @@ jobs:
cpp: enable
fortran: enable
java: enable
docs: disable
parallel: disable
mirror_vfd: enable
direct_vfd: enable
ros3_vfd: enable
deprec_sym: enable
default_api: v110
szip: yes
Expand All @@ -255,9 +271,11 @@ jobs:
cpp: enable
fortran: enable
java: enable
docs: disable
parallel: disable
mirror_vfd: enable
direct_vfd: enable
ros3_vfd: enable
deprec_sym: enable
default_api: v112
szip: yes
Expand All @@ -278,9 +296,11 @@ jobs:
cpp: enable
fortran: enable
java: enable
docs: disable
parallel: disable
mirror_vfd: enable
direct_vfd: enable
ros3_vfd: enable
deprec_sym: disable
default_api: v112
szip: yes
Expand Down Expand Up @@ -317,14 +337,15 @@ jobs:
run: echo '${{ toJSON(matrix) }}'

- name: Install CMake Dependencies (Linux)
run: sudo apt-get install ninja-build
run: sudo apt-get install ninja-build doxygen graphviz
if: matrix.os == 'ubuntu-latest'

- name: Install Autotools Dependencies (Linux, serial)
run: |
sudo apt update
sudo apt install automake autoconf libtool libtool-bin
sudo apt install gcc-12 g++-12 gfortran-12
sudo apt install libssl3 libssl-dev libcurl4 libcurl4-openssl-dev
echo "CC=gcc-12" >> $GITHUB_ENV
echo "CXX=g++-12" >> $GITHUB_ENV
echo "FC=gfortran-12" >> $GITHUB_ENV
Expand All @@ -346,7 +367,7 @@ jobs:
if: matrix.os == 'windows-latest'

- name: Install Dependencies (macOS)
run: brew install ninja
run: brew install ninja doxygen
if: matrix.os == 'macos-13'

- name: Set environment for MSVC (Windows)
Expand All @@ -369,7 +390,7 @@ jobs:
sh ./autogen.sh
mkdir "${{ runner.workspace }}/build"
cd "${{ runner.workspace }}/build"
${{ matrix.flags }} $GITHUB_WORKSPACE/configure --enable-build-mode=${{ matrix.build_mode.autotools }} --${{ matrix.deprec_sym }}-deprecated-symbols --with-default-api-version=${{ matrix.default_api }} --enable-shared --${{ matrix.parallel }}-parallel --${{ matrix.cpp }}-cxx --${{ matrix.fortran }}-fortran --${{ matrix.java }}-java --${{ matrix.mirror_vfd }}-mirror-vfd --${{ matrix.direct_vfd }}-direct-vfd --with-szlib=${{ matrix.szip }}
${{ matrix.flags }} $GITHUB_WORKSPACE/configure --enable-build-mode=${{ matrix.build_mode.autotools }} --${{ matrix.deprec_sym }}-deprecated-symbols --with-default-api-version=${{ matrix.default_api }} --enable-shared --${{ matrix.parallel }}-parallel --${{ matrix.cpp }}-cxx --${{ matrix.fortran }}-fortran --${{ matrix.java }}-java --${{ matrix.mirror_vfd }}-mirror-vfd --${{ matrix.direct_vfd }}-direct-vfd --${{ matrix.ros3_vfd }}-ros3-vfd --with-szlib=${{ matrix.szip }}
shell: bash
if: (matrix.generator == 'autogen') && ! (matrix.thread_safety.enabled)

Expand All @@ -378,7 +399,7 @@ jobs:
sh ./autogen.sh
mkdir "${{ runner.workspace }}/build"
cd "${{ runner.workspace }}/build"
${{ matrix.flags }} $GITHUB_WORKSPACE/configure --enable-build-mode=${{ matrix.build_mode.autotools }} --enable-shared --enable-threadsafe --disable-hl --${{ matrix.mirror_vfd }}-mirror-vfd --${{ matrix.direct_vfd }}-direct-vfd --with-szlib=${{ matrix.szip }}
${{ matrix.flags }} $GITHUB_WORKSPACE/configure --enable-build-mode=${{ matrix.build_mode.autotools }} --enable-shared --enable-threadsafe --disable-hl --${{ matrix.mirror_vfd }}-mirror-vfd --${{ matrix.direct_vfd }}-direct-vfd --${{ matrix.ros3_vfd }}-ros3-vfd --with-szlib=${{ matrix.szip }}
shell: bash
if: (matrix.generator == 'autogen') && (matrix.thread_safety.enabled)

Expand All @@ -390,7 +411,7 @@ jobs:
run: |
mkdir "${{ runner.workspace }}/build"
cd "${{ runner.workspace }}/build"
cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake ${{ matrix.generator }} -DCMAKE_BUILD_TYPE=${{ matrix.build_mode.cmake }} -DCMAKE_TOOLCHAIN_FILE=${{ matrix.toolchain }} -DBUILD_SHARED_LIBS=ON -DHDF5_ENABLE_ALL_WARNINGS=ON -DHDF5_ENABLE_PARALLEL:BOOL=${{ matrix.parallel }} -DHDF5_BUILD_CPP_LIB:BOOL=${{ matrix.cpp }} -DHDF5_BUILD_FORTRAN=${{ matrix.fortran }} -DHDF5_BUILD_JAVA=${{ matrix.java }} -DBUILD_SZIP_WITH_FETCHCONTENT=${{ matrix.libaecfc }} -DLIBAEC_USE_LOCALCONTENT=${{ matrix.localaec }} -DBUILD_ZLIB_WITH_FETCHCONTENT=${{ matrix.zlibfc }} -DZLIB_USE_LOCALCONTENT=${{ matrix.localzlib }} -DHDF5_ENABLE_MIRROR_VFD:BOOL=${{ matrix.mirror_vfd }} -DHDF5_ENABLE_DIRECT_VFD:BOOL=${{ matrix.direct_vfd }} $GITHUB_WORKSPACE
cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake ${{ matrix.generator }} -DCMAKE_BUILD_TYPE=${{ matrix.build_mode.cmake }} -DCMAKE_TOOLCHAIN_FILE=${{ matrix.toolchain }} -DBUILD_SHARED_LIBS=ON -DHDF5_ENABLE_ALL_WARNINGS=ON -DHDF5_ENABLE_PARALLEL:BOOL=${{ matrix.parallel }} -DHDF5_BUILD_CPP_LIB:BOOL=${{ matrix.cpp }} -DHDF5_BUILD_FORTRAN=${{ matrix.fortran }} -DHDF5_BUILD_JAVA=${{ matrix.java }} -DHDF5_BUILD_DOC=${{ matrix.docs }} -DBUILD_SZIP_WITH_FETCHCONTENT=${{ matrix.libaecfc }} -DLIBAEC_USE_LOCALCONTENT=${{ matrix.localaec }} -DBUILD_ZLIB_WITH_FETCHCONTENT=${{ matrix.zlibfc }} -DZLIB_USE_LOCALCONTENT=${{ matrix.localzlib }} -DHDF5_ENABLE_MIRROR_VFD:BOOL=${{ matrix.mirror_vfd }} -DHDF5_ENABLE_DIRECT_VFD:BOOL=${{ matrix.direct_vfd }} -DHDF5_ENABLE_ROS3_VFD:BOOL=${{ matrix.ros3_vfd }} $GITHUB_WORKSPACE
shell: bash
if: (matrix.generator != 'autogen') && ! (matrix.thread_safety.enabled)

Expand All @@ -399,7 +420,7 @@ jobs:
run: |
mkdir "${{ runner.workspace }}/build"
cd "${{ runner.workspace }}/build"
cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake ${{ matrix.generator }} -DCMAKE_BUILD_TYPE=${{ matrix.build_mode.cmake }} -DCMAKE_TOOLCHAIN_FILE=${{ matrix.toolchain }} -DBUILD_SHARED_LIBS=ON -DHDF5_ENABLE_ALL_WARNINGS=ON -DHDF5_ENABLE_THREADSAFE:BOOL=ON -DHDF5_ENABLE_PARALLEL:BOOL=${{ matrix.parallel }} -DHDF5_BUILD_CPP_LIB:BOOL=OFF -DHDF5_BUILD_FORTRAN:BOOL=OFF -DHDF5_BUILD_JAVA:BOOL=OFF -DHDF5_BUILD_HL_LIB:BOOL=OFF -DBUILD_SZIP_WITH_FETCHCONTENT=${{ matrix.libaecfc }} -DLIBAEC_USE_LOCALCONTENT=${{ matrix.localaec }} -DBUILD_ZLIB_WITH_FETCHCONTENT=${{ matrix.zlibfc }} -DZLIB_USE_LOCALCONTENT=${{ matrix.localzlib }} -DHDF5_ENABLE_MIRROR_VFD:BOOL=${{ matrix.mirror_vfd }} -DHDF5_ENABLE_DIRECT_VFD:BOOL=${{ matrix.direct_vfd }} $GITHUB_WORKSPACE
cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake ${{ matrix.generator }} -DCMAKE_BUILD_TYPE=${{ matrix.build_mode.cmake }} -DCMAKE_TOOLCHAIN_FILE=${{ matrix.toolchain }} -DBUILD_SHARED_LIBS=ON -DHDF5_ENABLE_ALL_WARNINGS=ON -DHDF5_ENABLE_THREADSAFE:BOOL=ON -DHDF5_ENABLE_PARALLEL:BOOL=${{ matrix.parallel }} -DHDF5_BUILD_CPP_LIB:BOOL=OFF -DHDF5_BUILD_FORTRAN:BOOL=OFF -DHDF5_BUILD_JAVA:BOOL=OFF -DHDF5_BUILD_HL_LIB:BOOL=OFF -DHDF5_BUILD_DOC=OFF -DBUILD_SZIP_WITH_FETCHCONTENT=${{ matrix.libaecfc }} -DLIBAEC_USE_LOCALCONTENT=${{ matrix.localaec }} -DBUILD_ZLIB_WITH_FETCHCONTENT=${{ matrix.zlibfc }} -DZLIB_USE_LOCALCONTENT=${{ matrix.localzlib }} -DHDF5_ENABLE_MIRROR_VFD:BOOL=${{ matrix.mirror_vfd }} -DHDF5_ENABLE_DIRECT_VFD:BOOL=${{ matrix.direct_vfd }} -DHDF5_ENABLE_ROS3_VFD:BOOL=${{ matrix.ros3_vfd }} $GITHUB_WORKSPACE
shell: bash
if: (matrix.generator != 'autogen') && (matrix.thread_safety.enabled)

Expand Down
34 changes: 15 additions & 19 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,16 +45,26 @@ jobs:
- run: |
echo "Tag already present: ${{ steps.tag_create.outputs.tag_exists }}"
getfiles:
PreRelease-getfiles:
runs-on: ubuntu-latest
needs: create-tag
environment: snapshots_1_12
permissions:
contents: write
steps:
- name: Set file base name
id: set-file-base
- name: Get file base name
id: get-file-base
run: |
FILE_NAME_BASE=$(echo "${{ inputs.file_base }}")
echo "FILE_BASE=$FILE_NAME_BASE" >> $GITHUB_OUTPUT
# Get files created by tarball script
- name: Get doxygen (Linux)
uses: actions/download-artifact@v3
with:
name: docs-doxygen
path: ${{ github.workspace }}/${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen

- name: Get tgz-tarball (Linux)
uses: actions/download-artifact@v3
with:
Expand Down Expand Up @@ -86,27 +96,13 @@ jobs:
name: tgz-ubuntu-2204-binary
path: ${{ github.workspace }}

# Get files used by release script

PreRelease:
runs-on: ubuntu-latest
needs: [create-tag, getfiles]
environment: snapshots_1_12
permissions:
contents: write
steps:
- name: Set file base name
id: get-file-base
run: |
FILE_NAME_BASE=$(echo "${{ inputs.file_base }}")
echo "FILE_BASE=$FILE_NAME_BASE" >> $GITHUB_OUTPUT
- name: PreRelease tag
uses: softprops/action-gh-release@v1
with:
tag_name: "snapshot"
tag_name: "snapshot_1_12"
prerelease: true
files: |
${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen
${{ steps.get-file-base.outputs.FILE_BASE }}.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}.zip
${{ steps.get-file-base.outputs.FILE_BASE }}-osx12.tar.gz
Expand Down
5 changes: 5 additions & 0 deletions config/cmake/ConfigureChecks.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,7 @@ if (MINGW OR NOT WINDOWS)
set (HDF_EXTRA_C_FLAGS ${HDF_EXTRA_C_FLAGS} -D_GNU_SOURCE)

option (HDF_ENABLE_LARGE_FILE "Enable support for large (64-bit) files on Linux." ON)
mark_as_advanced (HDF_ENABLE_LARGE_FILE)
if (HDF_ENABLE_LARGE_FILE AND NOT DEFINED TEST_LFS_WORKS_RUN)
set (msg "Performing TEST_LFS_WORKS")
try_run (TEST_LFS_WORKS_RUN TEST_LFS_WORKS_COMPILE
Expand Down Expand Up @@ -702,6 +703,7 @@ endif ()
# Option for --enable-strict-format-checks
#-----------------------------------------------------------------------------
option (HDF5_STRICT_FORMAT_CHECKS "Whether to perform strict file format checks" OFF)
mark_as_advanced (HDF5_STRICT_FORMAT_CHECKS)
if (HDF5_STRICT_FORMAT_CHECKS)
set (${HDF_PREFIX}_STRICT_FORMAT_CHECKS 1)
endif ()
Expand All @@ -714,6 +716,7 @@ MARK_AS_ADVANCED (HDF5_STRICT_FORMAT_CHECKS)
# support denormalized floating values) to maximize speed.
#-----------------------------------------------------------------------------
option (HDF5_WANT_DATA_ACCURACY "IF data accuracy is guaranteed during data conversions" ON)
mark_as_advanced (HDF5_WANT_DATA_ACCURACY)
if (HDF5_WANT_DATA_ACCURACY)
set (${HDF_PREFIX}_WANT_DATA_ACCURACY 1)
endif ()
Expand All @@ -726,6 +729,7 @@ MARK_AS_ADVANCED (HDF5_WANT_DATA_ACCURACY)
# actually benefit little.
#-----------------------------------------------------------------------------
option (HDF5_WANT_DCONV_EXCEPTION "exception handling functions is checked during data conversions" ON)
mark_as_advanced (HDF5_WANT_DCONV_EXCEPTION)
if (HDF5_WANT_DCONV_EXCEPTION)
set (${HDF_PREFIX}_WANT_DCONV_EXCEPTION 1)
endif ()
Expand All @@ -735,6 +739,7 @@ MARK_AS_ADVANCED (HDF5_WANT_DCONV_EXCEPTION)
# Check if they would like the function stack support compiled in
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_CODESTACK "Enable the function stack tracing (for developer debugging)." OFF)
mark_as_advanced (HDF5_ENABLE_CODESTACK)
if (HDF5_ENABLE_CODESTACK)
set (${HDF_PREFIX}_HAVE_CODESTACK 1)
endif ()
Expand Down
Loading

0 comments on commit 4a6872c

Please sign in to comment.