mirror of
https://github.com/HDFGroup/hdf5.git
synced 2026-09-25 04:09:44 +03:00
Bumps the github-actions group with 11 updates: | Package | From | To | | --- | --- | --- | | [lukka/get-cmake](https://github.com/lukka/get-cmake) | `4.4.1` | `4.4.2` | | [actions/setup-java](https://github.com/actions/setup-java) | `5.6.0` | `6.0.0` | | [fortran-lang/setup-fortran](https://github.com/fortran-lang/setup-fortran) | `1.9.2` | `1.10.0` | | [EndBug/add-and-commit](https://github.com/endbug/add-and-commit) | `10.0.0` | `11.1.1` | | [dorny/paths-filter](https://github.com/dorny/paths-filter) | `4.0.2` | `4.0.3` | | [github/codeql-action/init](https://github.com/github/codeql-action) | `4.37.3` | `4.37.9` | | [github/codeql-action/analyze](https://github.com/github/codeql-action) | `4.37.3` | `4.37.9` | | [github/codeql-action/upload-sarif](https://github.com/github/codeql-action) | `4.37.3` | `4.37.9` | | [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) | `1.5.2` | `1.5.5` | | [vmactions/openbsd-vm](https://github.com/vmactions/openbsd-vm) | `1.4.5` | `1.4.7` | | [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | `3.0.2` | `3.0.3` | Updates `lukka/get-cmake` from 4.4.1 to 4.4.2 - [Release notes](https://github.com/lukka/get-cmake/releases) - [Changelog](https://github.com/lukka/get-cmake/blob/main/RELEASE_PROCESS.md) - [Commits](https://github.com/lukka/get-cmake/compare/4a7d025fc60f00db0c7b44ebf783d19b52444830...fffaaafeea488556c2c12dad60690008bc1caacb) Updates `actions/setup-java` from 5.6.0 to 6.0.0 - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/03ad4de0992f5dab5e18fcb136590ce7c4a0ac95...dd06d9cba3e5552c54d9f8ea23572deb30010f7c) Updates `fortran-lang/setup-fortran` from 1.9.2 to 1.10.0 - [Release notes](https://github.com/fortran-lang/setup-fortran/releases) - [Commits](https://github.com/fortran-lang/setup-fortran/compare/195bac823dc6e05bb7c706311ad4540ffc34d5b9...be037f0a45b1160f139d4ccd0b96f9e9bfd6a682) Updates `EndBug/add-and-commit` from 10.0.0 to 11.1.1 - [Release notes](https://github.com/endbug/add-and-commit/releases) - [Commits](https://github.com/endbug/add-and-commit/compare/290ea2c423ad77ca9c62ae0f5b224379612c0321...cc9c08ba6c8df3b93a8f2db63e89b98368ae2ae8) Updates `dorny/paths-filter` from 4.0.2 to 4.0.3 - [Release notes](https://github.com/dorny/paths-filter/releases) - [Changelog](https://github.com/dorny/paths-filter/blob/master/CHANGELOG.md) - [Commits](https://github.com/dorny/paths-filter/compare/7b450fff21473bca461d4b92ce414b9d0420d706...ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d) Updates `github/codeql-action/init` from 4.37.3 to 4.37.9 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81...cdf488f595d80d6e07e03d4674febd5ab45fa938) Updates `github/codeql-action/analyze` from 4.37.3 to 4.37.9 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81...cdf488f595d80d6e07e03d4674febd5ab45fa938) Updates `github/codeql-action/upload-sarif` from 4.37.3 to 4.37.9 - [Release notes](https://github.com/github/codeql-action/releases) - [Commits](https://github.com/github/codeql-action/compare/v4.37.3...v4.37.9) Updates `vmactions/freebsd-vm` from 1.5.2 to 1.5.5 - [Release notes](https://github.com/vmactions/freebsd-vm/releases) - [Commits](https://github.com/vmactions/freebsd-vm/compare/77ed28d336d03fe19a3f4f7266c1d2c4714dd79d...f0552d3b69211736abd97f02ff3d4674c56b73b1) Updates `vmactions/openbsd-vm` from 1.4.5 to 1.4.7 - [Release notes](https://github.com/vmactions/openbsd-vm/releases) - [Commits](https://github.com/vmactions/openbsd-vm/compare/c941015845c0f0c429676840963dc63b226d4f69...86cdc08415d9d0865267e686561e276c52d62530) Updates `softprops/action-gh-release` from 3.0.2 to 3.0.3 - [Release notes](https://github.com/softprops/action-gh-release/releases) - [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md) - [Commits](https://github.com/softprops/action-gh-release/compare/3d0d9888cb7fd7b750713d6e236d1fcb99157228...efb35369e0ad2afab669f228072c1b0d510eae64) --- updated-dependencies: - dependency-name: lukka/get-cmake dependency-version: 4.4.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: actions/setup-java dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: fortran-lang/setup-fortran dependency-version: 1.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: EndBug/add-and-commit dependency-version: 11.1.1 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: dorny/paths-filter dependency-version: 4.0.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: github/codeql-action/init dependency-version: 4.37.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: github/codeql-action/analyze dependency-version: 4.37.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: github/codeql-action/upload-sarif dependency-version: 4.37.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: vmactions/freebsd-vm dependency-version: 1.5.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: vmactions/openbsd-vm dependency-version: 1.4.7 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: softprops/action-gh-release dependency-version: 3.0.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
403 lines
16 KiB
YAML
403 lines
16 KiB
YAML
name: Build and test HDF5 ROS3 VFD
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
build_mode:
|
|
description: "Build type (CMAKE_BUILD_TYPE)"
|
|
required: true
|
|
type: string
|
|
aws_c_s3_build_type:
|
|
description: "Install aws-c-s3 from a package manager ('package') or build from source ('source')"
|
|
required: true
|
|
type: string
|
|
save_binary:
|
|
description: "binary-ext-name or missing"
|
|
required: false
|
|
default: "skip"
|
|
type: string
|
|
java_version:
|
|
description: "Java version for testing (11, 17, 21, 24, latest, auto)"
|
|
required: false
|
|
default: "auto"
|
|
type: string
|
|
force_java_implementation:
|
|
description: "Force specific Java implementation (auto, ffm, jni)"
|
|
required: false
|
|
default: "jni"
|
|
type: string
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
CTEST_OUTPUT_ON_FAILURE: 1
|
|
|
|
jobs:
|
|
# NOTE: The aws-c-s3 library build is now handled by the parent workflow
|
|
# that calls this workflow. The parent must call build-aws-c-s3.yml before
|
|
# calling vfd-ros3.yml to ensure the libaws-c-s3 artifact is available.
|
|
|
|
build_from_package_managers:
|
|
if: ${{ inputs.aws_c_s3_build_type == 'package' }}
|
|
|
|
# Ubuntu doesn't have a package for aws-c-s3 yet, so use a
|
|
# built from source version until then
|
|
|
|
strategy:
|
|
# Let jobs run to completion even if one fails
|
|
fail-fast: false
|
|
matrix:
|
|
os_name: ["Windows MSVC", "Ubuntu GCC", "MacOS Clang"]
|
|
include:
|
|
- os_name: "Windows MSVC"
|
|
os: windows-latest
|
|
test_ros3: OFF
|
|
- os_name: "Ubuntu GCC"
|
|
os: ubuntu-latest
|
|
test_ros3: ON
|
|
- os_name: "MacOS Clang"
|
|
os: macos-latest
|
|
test_ros3: OFF
|
|
|
|
name: "ROS3 VFD (${{ matrix.os_name }} ${{ inputs.build_mode }}-${{ inputs.force_java_implementation }})"
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Install aws-c-s3 (Windows)
|
|
if: ${{ matrix.os_name == 'Windows MSVC' }}
|
|
run: vcpkg install aws-c-s3
|
|
|
|
# Ubuntu doesn't have a package for aws-c-s3 yet, so use a
|
|
# built from source version until then
|
|
# - name: Install aws-c-s3 (Ubuntu)
|
|
# if: ${{ matrix.os_name == 'Ubuntu GCC' }}
|
|
# run: |
|
|
# sudo apt-get update
|
|
# sudo apt-get install aws-c-s3
|
|
|
|
- name: Install libaws-c-s3 (Ubuntu) (Cached installation)
|
|
if: ${{ matrix.os_name == 'Ubuntu GCC' }}
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: libaws-c-s3-${{ inputs.build_mode }}
|
|
|
|
- name: Untar libaws-c-s3 installation (Ubuntu)
|
|
if: ${{ matrix.os_name == 'Ubuntu GCC' }}
|
|
run: |
|
|
tar xvf libaws-c-s3.tar -C ${{ runner.workspace }}
|
|
|
|
- name: List contents of libaws-c-s3 installation (Ubuntu)
|
|
if: ${{ matrix.os_name == 'Ubuntu GCC' }}
|
|
run: |
|
|
ls -lR ${{ runner.workspace }}/aws-c-s3-build
|
|
|
|
- name: Setup environment (Ubuntu)
|
|
if: ${{ matrix.os_name == 'Ubuntu GCC' }}
|
|
shell: bash
|
|
run: |
|
|
echo "LD_LIBRARY_PATH=${{ runner.workspace }}/aws-c-s3-build/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
|
|
echo "CMAKE_PREFIX_PATH=${{ runner.workspace }}/aws-c-s3-build" >> $GITHUB_ENV
|
|
|
|
- name: Install aws-c-s3 (MacOS)
|
|
if: ${{ matrix.os_name == 'MacOS Clang' }}
|
|
run: brew install aws-c-s3
|
|
|
|
- name: Set up Java (if specified or FFM required)
|
|
if: inputs.java_version != 'auto' || inputs.force_java_implementation == 'ffm'
|
|
uses: actions/setup-java@dd06d9cba3e5552c54d9f8ea23572deb30010f7c # v5
|
|
with:
|
|
distribution: ${{ inputs.force_java_implementation == 'ffm' && 'oracle' || 'temurin' }}
|
|
java-version: |
|
|
${{
|
|
inputs.force_java_implementation == 'ffm' && '25' ||
|
|
inputs.java_version == 'latest' && '24' ||
|
|
inputs.java_version
|
|
}}
|
|
|
|
- name: Verify Java Setup
|
|
if: inputs.java_version != 'auto' || inputs.force_java_implementation == 'ffm'
|
|
run: |
|
|
java -version
|
|
echo "JAVA_HOME=$JAVA_HOME"
|
|
echo "Selected Java implementation: ${{ inputs.force_java_implementation }}"
|
|
|
|
- name: Set environment for MSVC (Windows)
|
|
if: ${{ matrix.os_name == 'Windows MSVC' }}
|
|
run: |
|
|
# Set these environment variables so CMake picks the correct compiler
|
|
echo "CXX=cl.exe" >> $GITHUB_ENV
|
|
echo "CC=cl.exe" >> $GITHUB_ENV
|
|
|
|
- name: Get HDF5 sources
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup jextract (FFM builds only)
|
|
if: ${{ inputs.force_java_implementation == 'ffm' }}
|
|
uses: ./.github/actions/setup-jextract
|
|
with:
|
|
java-version: '25'
|
|
|
|
# For Windows, use vcpkg toolchain file to allow find_package() calls to resolve
|
|
# NOTE: VCPKG_USE_LEGACY_APPLOCAL is a temporary fix for an issue with vcpkg
|
|
# (https://github.com/microsoft/vcpkg-tool/issues/2076) that causes a race in
|
|
# CI which fails Windows ROS3 builds. This should be removed once the issue is
|
|
# resolved.
|
|
- name: "Configure (vcpkg; ROS3 testing: ${{ matrix.test_ros3 }})"
|
|
if: ${{ matrix.os_name == 'Windows MSVC' }}
|
|
run: |
|
|
mkdir "${{ runner.workspace }}/build"
|
|
cd "${{ runner.workspace }}/build"
|
|
cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake \
|
|
--log-level=VERBOSE \
|
|
-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake \
|
|
-DVCPKG_USE_LEGACY_APPLOCAL=ON \
|
|
-DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
-DHDF5_ENABLE_ALL_WARNINGS=ON \
|
|
-DHDF5_ENABLE_WARNINGS_AS_ERRORS=ON \
|
|
-DHDF5_ENABLE_PARALLEL:BOOL=OFF \
|
|
-DHDF5_BUILD_FORTRAN:BOOL=OFF \
|
|
-DHDF5_BUILD_CPP_LIB:BOOL=ON \
|
|
-DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=ON \
|
|
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=ON \
|
|
-DLIBAEC_USE_LOCALCONTENT=OFF \
|
|
-DZLIB_USE_LOCALCONTENT=OFF \
|
|
-DHDF5_ENABLE_ROS3_VFD:BOOL=ON \
|
|
-DHDF5_ENABLE_ROS3_VFD_DOCKER_PROXY=${{ matrix.test_ros3 }} \
|
|
-DHDF5_PACK_EXAMPLES:BOOL=ON \
|
|
-DHDF5_ENABLE_JNI:BOOL=${{ inputs.force_java_implementation == 'jni' }} \
|
|
$GITHUB_WORKSPACE
|
|
shell: bash
|
|
|
|
- name: "Configure (ROS3 testing: ${{ matrix.test_ros3 }})"
|
|
if: ${{ matrix.os_name != 'Windows MSVC' }}
|
|
run: |
|
|
mkdir "${{ runner.workspace }}/build"
|
|
cd "${{ runner.workspace }}/build"
|
|
cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake \
|
|
--log-level=VERBOSE \
|
|
-DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
-DHDF5_ENABLE_ALL_WARNINGS=ON \
|
|
-DHDF5_ENABLE_WARNINGS_AS_ERRORS=ON \
|
|
-DHDF5_ENABLE_PARALLEL:BOOL=OFF \
|
|
-DHDF5_BUILD_FORTRAN:BOOL=OFF \
|
|
-DHDF5_BUILD_CPP_LIB:BOOL=ON \
|
|
-DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=ON \
|
|
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=ON \
|
|
-DLIBAEC_USE_LOCALCONTENT=OFF \
|
|
-DZLIB_USE_LOCALCONTENT=OFF \
|
|
-DHDF5_ENABLE_ROS3_VFD:BOOL=ON \
|
|
-DHDF5_ENABLE_ROS3_VFD_DOCKER_PROXY=${{ matrix.test_ros3 }} \
|
|
-DHDF5_PACK_EXAMPLES:BOOL=ON \
|
|
-DHDF5_ENABLE_JNI:BOOL=${{ inputs.force_java_implementation == 'jni' }} \
|
|
$GITHUB_WORKSPACE
|
|
shell: bash
|
|
|
|
- name: Build
|
|
run: cmake --build . --parallel 3 --config ${{ inputs.build_mode }}
|
|
working-directory: ${{ runner.workspace }}/build
|
|
|
|
- name: Run Tests
|
|
if: matrix.test_ros3 == 'ON'
|
|
run: |
|
|
# For now, just run S3 tests
|
|
ctest . -C ${{ inputs.build_mode }} -R "S3TEST"
|
|
working-directory: ${{ runner.workspace }}/build
|
|
|
|
# Build and test the ROS3 VFD using aws-c-s3 from source (Linux) or package managers (Windows/macOS)
|
|
build_and_test_vfd:
|
|
if: ${{ inputs.aws_c_s3_build_type == 'source' }}
|
|
|
|
strategy:
|
|
# Let jobs run to completion even if one fails
|
|
fail-fast: false
|
|
matrix:
|
|
os_name: ["Windows MSVC", "Ubuntu GCC", "MacOS Clang"]
|
|
include:
|
|
- os_name: "Windows MSVC"
|
|
os: windows-latest
|
|
ostype: windows
|
|
test_ros3: OFF
|
|
- os_name: "Ubuntu GCC"
|
|
os: ubuntu-latest
|
|
ostype: ubuntu
|
|
test_ros3: ON
|
|
- os_name: "MacOS Clang"
|
|
os: macos-latest
|
|
ostype: macos
|
|
test_ros3: OFF
|
|
|
|
name: "ROS3 VFD Source (${{ matrix.os_name }} ${{ inputs.build_mode }})"
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
# Linux: Download aws-c-s3 artifact from build-aws-c-s3 workflow
|
|
- name: Install libaws-c-s3 (Ubuntu) (Cached installation)
|
|
if: ${{ matrix.os_name == 'Ubuntu GCC' }}
|
|
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: libaws-c-s3-${{ inputs.build_mode }}
|
|
|
|
- name: Untar libaws-c-s3 installation (Ubuntu)
|
|
if: ${{ matrix.os_name == 'Ubuntu GCC' }}
|
|
run: |
|
|
tar xvf libaws-c-s3.tar -C ${{ runner.workspace }}
|
|
|
|
- name: List contents of libaws-c-s3 installation (Ubuntu)
|
|
if: ${{ matrix.os_name == 'Ubuntu GCC' }}
|
|
run: |
|
|
ls -lR ${{ runner.workspace }}/aws-c-s3-build
|
|
|
|
- name: Setup environment (Ubuntu)
|
|
if: ${{ matrix.os_name == 'Ubuntu GCC' }}
|
|
shell: bash
|
|
run: |
|
|
echo "LD_LIBRARY_PATH=${{ runner.workspace }}/aws-c-s3-build/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
|
|
echo "CMAKE_PREFIX_PATH=${{ runner.workspace }}/aws-c-s3-build" >> $GITHUB_ENV
|
|
|
|
# Windows: Install aws-c-s3 via vcpkg
|
|
- name: Install aws-c-s3 (Windows)
|
|
if: ${{ matrix.os_name == 'Windows MSVC' }}
|
|
run: vcpkg install aws-c-s3
|
|
|
|
# macOS: Install aws-c-s3 via Homebrew
|
|
- name: Install aws-c-s3 (MacOS)
|
|
if: ${{ matrix.os_name == 'MacOS Clang' }}
|
|
run: brew install aws-c-s3
|
|
|
|
- name: Set up Java (if specified or FFM required)
|
|
if: inputs.java_version != 'auto' || inputs.force_java_implementation == 'ffm'
|
|
uses: actions/setup-java@dd06d9cba3e5552c54d9f8ea23572deb30010f7c # v5
|
|
with:
|
|
distribution: ${{ inputs.force_java_implementation == 'ffm' && 'oracle' || 'temurin' }}
|
|
java-version: |
|
|
${{
|
|
inputs.force_java_implementation == 'ffm' && '25' ||
|
|
inputs.java_version == 'latest' && '24' ||
|
|
inputs.java_version
|
|
}}
|
|
|
|
- name: Verify Java Setup
|
|
if: inputs.java_version != 'auto' || inputs.force_java_implementation == 'ffm'
|
|
run: |
|
|
java -version
|
|
echo "JAVA_HOME=$JAVA_HOME"
|
|
echo "Selected Java implementation: ${{ inputs.force_java_implementation }}"
|
|
|
|
- name: Set environment for MSVC (Windows)
|
|
if: ${{ matrix.os_name == 'Windows MSVC' }}
|
|
run: |
|
|
# Set these environment variables so CMake picks the correct compiler
|
|
echo "CXX=cl.exe" >> $GITHUB_ENV
|
|
echo "CC=cl.exe" >> $GITHUB_ENV
|
|
|
|
- name: Get HDF5 sources
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Setup jextract (FFM builds only)
|
|
if: ${{ inputs.force_java_implementation == 'ffm' }}
|
|
uses: ./.github/actions/setup-jextract
|
|
with:
|
|
java-version: '25'
|
|
|
|
# For Windows, use vcpkg toolchain file to allow find_package() calls to resolve
|
|
# NOTE: VCPKG_USE_LEGACY_APPLOCAL is a temporary fix for an issue with vcpkg
|
|
# (https://github.com/microsoft/vcpkg-tool/issues/2076) that causes a race in
|
|
# CI which fails Windows ROS3 builds. This should be removed once the issue is
|
|
# resolved.
|
|
- name: "Configure (vcpkg; ROS3 testing: ${{ matrix.test_ros3 }})"
|
|
if: ${{ matrix.os_name == 'Windows MSVC' }}
|
|
run: |
|
|
mkdir "${{ runner.workspace }}/build"
|
|
cd "${{ runner.workspace }}/build"
|
|
cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake \
|
|
--log-level=VERBOSE \
|
|
-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake \
|
|
-DVCPKG_USE_LEGACY_APPLOCAL=ON \
|
|
-DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
-DHDF5_ENABLE_ALL_WARNINGS=ON \
|
|
-DHDF5_ENABLE_WARNINGS_AS_ERRORS=ON \
|
|
-DHDF5_ENABLE_PARALLEL:BOOL=OFF \
|
|
-DHDF5_BUILD_FORTRAN:BOOL=OFF \
|
|
-DHDF5_BUILD_CPP_LIB:BOOL=ON \
|
|
-DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=ON \
|
|
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=ON \
|
|
-DLIBAEC_USE_LOCALCONTENT=OFF \
|
|
-DZLIB_USE_LOCALCONTENT=OFF \
|
|
-DHDF5_ENABLE_ROS3_VFD:BOOL=ON \
|
|
-DHDF5_ENABLE_ROS3_VFD_DOCKER_PROXY=${{ matrix.test_ros3 }} \
|
|
-DHDF5_PACK_EXAMPLES:BOOL=ON \
|
|
-DHDF5_ENABLE_JNI:BOOL=${{ inputs.force_java_implementation == 'jni' }} \
|
|
$GITHUB_WORKSPACE
|
|
shell: bash
|
|
|
|
- name: "Configure (ROS3 testing: ${{ matrix.test_ros3 }})"
|
|
if: ${{ matrix.os_name != 'Windows MSVC' }}
|
|
run: |
|
|
mkdir "${{ runner.workspace }}/build"
|
|
cd "${{ runner.workspace }}/build"
|
|
cmake -C $GITHUB_WORKSPACE/config/cmake/cacheinit.cmake \
|
|
--log-level=VERBOSE \
|
|
-DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
-DHDF5_ENABLE_ALL_WARNINGS=ON \
|
|
-DHDF5_ENABLE_WARNINGS_AS_ERRORS=ON \
|
|
-DHDF5_ENABLE_PARALLEL:BOOL=OFF \
|
|
-DHDF5_BUILD_FORTRAN:BOOL=OFF \
|
|
-DHDF5_BUILD_CPP_LIB:BOOL=ON \
|
|
-DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=ON \
|
|
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=ON \
|
|
-DLIBAEC_USE_LOCALCONTENT=OFF \
|
|
-DZLIB_USE_LOCALCONTENT=OFF \
|
|
-DHDF5_ENABLE_ROS3_VFD:BOOL=ON \
|
|
-DHDF5_ENABLE_ROS3_VFD_DOCKER_PROXY=${{ matrix.test_ros3 }} \
|
|
-DHDF5_PACK_EXAMPLES:BOOL=ON \
|
|
-DHDF5_ENABLE_JNI:BOOL=${{ inputs.force_java_implementation == 'jni' }} \
|
|
$GITHUB_WORKSPACE
|
|
shell: bash
|
|
|
|
- name: Build
|
|
run: cmake --build . --parallel 3 --config ${{ inputs.build_mode }}
|
|
working-directory: ${{ runner.workspace }}/build
|
|
|
|
- name: Run Tests
|
|
if: matrix.test_ros3 == 'ON'
|
|
run: |
|
|
# For now, just run S3 tests
|
|
ctest . -C ${{ inputs.build_mode }} -R "S3TEST"
|
|
working-directory: ${{ runner.workspace }}/build
|
|
|
|
- name: Run Package
|
|
run: cpack -C ${{ inputs.build_mode }} -V
|
|
working-directory: ${{ runner.workspace }}/build
|
|
|
|
- name: List files in the space
|
|
run: |
|
|
ls -l ${{ runner.workspace }}/build
|
|
|
|
# Save files created by CTest script
|
|
- name: Save published binary (Windows)
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v5
|
|
with:
|
|
name: zip-vs2026_cl-S3-${{ inputs.build_mode }}-${{ inputs.save_binary }}-binary
|
|
path: ${{ runner.workspace }}/build/HDF5-*-win64.zip
|
|
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
|
|
if: ${{ (matrix.ostype == 'windows') && ( inputs.save_binary != 'skip') }}
|
|
|
|
- name: Save published binary (linux)
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v5
|
|
with:
|
|
name: tgz-ubuntu-2404_gcc-S3-${{ inputs.build_mode }}-${{ inputs.save_binary }}-binary
|
|
path: ${{ runner.workspace }}/build/HDF5-*-Linux.tar.gz
|
|
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
|
|
if: ${{ (matrix.ostype == 'ubuntu') && ( inputs.save_binary != 'skip') }}
|
|
|
|
- name: Save published binary (Mac_latest)
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v5
|
|
with:
|
|
name: tgz-macos15_clang-S3-${{ inputs.build_mode }}-${{ inputs.save_binary }}-binary
|
|
path: ${{ runner.workspace }}/build/HDF5-*-Darwin.tar.gz
|
|
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
|
|
if: ${{ (matrix.ostype == 'macos') && ( inputs.save_binary != 'skip') }}
|