mirror of
https://github.com/HDFGroup/hdf5.git
synced 2026-09-25 04:09:44 +03:00
FFM build requires Java 25, Jextract 25. Generates FFM bindings during configure. JNI is default when the requirements are not met or can be forced. Presets added for maven and FFM - JNI is default selection. Enhanced Maven options will work with either JNI or FFM New Workflows for testing and maven uploads. Extensive documentation changes for java.
84 lines
2.3 KiB
YAML
84 lines
2.3 KiB
YAML
name: FreeBSD CI
|
|
|
|
# Triggers the workflow on push or pull request or on demand
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
pull_request:
|
|
branches: [ develop ]
|
|
paths-ignore:
|
|
- '.github/CODEOWNERS'
|
|
- '.github/FUNDING.yml'
|
|
- 'doc/**'
|
|
- 'release_docs/**'
|
|
- 'ACKNOWLEDGEMENTS'
|
|
- 'LICENSE**'
|
|
- '**.md'
|
|
|
|
# Using concurrency to cancel any in-progress job or run
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
|
|
cancel-in-progress: true
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
freebsd-build-and-test:
|
|
runs-on: ubuntu-latest
|
|
name: FreeBSD ${{ matrix.freebsd-version }} Build and Test
|
|
|
|
# Don't run the action if the commit message says to skip CI
|
|
if: "!contains(github.event.head_commit.message, 'skip-ci')"
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
freebsd-version: ['13.5', '14.3', '15.0']
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v5.0.0
|
|
|
|
- name: Build and test on FreeBSD
|
|
uses: vmactions/freebsd-vm@v1
|
|
with:
|
|
release: ${{ matrix.freebsd-version }}
|
|
usesh: true
|
|
prepare: |
|
|
pkg install -y cmake ninja pkgconf bash curl
|
|
run: |
|
|
set -e
|
|
|
|
# Configure the build
|
|
mkdir build
|
|
cd build
|
|
cmake -C ../config/cmake/cacheinit.cmake \
|
|
-G Ninja \
|
|
--log-level=VERBOSE \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DBUILD_SHARED_LIBS:BOOL=ON \
|
|
-DHDF5_ENABLE_ALL_WARNINGS:BOOL=ON \
|
|
-DHDF5_ENABLE_PARALLEL:BOOL=OFF \
|
|
-DHDF5_BUILD_CPP_LIB:BOOL=ON \
|
|
-DHDF5_BUILD_FORTRAN:BOOL=OFF \
|
|
-DHDF5_BUILD_JAVA:BOOL=OFF \
|
|
-DHDF5_BUILD_DOC:BOOL=OFF \
|
|
-DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=ON \
|
|
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=ON \
|
|
-DLIBAEC_USE_LOCALCONTENT:BOOL=OFF \
|
|
-DZLIB_USE_LOCALCONTENT:BOOL=OFF \
|
|
-DHDF5_TEST_API:BOOL=ON \
|
|
-DHDF5_TEST_SHELL_SCRIPTS:BOOL=OFF \
|
|
-DENABLE_EXTENDED_TESTS:BOOL=OFF \
|
|
..
|
|
echo ""
|
|
|
|
# Build
|
|
cmake --build . --parallel 3 --config Release
|
|
echo ""
|
|
|
|
# Run tests
|
|
ctest . --parallel 2 -C Release -V
|
|
echo ""
|