summaryrefslogtreecommitdiffstats
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/clang-format-check.yml2
-rw-r--r--.github/workflows/clang-format-fix.yml6
-rw-r--r--.github/workflows/cmake-ctest.yml180
-rw-r--r--.github/workflows/cmake.yml4
-rw-r--r--.github/workflows/codespell.yml4
-rw-r--r--.github/workflows/cve.yml4
-rw-r--r--.github/workflows/hdfeos5.yml2
-rw-r--r--.github/workflows/intel-auto.yml2
-rw-r--r--.github/workflows/intel-cmake.yml4
-rw-r--r--.github/workflows/linux-auto-aocc-ompi.yml2
-rw-r--r--.github/workflows/main-auto-par.yml4
-rw-r--r--.github/workflows/main-auto-spc.yml16
-rw-r--r--.github/workflows/main-auto.yml4
-rw-r--r--.github/workflows/main-cmake-spc.yml203
-rw-r--r--.github/workflows/main-cmake.yml4
-rw-r--r--.github/workflows/netcdf.yml6
-rw-r--r--.github/workflows/nvhpc-auto.yml2
-rw-r--r--.github/workflows/nvhpc-cmake.yml4
-rw-r--r--.github/workflows/release-files.yml50
-rw-r--r--.github/workflows/release.yml2
-rw-r--r--.github/workflows/tarball.yml2
21 files changed, 444 insertions, 63 deletions
diff --git a/.github/workflows/clang-format-check.yml b/.github/workflows/clang-format-check.yml
index cde27c1..c96e78d 100644
--- a/.github/workflows/clang-format-check.yml
+++ b/.github/workflows/clang-format-check.yml
@@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'skip-ci')"
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v4.1.1
- name: Run clang-format style check for C and Java code
uses: DoozyX/clang-format-lint-action@v0.13
with:
diff --git a/.github/workflows/clang-format-fix.yml b/.github/workflows/clang-format-fix.yml
index d701d23..80befa2 100644
--- a/.github/workflows/clang-format-fix.yml
+++ b/.github/workflows/clang-format-fix.yml
@@ -21,9 +21,9 @@ jobs:
permissions:
contents: write # In order to allow EndBug/add-and-commit to commit changes
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Fix C and Java formatting issues detected by clang-format
- uses: DoozyX/clang-format-lint-action@v0.13
+ uses: DoozyX/clang-format-lint-action@9ea72631b74e61ce337d0839a90e76180e997283 # v0.13
with:
source: '.'
extensions: 'c,h,cpp,hpp,java'
@@ -31,7 +31,7 @@ jobs:
inplace: True
style: file
exclude: './config ./hl/src/H5LTanalyze.c ./hl/src/H5LTparse.c ./hl/src/H5LTparse.h ./src/H5Epubgen.h ./src/H5Einit.h ./src/H5Eterm.h ./src/H5Edefin.h ./src/H5version.h ./src/H5overflow.h'
- - uses: EndBug/add-and-commit@v9
+ - uses: EndBug/add-and-commit@1bad3abcf0d6ec49a5857d124b0bfb52dc7bb081 # v9.1.3
with:
author_name: github-actions
author_email: 41898282+github-actions[bot]@users.noreply.github.com
diff --git a/.github/workflows/cmake-ctest.yml b/.github/workflows/cmake-ctest.yml
index 6936df8..b4302cc 100644
--- a/.github/workflows/cmake-ctest.yml
+++ b/.github/workflows/cmake-ctest.yml
@@ -25,7 +25,7 @@ jobs:
run: choco install ninja
- name: Enable Developer Command Prompt
- uses: ilammy/msvc-dev-cmd@v1.12.1
+ uses: ilammy/msvc-dev-cmd@v1.13.0
- name: Set file base name (Windows)
id: set-file-base
@@ -36,7 +36,7 @@ jobs:
# Get files created by release script
- name: Get zip-tarball (Windows)
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: zip-tarball
path: ${{ github.workspace }}
@@ -72,7 +72,7 @@ jobs:
Copy-Item -Path ${{ runner.workspace }}/hdf5/hdfsrc/README.md -Destination ${{ runner.workspace }}/build114/hdf5/
Copy-Item -Path ${{ runner.workspace }}/hdf5/build114/ci-StdShar-MSVC/* -Destination ${{ runner.workspace }}/build114/hdf5/ -Include *.zip
cd "${{ runner.workspace }}/build114"
- 7z a -tzip ${{ steps.set-file-base.outputs.FILE_BASE }}-win_vs2022.zip hdf5
+ 7z a -tzip ${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_cl.zip hdf5
shell: pwsh
- name: List files in the space (Windows)
@@ -85,8 +85,8 @@ jobs:
- name: Save published binary (Windows)
uses: actions/upload-artifact@v3
with:
- name: zip-vs2022-binary
- path: ${{ runner.workspace }}/build114/${{ steps.set-file-base.outputs.FILE_BASE }}-win_vs2022.zip
+ name: zip-vs2022_cl-binary
+ path: ${{ runner.workspace }}/build114/${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_cl.zip
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
build_and_test_linux:
@@ -106,7 +106,7 @@ jobs:
# Get files created by release script
- name: Get tgz-tarball (Linux)
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: tgz-tarball
path: ${{ github.workspace }}
@@ -135,7 +135,7 @@ jobs:
cp ${{ runner.workspace }}/hdf5/hdfsrc/README.md ${{ runner.workspace }}/build114/hdf5
cp ${{ runner.workspace }}/hdf5/build114/ci-StdShar-GNUC/*.tar.gz ${{ runner.workspace }}/build114/hdf5
cd "${{ runner.workspace }}/build114"
- tar -zcvf ${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204.tar.gz hdf5
+ tar -zcvf ${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz hdf5
shell: bash
- name: List files in the space (Linux)
@@ -147,8 +147,8 @@ jobs:
- name: Save published binary (Linux)
uses: actions/upload-artifact@v3
with:
- name: tgz-ubuntu-2204-binary
- path: ${{ runner.workspace }}/build114/${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204.tar.gz
+ name: tgz-ubuntu-2204_gcc-binary
+ path: ${{ runner.workspace }}/build114/${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
# Save doxygen files created by ctest script
@@ -176,7 +176,7 @@ jobs:
# Get files created by release script
- name: Get tgz-tarball (MacOS)
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
with:
name: tgz-tarball
path: ${{ github.workspace }}
@@ -227,6 +227,164 @@ jobs:
uses: actions/upload-artifact@v3
with:
name: tgz-osx12-binary
- path: ${{ runner.workspace }}/build114/${{ steps.set-file-base.outputs.FILE_BASE }}-osx12.tar.gz
+ path: ${{ runner.workspace }}/build/${{ steps.set-file-base.outputs.FILE_BASE }}-osx12.tar.gz
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
+####### intel builds
+ build_and_test_win_intel:
+ # Windows w/ OneAPI + CMake
+ #
+ name: "Windows Intel CTest"
+ runs-on: windows-latest
+ steps:
+ - name: Install Dependencies (Windows_intel)
+ run: choco install ninja
+
+ - name: add oneAPI to env
+ uses: fortran-lang/setup-fortran@v1
+ id: setup-fortran
+ with:
+ compiler: intel
+ version: '2023.2'
+
+ - name: Enable Developer Command Prompt
+ uses: ilammy/msvc-dev-cmd@v1.13.0
+
+ - name: Set file base name (Windows_intel)
+ id: set-file-base
+ run: |
+ FILE_NAME_BASE=$(echo "${{ inputs.file_base }}")
+ echo "FILE_BASE=$FILE_NAME_BASE" >> $GITHUB_OUTPUT
+ shell: bash
+
+ # Get files created by release script
+ - name: Get zip-tarball (Windows_intel)
+ uses: actions/download-artifact@v4
+ with:
+ name: zip-tarball
+ path: ${{ github.workspace }}
+
+ - name: using powershell
+ shell: pwsh
+ run: Get-Location
+
+ - name: List files for the space (Windows_intel)
+ run: |
+ Get-ChildItem -Path ${{ github.workspace }}
+ Get-ChildItem -Path ${{ runner.workspace }}
+ shell: pwsh
+
+ - name: Uncompress source (Windows_intel)
+ working-directory: ${{ github.workspace }}
+ run: 7z x ${{ steps.set-file-base.outputs.FILE_BASE }}.zip
+ shell: bash
+
+ - name: Run ctest (Windows_intel) with oneapi
+ env:
+ FC: ${{ steps.setup-fortran.outputs.fc }}
+ CC: ${{ steps.setup-fortran.outputs.cc }}
+ CXX: ${{ steps.setup-fortran.outputs.cxx }}
+ run: |
+ cd "${{ runner.workspace }}/hdf5/hdfsrc"
+ cmake --workflow --preset=ci-StdShar-Intel --fresh
+ shell: pwsh
+
+ - name: Publish binary (Windows_intel)
+ id: publish-ctest-binary
+ run: |
+ mkdir "${{ runner.workspace }}/build"
+ mkdir "${{ runner.workspace }}/build/hdf5"
+ Copy-Item -Path ${{ runner.workspace }}/hdf5/hdfsrc/COPYING -Destination ${{ runner.workspace }}/build/hdf5/
+ Copy-Item -Path ${{ runner.workspace }}/hdf5/hdfsrc/COPYING_LBNL_HDF5 -Destination ${{ runner.workspace }}/build/hdf5/
+ Copy-Item -Path ${{ runner.workspace }}/hdf5/hdfsrc/README.md -Destination ${{ runner.workspace }}/build/hdf5/
+ Copy-Item -Path ${{ runner.workspace }}/hdf5/build/ci-StdShar-Intel/* -Destination ${{ runner.workspace }}/build/hdf5/ -Include *.zip
+ cd "${{ runner.workspace }}/build"
+ 7z a -tzip ${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_intel.zip hdf5
+ shell: pwsh
+
+ - name: List files in the space (Windows_intel)
+ run: |
+ Get-ChildItem -Path ${{ github.workspace }}
+ Get-ChildItem -Path ${{ runner.workspace }}
+ shell: pwsh
+
+ # Save files created by ctest script
+ - name: Save published binary (Windows_intel)
+ uses: actions/upload-artifact@v3
+ with:
+ name: zip-vs2022_intel-binary
+ path: ${{ runner.workspace }}/build/${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_intel.zip
+ if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
+
+ build_and_test_linux_intel:
+ # Linux (Ubuntu) w/ OneAPI + CMake
+ #
+ name: "Ubuntu Intel CMake"
+ runs-on: ubuntu-latest
+ steps:
+ - name: Install CMake Dependencies (Linux_intel)
+ run: sudo apt-get install ninja-build doxygen graphviz
+
+ - name: add oneAPI to env
+ uses: fortran-lang/setup-fortran@v1
+ id: setup-fortran
+ with:
+ compiler: intel
+ version: '2023.2'
+
+ - name: Set file base name (Linux_intel)
+ id: set-file-base
+ run: |
+ FILE_NAME_BASE=$(echo "${{ inputs.file_base }}")
+ echo "FILE_BASE=$FILE_NAME_BASE" >> $GITHUB_OUTPUT
+
+ # Get files created by release script
+ - name: Get tgz-tarball (Linux_intel)
+ uses: actions/download-artifact@v4
+ with:
+ name: tgz-tarball
+ path: ${{ github.workspace }}
+
+ - name: List files for the space (Linux_intel)
+ run: |
+ ls -l ${{ github.workspace }}
+ ls ${{ runner.workspace }}
+
+ - name: Uncompress source (Linux_intel)
+ run: tar -zxvf ${{ github.workspace }}/${{ steps.set-file-base.outputs.FILE_BASE }}.tar.gz
+
+ - name: Run ctest (Linux_intel)
+ env:
+ FC: ${{ steps.setup-fortran.outputs.fc }}
+ CC: ${{ steps.setup-fortran.outputs.cc }}
+ CXX: ${{ steps.setup-fortran.outputs.cxx }}
+ run: |
+ cd "${{ runner.workspace }}/hdf5/hdfsrc"
+ cmake --workflow --preset=ci-StdShar-Intel --fresh
+ shell: bash
+
+ - name: Publish binary (Linux_intel)
+ id: publish-ctest-binary
+ run: |
+ mkdir "${{ runner.workspace }}/build"
+ mkdir "${{ runner.workspace }}/build/hdf5"
+ cp ${{ runner.workspace }}/hdf5/hdfsrc/COPYING ${{ runner.workspace }}/build/hdf5
+ cp ${{ runner.workspace }}/hdf5/hdfsrc/COPYING_LBNL_HDF5 ${{ runner.workspace }}/build/hdf5
+ cp ${{ runner.workspace }}/hdf5/hdfsrc/README.md ${{ runner.workspace }}/build/hdf5
+ cp ${{ runner.workspace }}/hdf5/build/ci-StdShar-Intel/*.tar.gz ${{ runner.workspace }}/build/hdf5
+ cd "${{ runner.workspace }}/build"
+ tar -zcvf ${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204_intel.tar.gz hdf5
+ shell: bash
+
+ - name: List files in the space (Linux_intel)
+ run: |
+ ls ${{ github.workspace }}
+ ls -l ${{ runner.workspace }}
+
+ # Save files created by ctest script
+ - name: Save published binary (Linux_intel)
+ uses: actions/upload-artifact@v3
+ with:
+ name: tgz-ubuntu-2204_intel-binary
+ path: ${{ runner.workspace }}/build/${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204_intel.tar.gz
+ if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml
index 14fd9fd..11a010c 100644
--- a/.github/workflows/cmake.yml
+++ b/.github/workflows/cmake.yml
@@ -11,6 +11,10 @@ permissions:
# in parallel. We just have one job, but the matrix items defined below will
# run in parallel.
jobs:
+ call-workflow-special-cmake:
+ name: "CMake Special Workflows"
+ uses: ./.github/workflows/main-cmake-spc.yml
+
call-debug-thread-cmake:
name: "CMake Debug Thread-Safety Workflows"
uses: ./.github/workflows/main-cmake.yml
diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml
index e39af68..cb68361 100644
--- a/.github/workflows/codespell.yml
+++ b/.github/workflows/codespell.yml
@@ -10,8 +10,8 @@ jobs:
name: Check for spelling errors
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v4.1.1
- uses: codespell-project/actions-codespell@master
with:
- skip: ./.github/workflows/codespell.yml,./bin/trace,./hl/tools/h5watch/h5watch.c,./tools/test/h5jam/tellub.c,./config/sanitizer/LICENSE,./config/sanitizer/sanitizers.cmake,./tools/test/h5repack/testfiles/*.dat,./test/API/driver,./configure,./bin/ltmain.sh,./bin/depcomp,./bin/config.guess,./bin/config.sub,./autom4te.cache,./m4/libtool.m4,./c++/src/*.html
+ skip: ./.github/workflows/codespell.yml,./bin/trace,./hl/tools/h5watch/h5watch.c,./tools/test/h5jam/tellub.c,./config/sanitizer/LICENSE,./config/sanitizer/sanitizers.cmake,./tools/test/h5repack/testfiles/*.dat,./test/API/driver,./configure,./bin/ltmain.sh,./bin/depcomp,./bin/config.guess,./bin/config.sub,./autom4te.cache,./m4/libtool.m4,./c++/src/*.html,./HDF5Examples/depcomp
ignore_words_list: ot,isnt,inout,nd,parms,parm,ba,offsetP,ser,ois,had,fiter,fo,clude,refere,minnum,offsetp,creat,ans:,eiter,lastr,ans,isn't,ifset,sur,trun,dne,tthe,hda,filname,te,htmp,ake,gord,numer,ro,oce,msdos
diff --git a/.github/workflows/cve.yml b/.github/workflows/cve.yml
index 6d51019..6a66a5e 100644
--- a/.github/workflows/cve.yml
+++ b/.github/workflows/cve.yml
@@ -27,7 +27,7 @@ jobs:
name: CVE regression
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v4.1.1
- name: Install Autotools Dependencies (Linux)
run: |
@@ -40,7 +40,7 @@ jobs:
make
sudo make install
- name: Checkout CVE test repository
- uses: actions/checkout@v4
+ uses: actions/checkout@v4.1.1
with:
repository: HDFGroup/cve_hdf5
path: cve_hdf5
diff --git a/.github/workflows/hdfeos5.yml b/.github/workflows/hdfeos5.yml
index a2212a6..4ca46bd 100644
--- a/.github/workflows/hdfeos5.yml
+++ b/.github/workflows/hdfeos5.yml
@@ -27,7 +27,7 @@ jobs:
name: Build hdfeos5
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v4.1.1
- name: Install Autotools Dependencies (Linux)
run: |
diff --git a/.github/workflows/intel-auto.yml b/.github/workflows/intel-auto.yml
index 0088703..42f45a6 100644
--- a/.github/workflows/intel-auto.yml
+++ b/.github/workflows/intel-auto.yml
@@ -16,7 +16,7 @@ jobs:
name: "Intel ${{ inputs.build_mode }}"
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v4.1.1
- name: Install Dependencies
run: |
diff --git a/.github/workflows/intel-cmake.yml b/.github/workflows/intel-cmake.yml
index 68909d5..33a4bad 100644
--- a/.github/workflows/intel-cmake.yml
+++ b/.github/workflows/intel-cmake.yml
@@ -19,7 +19,7 @@ jobs:
name: "ubuntu-oneapi ${{ inputs.build_mode }}"
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v4.1.1
# Only CMake need ninja-build, but we just install it unilaterally
# libssl, etc. are needed for the ros3 VFD
@@ -77,7 +77,7 @@ jobs:
name: "windows-oneapi ${{ inputs.build_mode }}"
runs-on: windows-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v4.1.1
- name: Install Dependencies (Windows)
run: choco install ninja
diff --git a/.github/workflows/linux-auto-aocc-ompi.yml b/.github/workflows/linux-auto-aocc-ompi.yml
index 8265695..d39ac40 100644
--- a/.github/workflows/linux-auto-aocc-ompi.yml
+++ b/.github/workflows/linux-auto-aocc-ompi.yml
@@ -26,7 +26,7 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v4.1.1
- name: Install System dependencies
run: |
diff --git a/.github/workflows/main-auto-par.yml b/.github/workflows/main-auto-par.yml
index 5c54f02..63f5992 100644
--- a/.github/workflows/main-auto-par.yml
+++ b/.github/workflows/main-auto-par.yml
@@ -40,7 +40,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
- uses: actions/checkout@v4
+ uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
@@ -98,7 +98,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
- uses: actions/checkout@v4
+ uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
diff --git a/.github/workflows/main-auto-spc.yml b/.github/workflows/main-auto-spc.yml
index 4925a18..33cd067 100644
--- a/.github/workflows/main-auto-spc.yml
+++ b/.github/workflows/main-auto-spc.yml
@@ -43,7 +43,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
- uses: actions/checkout@v4
+ uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
@@ -104,7 +104,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
- uses: actions/checkout@v4
+ uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
@@ -165,7 +165,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
- uses: actions/checkout@v4
+ uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
@@ -226,7 +226,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
- uses: actions/checkout@v4
+ uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
@@ -287,7 +287,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
- uses: actions/checkout@v4
+ uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
@@ -348,7 +348,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
- uses: actions/checkout@v4
+ uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
@@ -409,7 +409,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
- uses: actions/checkout@v4
+ uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
@@ -470,7 +470,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
- uses: actions/checkout@v4
+ uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
diff --git a/.github/workflows/main-auto.yml b/.github/workflows/main-auto.yml
index c4f4252..7147dd6 100644
--- a/.github/workflows/main-auto.yml
+++ b/.github/workflows/main-auto.yml
@@ -49,7 +49,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
- uses: actions/checkout@v4
+ uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
@@ -153,7 +153,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
- uses: actions/checkout@v4
+ uses: actions/checkout@v4.1.1
# AUTOTOOLS CONFIGURE
- name: Autotools Configure
diff --git a/.github/workflows/main-cmake-spc.yml b/.github/workflows/main-cmake-spc.yml
new file mode 100644
index 0000000..c547285
--- /dev/null
+++ b/.github/workflows/main-cmake-spc.yml
@@ -0,0 +1,203 @@
+name: hdf5 1.14 CMake special CI
+
+# Controls when the action will run. Triggers the workflow on a call
+on:
+ workflow_call:
+
+permissions:
+ contents: read
+
+# A workflow run is made up of one or more jobs that can run sequentially or
+# in parallel. We just have one job, but the matrix items defined below will
+# run in parallel.
+jobs:
+ #
+ # SPECIAL CMake BUILDS
+ #
+ # These are not built into the matrix and instead
+ # become NEW configs as their name would clobber one of the matrix
+ # names (so make sure the names are UNIQUE).
+ #
+
+ build_v1_6:
+ name: "gcc DBG v1.6 default API"
+ runs-on: ubuntu-latest
+ steps:
+ # SETUP
+ - name: Install Linux Dependencies
+ run: |
+ sudo apt 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/checkout@v4.1.1
+
+ #
+ # 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 \
+ -DCMAKE_TOOLCHAIN_FILE=config/toolchain/gcc.cmake \
+ -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=v16 \
+ $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:
+ name: "gcc DBG v1.10 default API (build only)"
+ runs-on: ubuntu-latest
+ steps:
+ # SETUP
+ - name: Install Linux Dependencies
+ run: |
+ sudo apt 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/checkout@v4.1.1
+
+ #
+ # 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 \
+ -DCMAKE_TOOLCHAIN_FILE=config/toolchain/gcc.cmake \
+ -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=v110 \
+ $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_12:
+ name: "gcc DBG v1.12 default API (build only)"
+ runs-on: ubuntu-latest
+ steps:
+ # SETUP
+ - name: Install Linux Dependencies
+ run: |
+ sudo apt 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/checkout@v4.1.1
+
+ #
+ # 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 \
+ -DCMAKE_TOOLCHAIN_FILE=config/toolchain/gcc.cmake \
+ -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=v112 \
+ $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
diff --git a/.github/workflows/main-cmake.yml b/.github/workflows/main-cmake.yml
index ce39b6d..935c7eb 100644
--- a/.github/workflows/main-cmake.yml
+++ b/.github/workflows/main-cmake.yml
@@ -163,7 +163,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
- uses: actions/checkout@v4
+ uses: actions/checkout@v4.1.1
#
# CMAKE CONFIGURE
@@ -281,7 +281,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
- uses: actions/checkout@v4
+ uses: actions/checkout@v4.1.1
# CMAKE CONFIGURE
- name: CMake Configure
diff --git a/.github/workflows/netcdf.yml b/.github/workflows/netcdf.yml
index bc0c2d0..805c322 100644
--- a/.github/workflows/netcdf.yml
+++ b/.github/workflows/netcdf.yml
@@ -31,7 +31,7 @@ jobs:
sudo apt update
sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev doxygen openssl libtool libtool-bin
- name: Checkout HDF5
- uses: actions/checkout@v4
+ uses: actions/checkout@v4.1.1
- name: Install HDF5
run: |
./autogen.sh
@@ -39,7 +39,7 @@ jobs:
make -j
sudo make install -j
- name: Checkout netCDF
- uses: actions/checkout@v4
+ uses: actions/checkout@v4.1.1
with:
repository: unidata/netcdf-c
path: netcdf-c
@@ -47,7 +47,7 @@ jobs:
run: |
cd netcdf-c
autoreconf -if
- CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ./configure --enable-hdf5 --enable-dap --disable-dap-remote-tests --enable-doxygen --enable-external-server-tests
+ CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ./configure --enable-hdf5 --enable-dap --disable-dap-remote-tests --enable-external-server-tests
cat config.log
cat libnetcdf.settings
CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make -j
diff --git a/.github/workflows/nvhpc-auto.yml b/.github/workflows/nvhpc-auto.yml
index 7775aa2..542eebe 100644
--- a/.github/workflows/nvhpc-auto.yml
+++ b/.github/workflows/nvhpc-auto.yml
@@ -16,7 +16,7 @@ jobs:
name: "nvhpc ${{ inputs.build_mode }}"
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v4.1.1
- name: Install Dependencies
run: |
diff --git a/.github/workflows/nvhpc-cmake.yml b/.github/workflows/nvhpc-cmake.yml
index 3805544..0fd6974 100644
--- a/.github/workflows/nvhpc-cmake.yml
+++ b/.github/workflows/nvhpc-cmake.yml
@@ -16,7 +16,7 @@ jobs:
name: "nvhpc ${{ inputs.build_mode }}"
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v4.1.1
- name: Install Linux dependencies
shell: bash
@@ -72,5 +72,5 @@ jobs:
- name: CMake Run Tests
shell: bash
run: |
- ctest . --parallel 2 -C ${{ inputs.build_mode }} -V
+ ctest . --parallel 2 -C ${{ inputs.build_mode }} -V -E "ph5_f90_hyperslab_by_chunk|ph5_f90_hyperslab_by_pattern"
working-directory: ${{ runner.workspace }}/build
diff --git a/.github/workflows/release-files.yml b/.github/workflows/release-files.yml
index 20dd099..ce58214 100644
--- a/.github/workflows/release-files.yml
+++ b/.github/workflows/release-files.yml
@@ -40,14 +40,14 @@ jobs:
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
- uses: actions/checkout@v4
+ uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0
- run: |
git checkout ${{ inputs.file_sha }}
- - uses: rickstaa/action-create-tag@v1
+ - uses: rickstaa/action-create-tag@a1c7777fcb2fee4f19b0f283ba888afa11678b72 # v1.7.2
id: "tag_create"
with:
commit_sha: ${{ inputs.file_sha }}
@@ -75,7 +75,7 @@ jobs:
# Get files created by tarball script
- name: Get doxygen (Linux)
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@f44cd7b40bfd40b6aa1cc1b9b5b7bf03d3c67110 # v4.1.0
with:
name: docs-doxygen
path: ${{ github.workspace }}/${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen
@@ -84,34 +84,46 @@ jobs:
run: zip -r ${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen.zip ./${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen
- name: Get tgz-tarball (Linux)
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@f44cd7b40bfd40b6aa1cc1b9b5b7bf03d3c67110 # v4.1.0
with:
name: tgz-tarball
path: ${{ github.workspace }}
- name: Get zip-tarball (Windows)
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@f44cd7b40bfd40b6aa1cc1b9b5b7bf03d3c67110 # v4.1.0
with:
name: zip-tarball
path: ${{ github.workspace }}
# Get files created by cmake-ctest script
- name: Get published binary (Windows)
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@f44cd7b40bfd40b6aa1cc1b9b5b7bf03d3c67110 # v4.1.0
with:
- name: zip-vs2022-binary
+ name: zip-vs2022_cl-binary
path: ${{ github.workspace }}
- name: Get published binary (MacOS)
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@f44cd7b40bfd40b6aa1cc1b9b5b7bf03d3c67110 # v4.1.0
with:
name: tgz-osx12-binary
path: ${{ github.workspace }}
- name: Get published binary (Linux)
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@f44cd7b40bfd40b6aa1cc1b9b5b7bf03d3c67110 # v4.1.0
with:
- name: tgz-ubuntu-2204-binary
+ name: tgz-ubuntu-2204_gcc-binary
+ path: ${{ github.workspace }}
+
+ - name: Get published binary (Windows_intel)
+ uses: actions/download-artifact@f44cd7b40bfd40b6aa1cc1b9b5b7bf03d3c67110 # v4.1.0
+ with:
+ name: zip-vs2022_intel-binary
+ path: ${{ github.workspace }}
+
+ - name: Get published binary (Linux_intel)
+ uses: actions/download-artifact@f44cd7b40bfd40b6aa1cc1b9b5b7bf03d3c67110 # v4.1.0
+ with:
+ name: tgz-ubuntu-2204_intel-binary
path: ${{ github.workspace }}
- name: Store snapshot name
@@ -121,7 +133,7 @@ jobs:
- name: PreRelease tag
id: create_prerelease
if: ${{ (inputs.use_environ == 'snapshots') }}
- uses: softprops/action-gh-release@v1
+ uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v1
with:
tag_name: "${{ inputs.use_tag }}"
prerelease: true
@@ -131,14 +143,16 @@ jobs:
${{ 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
- ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204.tar.gz
- ${{ steps.get-file-base.outputs.FILE_BASE }}-win_vs2022.zip
+ ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz
+ ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_cl.zip
+ ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_intel.tar.gz
+ ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_intel.zip
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
- name: Release tag
id: create_release
if: ${{ (inputs.use_environ == 'release') }}
- uses: softprops/action-gh-release@v1
+ uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v1
with:
tag_name: "${{ inputs.use_tag }}"
prerelease: false
@@ -148,8 +162,10 @@ jobs:
${{ 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
- ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204.tar.gz
- ${{ steps.get-file-base.outputs.FILE_BASE }}-win_vs2022.zip
+ ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz
+ ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_cl.zip
+ ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_intel.tar.gz
+ ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_intel.zip
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
- name: List files for the space (Linux)
@@ -158,7 +174,7 @@ jobs:
ls ${{ runner.workspace }}
- name: branch-only-docs
- uses: peaceiris/actions-gh-pages@v3
+ uses: peaceiris/actions-gh-pages@373f7f263a76c20808c831209c920827a82a2847 # v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ${{ github.workspace }}/${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 62a8778..2e65978 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -50,7 +50,7 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
- uses: actions/checkout@v4
+ uses: actions/checkout@v4.1.1
with:
path: hdfsrc
diff --git a/.github/workflows/tarball.yml b/.github/workflows/tarball.yml
index d6c1298..66b1e7d 100644
--- a/.github/workflows/tarball.yml
+++ b/.github/workflows/tarball.yml
@@ -83,7 +83,7 @@ jobs:
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Get Sources
- uses: actions/checkout@v4
+ uses: actions/checkout@v4.1.1
with:
path: hdfsrc