Skip to content

Commit

Permalink
Merge branch 'develop' into 4964
Browse files Browse the repository at this point in the history
  • Loading branch information
brtnfld committed Oct 31, 2024
2 parents aa809a5 + 61c7dda commit 4159bc0
Show file tree
Hide file tree
Showing 2,033 changed files with 18,023 additions and 12,236 deletions.
2 changes: 1 addition & 1 deletion .autom4te.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the COPYING file, which can be found at the root of the source code
# the LICENSE file, which can be found at the root of the source code
# distribution tree, or in https://www.hdfgroup.org/licenses.
# If you do not have access to either file, you may request a copy from
# [email protected].
Expand Down
1 change: 0 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ hl/tools/gif2h5/testfiles/ex_image2.h5 -text
hl/tools/gif2h5/testfiles/h52giftst.h5 -text
hl/tools/gif2h5/testfiles/image1.gif -text
java/CMakeLists.txt -text
java/COPYING -text
java/Makefile.am -text
java/examples/CMakeLists.txt -text
java/examples/Makefile.am -text
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/abi-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,15 +51,15 @@ jobs:
- name: Get published binary (Linux)
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
name: tgz-ubuntu-2204_gcc-binary
name: tgz-ubuntu-2404_gcc-binary
path: ${{ github.workspace }}

- name: List files for the space (Linux)
run: |
ls -l ${{ github.workspace }}
- name: Uncompress gh binary (Linux)
run: tar -zxvf ${{ github.workspace }}/${{ inputs.file_base }}-ubuntu-2204_gcc.tar.gz
run: tar -zxvf ${{ github.workspace }}/${{ inputs.file_base }}-ubuntu-2404_gcc.tar.gz

- name: Uncompress hdf5 binary (Linux)
run: |
Expand All @@ -84,8 +84,8 @@ jobs:
run: |
mkdir "${{ github.workspace }}/hdf5R"
cd "${{ github.workspace }}/hdf5R"
wget -q https://github.com/HDFGroup/hdf5/releases/download/hdf5_${{ inputs.file_ref }}/hdf5-${{ steps.convert-hdf5lib-refname.outputs.HDF5R_DOTS }}-ubuntu-2204_gcc.tar.gz
tar zxf hdf5-${{ steps.convert-hdf5lib-refname.outputs.HDF5R_DOTS }}-ubuntu-2204_gcc.tar.gz
wget -q https://github.com/HDFGroup/hdf5/releases/download/hdf5_${{ inputs.file_ref }}/hdf5-${{ steps.convert-hdf5lib-refname.outputs.HDF5R_DOTS }}-ubuntu-2404_gcc.tar.gz
tar zxf hdf5-${{ steps.convert-hdf5lib-refname.outputs.HDF5R_DOTS }}-ubuntu-2404_gcc.tar.gz
- name: List files for the space (Linux)
run: |
Expand Down
8 changes: 1 addition & 7 deletions .github/workflows/autotools.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ on:
- 'doc/**'
- 'release_docs/**'
- 'ACKNOWLEDGEMENTS'
- 'COPYING**'
- 'LICENSE**'
- '**.md'

# Using concurrency to cancel any in-progress job or run
Expand Down Expand Up @@ -90,12 +90,6 @@ jobs:
with:
build_mode: "production"

call-release-auto-cygwin:
name: "Autotools Cygwin Workflows"
uses: ./.github/workflows/cygwin-auto.yml
with:
build_mode: "production"

call-release-auto-xpr:
name: "Autotools TestExpress Workflows"
uses: ./.github/workflows/testxpr-auto.yml
Expand Down
82 changes: 82 additions & 0 deletions .github/workflows/build_mpich_source.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Build MPICH from source using the latest commit on the
# 'main' branch and cache the results. The result is installed
# to (or restored to) '${{ runner.workspace }}/mpich'.

# Triggers the workflow on a call from another workflow
on:
workflow_call:
inputs:
build_mode:
description: "production vs. debug build"
required: true
type: string

permissions:
contents: read

jobs:
ubuntu_gcc_build_and_test:
name: "Build MPICH ${{ inputs.build_mode }} (GCC)"

runs-on: ubuntu-latest

steps:
- name: Install Linux dependencies
run: |
sudo apt-get update
sudo apt-get install build-essential libtool libtool-bin
- name: Get MPICH source
uses: actions/[email protected]
with:
repository: 'pmodels/mpich'
path: 'mpich'
submodules: recursive

