Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/fix_GH-4730_part5' into fix_GH-4737
Browse files Browse the repository at this point in the history
  • Loading branch information
bmribler committed Aug 29, 2024
2 parents 9ce80a7 + 0db6cc4 commit 50674dd
Show file tree
Hide file tree
Showing 31 changed files with 1,609 additions and 145 deletions.
1 change: 1 addition & 0 deletions .github/workflows/aocc-auto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ jobs:
--enable-build-mode=${{ inputs.build_mode }} \
--enable-shared \
--enable-parallel \
--enable-subfiling-vfd \
LDFLAGS="-L/home/runner/work/hdf5/hdf5/aocc-compiler-4.2.0/lib \
-L/home/runner/work/hdf5/hdf5/openmpi-4.1.6-install/lib"
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/aocc-cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ jobs:
-DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \
-DHDF5_ENABLE_PARALLEL:BOOL=ON \
-DHDF5_ENABLE_SUBFILING_VFD:BOOL=ON \
-DHDF5_BUILD_CPP_LIB:BOOL=OFF \
-DLIBAEC_USE_LOCALCONTENT=OFF \
-DZLIB_USE_LOCALCONTENT=OFF \
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/autotools.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,12 @@ jobs:
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"

# workflow-msys2-autotools:
# name: "CMake msys2 Workflows"
# uses: ./.github/workflows/msys2-auto.yml
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,4 +103,8 @@ jobs:
name: "CMake TestExpress Workflows"
uses: ./.github/workflows/testxpr-cmake.yml


call-release-cmake-julia:
name: "CMake Julia Workflows"
uses: ./.github/workflows/julia-cmake.yml
with:
build_mode: "Release"
3 changes: 2 additions & 1 deletion .github/workflows/intel-auto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,8 @@ jobs:
$GITHUB_WORKSPACE/configure \
--enable-build-mode=${{ inputs.build_mode }} \
--enable-shared \
--disable-fortran
--enable-cxx \
--enable-fortran
- name: Autotools Build
shell: bash
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/intel-cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,13 @@ jobs:
run: |
mkdir "${{ runner.workspace }}/build"
cd "${{ runner.workspace }}/build"
cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake \
-G Ninja \
--log-level=VERBOSE \
cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake -G Ninja --log-level=VERBOSE \
-DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \
-DHDF5_BUILD_FORTRAN:BOOL=ON \
-DHDF5_BUILD_CPP_LIB:BOOL=ON \
-DLIBAEC_USE_LOCALCONTENT=OFF \
-DZLIB_USE_LOCALCONTENT=OFF \
$GITHUB_WORKSPACE
${{ github.workspace }}
- name: CMake Build (Linux)
shell: bash
Expand Down Expand Up @@ -97,7 +97,7 @@ jobs:
run: |
mkdir "${{ runner.workspace }}/build"
Set-Location -Path "${{ runner.workspace }}\\build"
cmake -C ${{ github.workspace }}/config/cmake/cacheinit.cmake -G Ninja -DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} -DHDF5_BUILD_FORTRAN=ON -DLIBAEC_USE_LOCALCONTENT=OFF -DZLIB_USE_LOCALCONTENT=OFF ${{ github.workspace }}
cmake -C ${{ github.workspace }}/config/cmake/cacheinit.cmake -G Ninja -DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} -DHDF5_BUILD_FORTRAN=ON -DHDF5_BUILD_CPP_LIB=ON -DLIBAEC_USE_LOCALCONTENT=OFF -DZLIB_USE_LOCALCONTENT=OFF ${{ github.workspace }}
- name: CMake Build (Windows)
shell: pwsh
Expand Down
79 changes: 79 additions & 0 deletions .github/workflows/julia-auto.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: hdf5 dev autotools julia

on:
workflow_call:
inputs:
build_mode:
description: "release vs. debug build"
required: true
type: string

permissions:
contents: read

jobs:
julia_build_and_test:
name: "julia ${{ inputs.build_mode }}"
runs-on: ubuntu-latest
steps:
- name: Get Sources
uses: actions/[email protected]

- name: Install Dependencies
shell: bash
run: |
sudo apt-get update
sudo apt-get install autoconf automake libtool libtool-bin libaec-dev
sudo apt-get install doxygen graphviz
sudo apt install -y zlib1g-dev libcurl4-openssl-dev libjpeg-dev wget curl bzip2
sudo apt install -y m4 flex bison cmake libzip-dev openssl build-essential
- name: Autotools Configure
shell: bash
run: |
sh ./autogen.sh
mkdir "${{ runner.workspace }}/build"
cd "${{ runner.workspace }}/build"
$GITHUB_WORKSPACE/configure \
--enable-build-mode=${{ inputs.build_mode }} \
--disable-fortran \
--enable-shared \
--disable-parallel \
--prefix=/tmp
- name: Autotools Build
shell: bash
run: |
make -j3
working-directory: ${{ runner.workspace }}/build

