* OESS-98 fix tools test for plugins * sync fork * Merge of changes from dev * Move problem option to bottom of the list until fixed * HDFFV-11106 - fix parsing optional args * HDFFV-11106 add note * grammer fix * Whitespace after clang formatting * Undo format version 11 changes * Update check to working version * Merge workflow and minor changes from develop * Update supported platforms * PR#3 merge from develop * Merge gcc 10 diagnostics option from develop * Merge #318 OSX changes from develop * Merge serval small changes from dev * fix typo * Minor non-space formatting changes * GH #386 copyright corrections for java folder * revert because logic requires false return * Merges from develop #358 patches from vtk #361 fix header guard spelling * Remove case statement for H5I_EVENTSET * Correct call with versioning * Remove tabs * Double underscore change * Merges from develop #340 clang -Wformat-security warnings #360 Fixed uninitialized warnings Remove more underscores from header guards * Merge #380 from develop * Correct date entry * Split format source and commit changes on repo push * remove pre-split setting * Change windows TS to use older VS. * HDFFV-11212 JNI export util and Javadoc * Suggested review changes * Another change found * Committing clang-format changes * Some Javadoc warning fixes * Committing clang-format changes * Updated javadoc fixes * HDFFV-11228/9 merges from develop * remove obsolete debug comment * Fix conflict * HDFFV-11229 merge changes from develop * HDFFV-11229 merge second compare from develop * HDFFV-11229 fix reference file * HDFFV-11229 update autotools test script for two ref files * HDFFV-11229 merge dev changes for long double display in tools * Committing clang-format changes * Update with changes from develop * Add "option" command for clang options * Rework CMake add_custom to use the BYPRODUCTS argument Update pkgconfig scripts for parallel builds. Fix install COPYING file reference. Remove unused round defines. Change CMake default setting of BUILD_CPP to off. * Whitespace changes * Rework CMake add_custom to use the BYPRODUCTS argument * Revert CMake configure checks for round defines * With VS 2015 minimum strdup is supported * Doxygen comments merged from develop * doxygen build updates * Correct version string for map functions * TRILAB-227 and tools debug merge from develop * TRILAB-227 Enable test * Quote subset args * Use MATCHES in compiler id compare, merge from dev * Revert test enable * Add file to list * doxygen version errors * if blocks needed for build modes * Update list of test platforms * Issue #669 remove version from pkgcfg filename * remove version from h5cc script * Merge CMake and java refs from dev Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
220 lines
7.4 KiB
YAML
220 lines
7.4 KiB
YAML
name: hdf5 dev CI
|
|
|
|
# Controls when the action will run. Triggers the workflow on push or pull request
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches: [ develop, hdf5_1_12, hdf5_1_10, hdf5_1_8 ]
|
|
paths-ignore:
|
|
- '.github/**'
|
|
- 'doc/**'
|
|
- 'release_docs/**'
|
|
|
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
|
jobs:
|
|
# This workflow contains a single job called "build"
|
|
build:
|
|
strategy:
|
|
# fail-fast: false
|
|
matrix:
|
|
name: ["Windows Latest MSVC", "Ubuntu Latest GCC", "Ubuntu Debug GCC", "macOS Latest Clang", "Ubuntu Autotools GCC", "Windows TS MSVC", "Ubuntu TS GCC", "TS Debug GCC", "macOS TS Clang", "TS Autotools GCC"]
|
|
include:
|
|
- name: "Windows Latest MSVC"
|
|
artifact: "Windows-MSVC.tar.xz"
|
|
os: windows-latest
|
|
build_type: "Release"
|
|
toolchain: ""
|
|
cpp: ON
|
|
fortran: OFF
|
|
java: ON
|
|
ts: OFF
|
|
hl: ON
|
|
parallel: OFF
|
|
generator: "-G \"Visual Studio 16 2019\" -A x64"
|
|
- name: "Ubuntu Latest GCC"
|
|
artifact: "Linux.tar.xz"
|
|
os: ubuntu-latest
|
|
build_type: "Release"
|
|
cpp: ON
|
|
fortran: ON
|
|
java: ON
|
|
ts: OFF
|
|
hl: ON
|
|
parallel: OFF
|
|
toolchain: "config/toolchain/GCC.cmake"
|
|
generator: "-G Ninja"
|
|
- name: "macOS Latest Clang"
|
|
artifact: "macOS.tar.xz"
|
|
os: macos-latest
|
|
build_type: "Release"
|
|
cpp: ON
|
|
fortran: OFF
|
|
java: ON
|
|
ts: OFF
|
|
hl: ON
|
|
parallel: OFF
|
|
toolchain: "config/toolchain/clang.cmake"
|
|
generator: "-G Ninja"
|
|
- name: "Ubuntu Debug GCC"
|
|
artifact: "LinuxDBG.tar.xz"
|
|
os: ubuntu-latest
|
|
build_type: "Debug"
|
|
cpp: ON
|
|
fortran: OFF
|
|
java: OFF
|
|
ts: OFF
|
|
hl: ON
|
|
parallel: OFF
|
|
toolchain: "config/toolchain/GCC.cmake"
|
|
generator: "-G Ninja"
|
|
- name: "Ubuntu Autotools GCC"
|
|
artifact: "LinuxA.tar.xz"
|
|
os: ubuntu-latest
|
|
build_type: "Release"
|
|
cpp: enable
|
|
fortran: enable
|
|
java: enable
|
|
ts: disable
|
|
hl: enable
|
|
parallel: disable
|
|
toolchain: ""
|
|
generator: "autogen"
|
|
# Threadsafe runs
|
|
- name: "Windows TS MSVC"
|
|
artifact: "Windows-MSVCTS.tar.xz"
|
|
os: windows-2016
|
|
build_type: "Release"
|
|
toolchain: ""
|
|
cpp: OFF
|
|
fortran: OFF
|
|
java: OFF
|
|
ts: ON
|
|
hl: OFF
|
|
parallel: OFF
|
|
generator: "-G \"Visual Studio 15 2017 Win64\""
|
|
- name: "Ubuntu TS GCC"
|
|
artifact: "LinuxTS.tar.xz"
|
|
os: ubuntu-latest
|
|
build_type: "Release"
|
|
cpp: OFF
|
|
fortran: OFF
|
|
java: OFF
|
|
ts: ON
|
|
hl: OFF
|
|
parallel: OFF
|
|
toolchain: "config/toolchain/GCC.cmake"
|
|
generator: "-G Ninja"
|
|
- name: "macOS TS Clang"
|
|
artifact: "macOSTS.tar.xz"
|
|
os: macos-latest
|
|
build_type: "Release"
|
|
cpp: OFF
|
|
fortran: OFF
|
|
java: OFF
|
|
ts: ON
|
|
hl: OFF
|
|
parallel: OFF
|
|
toolchain: "config/toolchain/clang.cmake"
|
|
generator: "-G Ninja"
|
|
- name: "TS Debug GCC"
|
|
artifact: "LinuxTSDBG.tar.xz"
|
|
os: ubuntu-latest
|
|
build_type: "Debug"
|
|
cpp: OFF
|
|
fortran: OFF
|
|
java: OFF
|
|
ts: ON
|
|
hl: OFF
|
|
parallel: OFF
|
|
toolchain: "config/toolchain/GCC.cmake"
|
|
generator: "-G Ninja"
|
|
- name: "TS Autotools GCC"
|
|
artifact: "LinuxATS.tar.xz"
|
|
os: ubuntu-latest
|
|
build_type: "Release"
|
|
cpp: disable
|
|
fortran: disable
|
|
java: disable
|
|
ts: enable
|
|
hl: disable
|
|
parallel: disable
|
|
toolchain: ""
|
|
generator: "autogen"
|
|
# - name: "Ubuntu Parallel GCC"
|
|
# artifact: "LinuxPar.tar.xz"
|
|
# os: ubuntu-latest
|
|
# build_type: "Release"
|
|
# cpp: OFF
|
|
# fortran: OFF
|
|
# parallel: ON
|
|
# toolchain: "config/toolchain/GCC.cmake"
|
|
# generator: "-G Ninja"
|
|
|
|
name: ${{ matrix.name }}
|
|
# The type of runner that the job will run on
|
|
runs-on: ${{ matrix.os }}
|
|
if: "!contains(github.event.head_commit.message, 'skip-ci')"
|
|
|
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
|
steps:
|
|
- name: Install Dependencies (Linux)
|
|
run: sudo apt-get install ninja-build
|
|
if: matrix.os == 'ubuntu-latest'
|
|
- name: Install Autotools Dependencies (Linux)
|
|
run: sudo apt-get install automake autoconf libtool libtool-bin
|
|
if: matrix.generator == 'autogen'
|
|
- name: Install Dependencies (Windows)
|
|
run: choco install ninja
|
|
if: matrix.os == 'windows-latest'
|
|
- name: Install Dependencies (macOS)
|
|
run: brew install ninja
|
|
if: matrix.os == 'macos-latest'
|
|
- name: Set environment for MSVC (Windows)
|
|
if: matrix.os == 'windows-latest'
|
|
run: |
|
|
# Set these env vars so cmake picks the correct compiler
|
|
echo "CXX=cl.exe" >> $GITHUB_ENV
|
|
echo "CC=cl.exe" >> $GITHUB_ENV
|
|
|
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
|
- name: Get Sources
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Autotools Configure
|
|
if: matrix.generator == 'autogen'
|
|
run: |
|
|
sh ./autogen.sh
|
|
sh ./bin/chkmanifest
|
|
mkdir "${{ runner.workspace }}/build"
|
|
cd "${{ runner.workspace }}/build"
|
|
$GITHUB_WORKSPACE/configure --enable-shared --${{ matrix.ts }}-threadsafe --${{ matrix.hl }}-hl --${{ matrix.parallel }}-parallel --${{ matrix.cpp }}-cxx --${{ matrix.fortran }}-fortran --${{ matrix.java }}-java
|
|
shell: bash
|
|
|
|
- name: Configure
|
|
if: matrix.generator != 'autogen'
|
|
run: |
|
|
mkdir "${{ runner.workspace }}/build"
|
|
cd "${{ runner.workspace }}/build"
|
|
cmake ${{ matrix.generator }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_TOOLCHAIN_FILE=${{ matrix.toolchain }} -DBUILD_SHARED_LIBS=ON -DHDF5_ENABLE_ALL_WARNINGS=ON -DHDF5_ENABLE_THREADSAFE:BOOL=${{ matrix.ts }} -DHDF5_BUILD_HL_LIB:BOOL=${{ matrix.hl }} -DHDF5_ENABLE_PARALLEL:BOOL=${{ matrix.parallel }} -DHDF5_BUILD_CPP_LIB:BOOL=${{ matrix.cpp }} -DHDF5_BUILD_FORTRAN=${{ matrix.fortran }} -DHDF5_BUILD_JAVA=${{ matrix.java }} $GITHUB_WORKSPACE
|
|
shell: bash
|
|
|
|
- name: Autotools Build
|
|
if: matrix.generator == 'autogen'
|
|
run: make
|
|
working-directory: ${{ runner.workspace }}/build
|
|
|
|
- name: Build
|
|
if: matrix.generator != 'autogen'
|
|
run: cmake --build . --config ${{ matrix.build_type }}
|
|
working-directory: ${{ runner.workspace }}/build
|
|
|
|
- name: Autotools Test
|
|
if: matrix.generator == 'autogen'
|
|
run: make check
|
|
working-directory: ${{ runner.workspace }}/build
|
|
|
|
- name: Test
|
|
if: matrix.generator != 'autogen'
|
|
run: ctest --build . -C ${{ matrix.build_type }} -V
|
|
working-directory: ${{ runner.workspace }}/build
|