- name: Get MPICH commit hash
shell: bash
id: get-sha
run: |
cd $GITHUB_WORKSPACE/mpich
export MPICH_SHA=$(git rev-parse HEAD)
echo "MPICH_SHA=$MPICH_SHA" >> $GITHUB_ENV
echo "sha=$MPICH_SHA" >> $GITHUB_OUTPUT
# Output SHA for debugging
echo "MPICH_SHA=$MPICH_SHA"
- name: Cache MPICH (GCC) installation
id: cache-mpich-ubuntu-gcc
uses: actions/cache@v4
with:
path: ${{ runner.workspace }}/mpich
key: ${{ runner.os }}-${{ runner.arch }}-gcc-mpich-${{ steps.get-sha.outputs.sha }}-${{ inputs.build_mode }}

# Enable threads=multiple for testing with Subfiling and
# VOL connectors that require MPI_THREAD_MULTIPLE
- name: Install MPICH (GCC) (Production)
if: ${{ steps.cache-mpich-ubuntu-gcc.cache-hit != 'true' && (inputs.build_mode != 'debug') }}
run: |
cd $GITHUB_WORKSPACE/mpich
./autogen.sh
./configure \
CC=gcc \
--prefix=${{ runner.workspace }}/mpich \
--enable-threads=multiple
make -j2
make install
# Enable threads=multiple for testing with Subfiling and
# VOL connectors that require MPI_THREAD_MULTIPLE
- name: Install MPICH (GCC) (Debug)
if: ${{ steps.cache-mpich-ubuntu-gcc.cache-hit != 'true' && (inputs.build_mode == 'debug') }}
run: |
cd $GITHUB_WORKSPACE/mpich
./autogen.sh
./configure \
CC=gcc \
--prefix=${{ runner.workspace }}/mpich \
--enable-g=most \
--enable-debuginfo \
--enable-threads=multiple
make -j2
make install
75 changes: 75 additions & 0 deletions .github/workflows/build_openmpi_source.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Build OpenMPI from source using the latest commit on the
# 'main' branch and cache the results. The result is installed
# to (or restored to) '${{ runner.workspace }}/openmpi'.

# Triggers the workflow on a call from another workflow
on:
workflow_call:
inputs:
build_mode:
description: "production vs. debug build"
required: true
type: string

permissions:
contents: read

jobs:
ubuntu_gcc_build_and_test:
name: "Build OpenMPI ${{ inputs.build_mode }} (GCC)"

runs-on: ubuntu-latest

steps:
- name: Install Linux dependencies
run: |
sudo apt-get update
sudo apt-get install build-essential libtool libtool-bin
- name: Get OpenMPI source
uses: actions/[email protected]
with:
repository: 'open-mpi/ompi'
path: 'ompi'
submodules: recursive

- name: Get OpenMPI commit hash
shell: bash
id: get-sha
run: |
cd $GITHUB_WORKSPACE/ompi
export OPENMPI_SHA=$(git rev-parse HEAD)
echo "OPENMPI_SHA=$OPENMPI_SHA" >> $GITHUB_ENV
echo "sha=$OPENMPI_SHA" >> $GITHUB_OUTPUT
# Output SHA for debugging
echo "OPENMPI_SHA=$OPENMPI_SHA"
- name: Cache OpenMPI (GCC) installation
id: cache-openmpi-ubuntu-gcc
uses: actions/cache@v4
with:
path: ${{ runner.workspace }}/openmpi
key: ${{ runner.os }}-${{ runner.arch }}-gcc-openmpi-${{ steps.get-sha.outputs.sha }}-${{ inputs.build_mode }}

- name: Install OpenMPI (GCC) (Production)
if: ${{ steps.cache-openmpi-ubuntu-gcc.cache-hit != 'true' && (inputs.build_mode != 'debug') }}
run: |
cd $GITHUB_WORKSPACE/ompi
./autogen.pl
./configure \
CC=gcc \
--prefix=${{ runner.workspace }}/openmpi
make -j2
make install
- name: Install OpenMPI (GCC) (Debug)
if: ${{ steps.cache-openmpi-ubuntu-gcc.cache-hit != 'true' && (inputs.build_mode == 'debug') }}
run: |
cd $GITHUB_WORKSPACE/ompi
./autogen.pl
./configure \
CC=gcc \
--prefix=${{ runner.workspace }}/openmpi \
--enable-debug
make -j2
make install
16 changes: 8 additions & 8 deletions .github/workflows/cmake-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ jobs:
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_STATIC_LIBS:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_JAVA:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_CPP_LIB:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_COVERAGE:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCODE_COVERAGE:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=ON")
Expand All @@ -106,7 +106,7 @@ jobs:
- name: Run ctest (Linux_coverage)
run: |
cd "${{ runner.workspace }}/hdf5"
ctest -S HDF5config.cmake,CTEST_SITE_EXT=GH_COV,LOCAL_SUBMIT=ON,NINJA=TRUE,BUILD_GENERATOR=Unix,CTEST_SOURCE_NAME=${{ steps.set-file-base.outputs.SOURCE_BASE }} -C Debug -VV -O hdf5.log
ctest -S HDF5config.cmake,CTEST_SITE_EXT=${{ github.event.repository.full_name }}_COV,LOCAL_SUBMIT=ON,NINJA=TRUE,BUILD_GENERATOR=Unix,CTEST_SOURCE_NAME=${{ steps.set-file-base.outputs.SOURCE_BASE }} -C Debug -VV -O hdf5.log
shell: bash
continue-on-error: true