- name: Install HDF5
shell: bash
run: |
make install
working-directory: ${{ runner.workspace }}/build

- name: Install julia
uses: julia-actions/setup-julia@latest
with:
version: '1.6'
arch: 'x64'

- name: Get julia hdf5 source
uses: actions/[email protected]
with:
repository: JuliaIO/HDF5.jl
path: .

- name: Generate LocalPreferences
run: |
echo '[HDF5]' >> LocalPreferences.toml
echo 'libhdf5 = "/tmp/lib/libhdf5.so"' >> LocalPreferences.toml
echo 'libhdf5_hl = "/tmp/lib/libhdf5_hl.so"' >> LocalPreferences.toml
- uses: julia-actions/julia-buildpkg@latest

- name: Julia Run Tests
uses: julia-actions/julia-runtest@latest
env:
JULIA_DEBUG: Main
82 changes: 82 additions & 0 deletions .github/workflows/julia-cmake.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: hdf5 dev CMake julia

on:
workflow_call:
inputs:
build_mode:
description: "release vs. debug build"
required: true
type: string

permissions:
contents: read

jobs:
julia_build_and_test:
name: "julia ${{ inputs.build_mode }}"
runs-on: ubuntu-latest
steps:
- name: Get Sources
uses: actions/[email protected]

- name: Install Dependencies
shell: bash
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 -y libaec-dev zlib1g-dev wget curl bzip2 flex bison cmake libzip-dev openssl build-essential
- name: CMake Configure
shell: bash
run: |
mkdir "${{ runner.workspace }}/build"
cd "${{ runner.workspace }}/build"
cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake -G Ninja \
-DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \
-DHDF5_ENABLE_PARALLEL:BOOL=OFF \
-DHDF5_BUILD_CPP_LIB:BOOL=OFF \
-DLIBAEC_USE_LOCALCONTENT=OFF \
-DZLIB_USE_LOCALCONTENT=OFF \
-DHDF5_BUILD_FORTRAN:BOOL=OFF \
-DHDF5_BUILD_JAVA:BOOL=OFF \
-DCMAKE_INSTALL_PREFIX=/tmp \
$GITHUB_WORKSPACE
- name: CMake Build
shell: bash
run: |
cmake --build . --parallel 3 --config ${{ inputs.build_mode }}
working-directory: ${{ runner.workspace }}/build

- name: Install HDF5
shell: bash
run: |
cmake --install .
working-directory: ${{ runner.workspace }}/build

- name: Install julia
uses: julia-actions/setup-julia@latest
with:
version: '1.6'
arch: 'x64'

- name: Get julia hdf5 source
uses: actions/[email protected]
with:
repository: JuliaIO/HDF5.jl
path: .

- name: Generate LocalPreferences
run: |
echo '[HDF5]' >> LocalPreferences.toml
echo 'libhdf5 = "/tmp/lib/libhdf5.so"' >> LocalPreferences.toml
echo 'libhdf5_hl = "/tmp/lib/libhdf5_hl.so"' >> LocalPreferences.toml
- uses: julia-actions/julia-buildpkg@latest

- name: Julia Run Tests
uses: julia-actions/julia-runtest@latest
env:
JULIA_DEBUG: Main
27 changes: 25 additions & 2 deletions .github/workflows/main-auto-par.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,9 @@ jobs:
- name: Get Sources
uses: actions/[email protected]

# AUTOTOOLS CONFIGURE
- name: Autotools Configure
env:
NPROCS: 2
run: |
sh ./autogen.sh
mkdir "${{ runner.workspace }}/build"
Expand All @@ -62,6 +63,7 @@ jobs:
--with-default-api-version=v114 \
--enable-shared \
--enable-parallel \
--enable-subfiling-vfd \
--disable-cxx \
--enable-fortran \
--disable-java \
Expand All @@ -71,7 +73,28 @@ jobs:
--with-szlib=yes
shell: bash

# BUILD
- name: Autotools Build
run: make -j3
working-directory: ${{ runner.workspace }}/build

# ph5diff tests are in the tools/tests directory so they will get run
# here, so leave NPROCS set here as well
- name: Autotools Run Tests
env:
NPROCS: 2
run: |
cd test && make check -j2 && cd ..
cd tools && make check -j2 && cd ..
cd hl && make check -j2 && cd ..
cd fortran/test && make check -j2 && cd ../..
working-directory: ${{ runner.workspace }}/build
if: ${{ inputs.thread_safety == 'disable' }}

