Skip to content

Commit

Permalink
Merge develop to feature/sparse_data (#5154)
Browse files Browse the repository at this point in the history
  • Loading branch information
fortnern authored Nov 27, 2024
1 parent 892d866 commit 333a336
Show file tree
Hide file tree
Showing 2,300 changed files with 104,953 additions and 27,213 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
# help@hdfgroup.org.
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
18 changes: 6 additions & 12 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,21 +90,15 @@ 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

call-release-auto-julia:
name: "Autotools Julia Workflows"
uses: ./.github/workflows/julia-auto.yml
with:
build_mode: "production"
# call-release-auto-julia:
# name: "Autotools Julia Workflows"
# uses: ./.github/workflows/julia-auto.yml
# with:
# build_mode: "production"

# workflow-msys2-autotools:
# name: "CMake msys2 Workflows"
Expand Down
95 changes: 95 additions & 0 deletions .github/workflows/build_mpich_source.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Build MPICH from source using the latest commit on the
# 'main' branch and cache the results. The result is compressed
# into a 'mpich.tar' archive to preserve permissions and
# then is uploaded as the artifact 'mpich' which can later
# be downloaded with 'actions/download-artifact' and then
# uncompressed with 'tar xvf mpich.tar -C <directory>'

# Triggers the workflow on a call from another workflow
on:
workflow_call:
inputs:
build_mode:
description: "Release 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/checkout@v4.1.7
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) (Release)
if: ${{ steps.cache-mpich-ubuntu-gcc.outputs.cache-hit != 'true' && (inputs.build_mode == 'Release') }}
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.outputs.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
- name: Tar MPICH installation to preserve permissions for artifact
run: tar -cvf mpich.tar -C ${{ runner.workspace }} mpich

- name: Save MPICH installation artifact
uses: actions/upload-artifact@v4
with:
name: mpich
path: mpich.tar
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
88 changes: 88 additions & 0 deletions .github/workflows/build_openmpi_source.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# Build OpenMPI from source using the latest commit on the
# 'main' branch and cache the results. The result is compressed
# into a 'openmpi.tar' archive to preserve permissions and
# then is uploaded as the artifact 'openmpi' which can later
# be downloaded with 'actions/download-artifact' and then
# uncompressed with 'tar xvf openmpi.tar -C <directory>'

# Triggers the workflow on a call from another workflow
on:
workflow_call:
inputs:
build_mode:
description: "Release 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/checkout@v4.1.7
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) (Release)
if: ${{ steps.cache-openmpi-ubuntu-gcc.outputs.cache-hit != 'true' && (inputs.build_mode == 'Release') }}
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.outputs.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
- name: Tar OpenMPI installation to preserve permissions for artifact
run: tar -cvf openmpi.tar -C ${{ runner.workspace }} openmpi

- name: Save OpenMPI installation artifact
uses: actions/upload-artifact@v4
with:
name: openmpi
path: openmpi.tar
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
Loading

0 comments on commit 333a336

Please sign in to comment.