Expand Down Expand Up @@ -195,7 +195,7 @@ jobs:
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_CPP_LIB:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SANITIZERS:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DUSE_SANITIZER:STRING=Leak")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_USE_SANITIZER:STRING=Leak")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_ENCODING:BOOL=OFF")
Expand All @@ -206,7 +206,7 @@ jobs:
- name: Run ctest (Linux_Leak)
run: |
cd "${{ runner.workspace }}/hdf5"
ctest -S HDF5config.cmake,CTEST_SITE_EXT=GH-LEAK,LOCAL_SUBMIT=ON,NINJA=TRUE,BUILD_GENERATOR=Unix,CTEST_SOURCE_NAME=${{ steps.set-file-base.outputs.SOURCE_BASE }} -C Debug -VV -O hdf5.log
ctest -S HDF5config.cmake,CTEST_SITE_EXT=${{ github.event.repository.full_name }}-LEAK,LOCAL_SUBMIT=ON,NINJA=TRUE,BUILD_GENERATOR=Unix,CTEST_SOURCE_NAME=${{ steps.set-file-base.outputs.SOURCE_BASE }} -C Debug -VV -O hdf5.log
shell: bash
continue-on-error: true

Expand Down Expand Up @@ -295,7 +295,7 @@ jobs:
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_CPP_LIB:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SANITIZERS:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DUSE_SANITIZER:STRING=Address")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_USE_SANITIZER:STRING=Address")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_ENCODING:BOOL=OFF")
Expand All @@ -306,7 +306,7 @@ jobs:
- name: Run ctest (Linux_Address)
run: |
cd "${{ runner.workspace }}/hdf5"
ctest -S HDF5config.cmake,CTEST_SITE_EXT=GH-ADDR,LOCAL_SUBMIT=ON,NINJA=TRUE,BUILD_GENERATOR=Unix,CTEST_SOURCE_NAME=${{ steps.set-file-base.outputs.SOURCE_BASE }} -C Debug -VV -O hdf5.log
ctest -S HDF5config.cmake,CTEST_SITE_EXT=${{ github.event.repository.full_name }}-ADDR,LOCAL_SUBMIT=ON,NINJA=TRUE,BUILD_GENERATOR=Unix,CTEST_SOURCE_NAME=${{ steps.set-file-base.outputs.SOURCE_BASE }} -C Debug -VV -O hdf5.log
shell: bash
continue-on-error: true

Expand Down Expand Up @@ -395,7 +395,7 @@ jobs:
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_CPP_LIB:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SANITIZERS:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DUSE_SANITIZER:STRING=Undefined")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_USE_SANITIZER:STRING=Undefined")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_ENCODING:BOOL=OFF")
Expand All @@ -406,7 +406,7 @@ jobs:
- name: Run ctest (Linux_UndefinedBehavior)
run: |
cd "${{ runner.workspace }}/hdf5"
ctest -S HDF5config.cmake,CTEST_SITE_EXT=GH-UNDEF,LOCAL_SUBMIT=ON,NINJA=TRUE,BUILD_GENERATOR=Unix,CTEST_SOURCE_NAME=${{ steps.set-file-base.outputs.SOURCE_BASE }} -C Debug -VV -O hdf5.log
ctest -S HDF5config.cmake,CTEST_SITE_EXT=${{ github.event.repository.full_name }}-UNDEF,LOCAL_SUBMIT=ON,NINJA=TRUE,BUILD_GENERATOR=Unix,CTEST_SOURCE_NAME=${{ steps.set-file-base.outputs.SOURCE_BASE }} -C Debug -VV -O hdf5.log
shell: bash
continue-on-error: true

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cmake-bintest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ jobs:
- name: Get published binary (Linux)
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
name: tgz-ubuntu-2204_gcc-${{ inputs.build_mode }}-binary
name: tgz-ubuntu-2404_gcc-${{ inputs.build_mode }}-binary
path: ${{ github.workspace }}

- name: Uncompress hdf5 binary (Linux)
Expand Down
Loading

0 comments on commit 4159bc0

Please sign in to comment.