- name: Autotools Run Parallel Tests
env:
NPROCS: 2
run: |
cd testpar && make check && cd ..
cd fortran/testpar && make check -j2 && cd ../..
working-directory: ${{ runner.workspace }}/build
if: ${{ inputs.thread_safety == 'disable' }}
14 changes: 14 additions & 0 deletions .github/workflows/main-cmake-par.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ jobs:
-DBUILD_SHARED_LIBS=ON \
-DHDF5_ENABLE_ALL_WARNINGS=ON \
-DHDF5_ENABLE_PARALLEL:BOOL=ON \
-DHDF5_ENABLE_SUBFILING_VFD:BOOL=ON \
-DHDF5_BUILD_CPP_LIB:BOOL=OFF \
-DHDF5_BUILD_FORTRAN=ON \
-DHDF5_BUILD_JAVA=OFF \
Expand All @@ -62,3 +63,16 @@ jobs:
- name: CMake Build
run: cmake --build . --parallel 3 --config ${{ inputs.build_mode }}
working-directory: ${{ runner.workspace }}/build

#
# RUN TESTS
#
- name: CMake Run Tests
run: ctest . -E MPI_TEST --parallel 2 -C ${{ inputs.build_mode }} -V
working-directory: ${{ runner.workspace }}/build
if: ${{ matrix.run_tests && (inputs.thread_safety != 'TS') }}

- name: CMake Run Parallel Tests
run: ctest . -R MPI_TEST -C ${{ inputs.build_mode }} -V
working-directory: ${{ runner.workspace }}/build
if: ${{ matrix.run_tests && (inputs.thread_safety != 'TS') }}
20 changes: 20 additions & 0 deletions .github/workflows/nvhpc-auto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,26 @@ jobs:
make -j3
working-directory: ${{ runner.workspace }}/build

# ph5diff tests are in the tools/tests directory so they will get run
# here, so leave NPROCS set here as well
- name: Autotools Run Tests
env:
NPROCS: 2
run: |
export PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/24.7/comm_libs/openmpi4/bin:/opt/nvidia/hpc_sdk/Linux_x86_64/24.7/compilers/bin:$PATH
cd tools && make check -j2 && cd ..
cd hl && make check -j2 && cd ..
cd fortran && make check -j2 && cd ..
working-directory: ${{ runner.workspace }}/build

- name: Autotools Run Parallel Tests
env:
NPROCS: 2
run: |
export PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/24.7/comm_libs/openmpi4/bin:/opt/nvidia/hpc_sdk/Linux_x86_64/24.7/compilers/bin:$PATH
cd testpar && make check && cd ..
working-directory: ${{ runner.workspace }}/build

- name: Autotools Install
shell: bash
run: |
Expand Down
13 changes: 13 additions & 0 deletions .github/workflows/nvhpc-cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,16 @@ jobs:
run: |
cmake --build . --parallel 3 --config ${{ inputs.build_mode }}
working-directory: ${{ runner.workspace }}/build

# Skipping dt_arith and dtransform while we investigate long double failures
- name: CMake Run Tests
shell: bash
run: |
ctest . -E "MPI_TEST|H5TEST-dt_arith|H5TEST-dtransform" --parallel 2 -C ${{ inputs.build_mode }} -V
working-directory: ${{ runner.workspace }}/build

- name: CMake Run Parallel Tests
shell: bash
run: |
ctest . -R MPI_TEST -C ${{ inputs.build_mode }} -V
working-directory: ${{ runner.workspace }}/build
8 changes: 4 additions & 4 deletions doc/img/release-schedule.plantuml
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@ Project starts 2023-01-01
[1.12.3] happens 2023-11-30
[1.12] is colored in #88CCEE

[1.14] starts at 2023-01-01 and lasts 122 weeks
[1.14] starts at 2023-01-01 and lasts 118 weeks
[1.14.1] happens at 2023-04-30
[1.14.2] happens at 2023-08-31
[1.14.3] happens at 2023-10-31
[1.14.4.2] happens at 2024-04-15
[1.14.4.3] happens at 2024-05-22
[1.14.5] happens at 2024-09-30
[1.14.6] happens at 2025-04-30
[1.14.6] happens at 2025-03-31
[1.14.1] displays on same row as [1.14.1]
[1.14.2] displays on same row as [1.14.1]
[1.14.3] displays on same row as [1.14.1]
Expand All @@ -39,8 +39,8 @@ Project starts 2023-01-01
[1.14.6] displays on same row as [1.14.1]
[1.14] is colored in #B187CF

[1.16] starts at 2025-04-30 and lasts 35 weeks
[1.16.0] happens at 2025-04-30
[1.16] starts at 2025-03-31 and lasts 35 weeks
[1.16.0] happens at 2025-03-31
[1.16.1] happens at 2025-09-30
[1.16.1] displays on same row as [1.16.0]
[1.16] is colored in #02BFA0
Expand Down
Binary file modified doc/img/release-schedule.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 50674dd

Please sign in to comment.