summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
authorAllen Byrne <50328838+byrnHDF@users.noreply.github.com>2023-06-13 03:04:49 (GMT)
committerGitHub <noreply@github.com>2023-06-13 03:04:49 (GMT)
commitbfeb1b0dd5b7b2e4a706ff9b9515bba15e673f31 (patch)
tree28f4028d7e492dd538f043fc8e060f9858920365 /.github
parent2af7ea3c22a07cfe617de6c43576a0ff4278f5eb (diff)
downloadhdf5-bfeb1b0dd5b7b2e4a706ff9b9515bba15e673f31.zip
hdf5-bfeb1b0dd5b7b2e4a706ff9b9515bba15e673f31.tar.gz
hdf5-bfeb1b0dd5b7b2e4a706ff9b9515bba15e673f31.tar.bz2
Fix doxygen and actions - merge from develop (#3109)
* Update the workflows to changes in develop * Disable java for error only action * Fix Fortran doxygen * add fortran alias * Merge changes from develop to fix actions
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/cmake-ctest.yml12
-rw-r--r--.github/workflows/main.yml72
-rw-r--r--.github/workflows/release.yml13
3 files changed, 77 insertions, 20 deletions
diff --git a/.github/workflows/cmake-ctest.yml b/.github/workflows/cmake-ctest.yml
index 083b595..a113dfa 100644
--- a/.github/workflows/cmake-ctest.yml
+++ b/.github/workflows/cmake-ctest.yml
@@ -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
@@ -151,6 +151,14 @@ 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
#
@@ -158,7 +166,7 @@ jobs:
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
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index da65941..5dee711 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -81,6 +81,7 @@ jobs:
cpp: ON
fortran: OFF
java: ON
+ docs: OFF
libaecfc: ON
localaec: OFF
zlibfc: ON
@@ -88,6 +89,7 @@ jobs:
parallel: OFF
mirror_vfd: OFF
direct_vfd: OFF
+ ros3_vfd: OFF
generator: "-G \"Visual Studio 17 2022\" -A x64"
run_tests: true
@@ -100,6 +102,7 @@ jobs:
cpp: ON
fortran: ON
java: ON
+ docs: ON
libaecfc: ON
localaec: OFF
zlibfc: ON
@@ -107,6 +110,7 @@ jobs:
parallel: OFF
mirror_vfd: ON
direct_vfd: ON
+ ros3_vfd: OFF
toolchain: "config/toolchain/gcc.cmake"
generator: "-G Ninja"
run_tests: true
@@ -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: v114
szip: yes
@@ -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: v114
szip: yes
@@ -157,10 +165,11 @@ jobs:
# We could also build with the Autotools via brew installing them,
# but that seems unnecessary
- name: "MacOS Clang CMake"
- os: macos-11
+ os: macos-13
cpp: ON
fortran: OFF
java: ON
+ docs: OFF
libaecfc: ON
localaec: OFF
zlibfc: ON
@@ -168,6 +177,7 @@ jobs:
parallel: OFF
mirror_vfd: ON
direct_vfd: OFF
+ ros3_vfd: OFF
toolchain: "config/toolchain/clang.cmake"
generator: "-G Ninja"
run_tests: true
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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: default
szip: yes
@@ -302,9 +322,11 @@ jobs:
cpp: enable
fortran: disable
java: disable
+ docs: disable
parallel: disable
mirror_vfd: disable
direct_vfd: enable
+ ros3_vfd: disable
deprec_sym: enable
default_api: v114
szip: yes
@@ -326,9 +348,11 @@ jobs:
cpp: enable
fortran: disable
java: disable
+ docs: disable
parallel: disable
mirror_vfd: disable
direct_vfd: enable
+ ros3_vfd: disable
deprec_sym: enable
default_api: v114
szip: yes
@@ -350,9 +374,11 @@ jobs:
cpp: disable
fortran: disable
java: disable
+ docs: disable
parallel: enable
mirror_vfd: disable
direct_vfd: enable
+ ros3_vfd: disable
deprec_sym: enable
default_api: v114
toolchain: ""
@@ -373,9 +399,11 @@ jobs:
cpp: disable
fortran: disable
java: disable
+ docs: disable
parallel: enable
mirror_vfd: disable
direct_vfd: enable
+ ros3_vfd: disable
deprec_sym: enable
default_api: v114
toolchain: ""
@@ -411,17 +439,18 @@ 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-11 g++-11 gfortran-11
- echo "CC=gcc-11" >> $GITHUB_ENV
- echo "CXX=g++-11" >> $GITHUB_ENV
- echo "FC=gfortran-11" >> $GITHUB_ENV
+ 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
sudo apt install libaec0 libaec-dev
if: (matrix.generator == 'autogen') && (matrix.parallel != 'enable')
@@ -440,8 +469,8 @@ jobs:
if: matrix.os == 'windows-latest'
- name: Install Dependencies (macOS)
- run: brew install ninja
- if: matrix.os == 'macos-11'
+ run: brew install ninja doxygen
+ if: matrix.os == 'macos-13'
- name: Set environment for MSVC (Windows)
run: |
@@ -463,7 +492,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)
@@ -472,7 +501,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.parallel }}-parallel --${{ 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.parallel }}-parallel --${{ 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)
@@ -484,7 +513,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)
@@ -493,7 +522,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)
@@ -523,10 +552,23 @@ jobs:
if: (matrix.generator == 'autogen') && (matrix.run_tests) && ! (matrix.thread_safety.enabled)
- name: CMake Run Tests
- run: ctest --build . --parallel 2 -C ${{ matrix.build_mode.cmake }} -V
+ run: ctest . --parallel 2 -C ${{ matrix.build_mode.cmake }} -V
working-directory: ${{ runner.workspace }}/build
- # Skip Debug MSVC while we investigate H5L Java test timeouts
- if: (matrix.generator != 'autogen') && (matrix.run_tests) && ! ((matrix.name == 'Windows MSVC CMake') && (matrix.build_mode.cmake == 'Debug'))
+ if: (matrix.generator != 'autogen') && (matrix.run_tests) && ! (matrix.thread_safety.enabled)
+
+ # THREAD-SAFE
+
+ - name: Autotools Run Thread-Safe Tests
+ run: |
+ cd test
+ ./ttsafe
+ working-directory: ${{ runner.workspace }}/build
+ if: (matrix.generator == 'autogen') && (matrix.run_tests) && (matrix.thread_safety.enabled)
+
+ - name: CMake Run Thread-Safe Tests
+ run: ctest . --parallel 2 -C ${{ matrix.build_mode.cmake }} -V -R ttsafe
+ working-directory: ${{ runner.workspace }}/build
+ if: (matrix.generator != 'autogen') && (matrix.run_tests) && (matrix.thread_safety.enabled)
#
# INSTALL (note that this runs even when we don't run the tests)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 16285d6..ac22bdd 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -48,13 +48,19 @@ jobs:
getfiles:
runs-on: ubuntu-latest
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:
@@ -95,7 +101,7 @@ jobs:
permissions:
contents: write
steps:
- - name: Set file base name
+ - name: Get file base name
id: get-file-base
run: |
FILE_NAME_BASE=$(echo "${{ inputs.file_base }}")
@@ -107,6 +113,7 @@ jobs:
tag_name: "snapshot"
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