Skip to content

Commit

Permalink
Add workflow that reports to CDash (#4864)
Browse files Browse the repository at this point in the history
  • Loading branch information
byrnHDF authored Sep 26, 2024
1 parent e590960 commit a852029
Show file tree
Hide file tree
Showing 11 changed files with 925 additions and 74 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/cmake-bintest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,6 @@ jobs:
HDF5_PLUGIN_PATH: ${{ steps.set-hdf5lib-name.outputs.HDF5_PLUGIN_PATH }}
run: |
cd "${{ steps.set-hdf5lib-name.outputs.HDF5_ROOT }}/share/HDF5Examples"
cmake --workflow --preset=ci-StdShar-MACOS-Clang --fresh
cmake --workflow --preset=ci-StdShar-macos-Clang --fresh
shell: bash

597 changes: 597 additions & 0 deletions .github/workflows/cmake-script.yml

Large diffs are not rendered by default.

36 changes: 30 additions & 6 deletions .github/workflows/daily-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@ name: hdf5 dev daily build
# Triggers the workflow on a schedule or on demand
on:
workflow_dispatch:
inputs:
use_ignore:
description: 'Ignore has_changes check'
type: string
required: false
default: check
schedule:
- cron: "6 0 * * *"

Expand All @@ -14,6 +20,7 @@ jobs:
runs-on: ubuntu-latest
outputs:
hdf5-name: ${{ steps.gethdf5base.outputs.HDF5_NAME_BASE }}
run-ignore: ${{ steps.getinputs.outputs.INPUTS_IGNORE }}

steps:
- uses: actions/[email protected]
Expand All @@ -30,14 +37,31 @@ jobs:

- run: echo "hdf5 base name is ${{ steps.gethdf5base.outputs.HDF5_NAME_BASE }}."

- name: Read inputs
id: getinputs
run: |
echo "INPUTS_IGNORE=${{ github.event.inputs.use_ignore }}" >> $GITHUB_OUTPUT
- run: echo "use_ignore is ${{ steps.getinputs.outputs.INPUTS_IGNORE }}."

call-workflow-tarball:
needs: [get-old-names]
uses: ./.github/workflows/tarball.yml
with:
use_ignore: ${{ needs.get-old-names.outputs.run-ignore }}
use_tag: snapshot
use_environ: snapshots

call-workflow-c-script:
needs: [get-old-names, call-workflow-tarball]
uses: ./.github/workflows/cmake-script.yml
with:
file_base: ${{ needs.call-workflow-tarball.outputs.file_base }}
use_environ: snapshots
if: ${{ ((needs.call-workflow-tarball.outputs.has_changes == 'true') || (needs.get-old-names.outputs.run-ignore == 'ignore')) }}

call-workflow-ctest:
needs: call-workflow-tarball
needs: [get-old-names, call-workflow-tarball]
uses: ./.github/workflows/cmake-ctest.yml
with:
preset_name: ci-StdShar
Expand All @@ -54,17 +78,17 @@ jobs:
AZURE_ENDPOINT: ${{ secrets.AZURE_ENDPOINT }}
AZURE_CODE_SIGNING_NAME: ${{ secrets.AZURE_CODE_SIGNING_NAME }}
AZURE_CERT_PROFILE_NAME: ${{ secrets.AZURE_CERT_PROFILE_NAME }}
if: ${{ needs.call-workflow-tarball.outputs.has_changes == 'true' }}
if: ${{ ((needs.call-workflow-tarball.outputs.has_changes == 'true') || (needs.get-old-names.outputs.run-ignore == 'ignore')) }}

call-workflow-abi:
needs: [call-workflow-tarball, call-workflow-ctest]
needs: [get-old-names, call-workflow-tarball, call-workflow-ctest]
uses: ./.github/workflows/abi-report.yml
with:
file_ref: '1.14.4.3'
file_base: ${{ needs.call-workflow-tarball.outputs.file_base }}
use_tag: snapshot
use_environ: snapshots
if: ${{ needs.call-workflow-tarball.outputs.has_changes == 'true' }}
if: ${{ ((needs.call-workflow-tarball.outputs.has_changes == 'true') || (needs.get-old-names.outputs.run-ignore == 'ignore')) }}

call-workflow-release:
needs: [get-old-names, call-workflow-tarball, call-workflow-ctest, call-workflow-abi]
Expand All @@ -77,7 +101,7 @@ jobs:
file_sha: ${{ needs.call-workflow-tarball.outputs.file_sha }}
use_tag: snapshot
use_environ: snapshots
if: ${{ needs.call-workflow-tarball.outputs.has_changes == 'true' }}
if: ${{ ((needs.call-workflow-tarball.outputs.has_changes == 'true') || (needs.get-old-names.outputs.run-ignore == 'ignore')) }}

call-workflow-remove:
needs: [get-old-names, call-workflow-tarball, call-workflow-ctest, call-workflow-abi, call-workflow-release]
Expand All @@ -88,5 +112,5 @@ jobs:
file_base: ${{ needs.get-old-names.outputs.hdf5-name }}
use_tag: snapshot
use_environ: snapshots
if: ${{ (needs.call-workflow-tarball.outputs.has_changes == 'true') && (needs.get-old-names.outputs.hdf5-name != needs.call-workflow-tarball.outputs.file_base) }}
if: ${{ ((needs.call-workflow-tarball.outputs.has_changes == 'true') || (needs.get-old-names.outputs.run-ignore == 'ignore')) && (needs.get-old-names.outputs.hdf5-name != needs.call-workflow-tarball.outputs.file_base) }}

11 changes: 9 additions & 2 deletions .github/workflows/tarball.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ name: hdf5 dev tarball
on:
workflow_call:
inputs:
use_ignore:
description: 'Ignore has_changes check'
type: string
required: false
default: check
use_tag:
description: 'Release version tag'
type: string
Expand Down Expand Up @@ -43,6 +48,8 @@ jobs:
branch_ref: ${{ steps.get-branch-name.outputs.BRANCH_REF }}
branch_sha: ${{ steps.get-branch-sha.outputs.BRANCH_SHA }}
steps:
- uses: actions/checkout@v4

- name: Get branch name
id: get-branch-name
env:
Expand All @@ -67,7 +74,7 @@ jobs:
with:
seconds: 86400 # One day in seconds
branch: '${{ steps.get-branch-name.outputs.branch_ref }}'
if: ${{ inputs.use_environ == 'snapshots' }}
if: ${{ (inputs.use_environ == 'snapshots' && inputs.use_ignore == 'check') }}

- run: echo "You have ${{ steps.check-new-commits.outputs.new-commits-number }} new commit(s) in ${{ steps.get-branch-name.outputs.BRANCH_REF }} ✅!"
if: ${{ steps.check-new-commits.outputs.has-new-commits == 'true' }}
Expand All @@ -78,7 +85,7 @@ jobs:
name: Create a source tarball
runs-on: ubuntu-latest
needs: check_commits
if: ${{ ((inputs.use_environ == 'snapshots') && (needs.check_commits.outputs.has_changes == 'true')) || (inputs.use_environ == 'release') }}
if: ${{ ((inputs.use_environ == 'snapshots') && ((needs.check_commits.outputs.has_changes == 'true') || (inputs.use_ignore == 'ignore'))) || (inputs.use_environ == 'release') }}
outputs:
file_base: ${{ steps.set-file-base.outputs.FILE_BASE }}
source_base: ${{ steps.version.outputs.SOURCE_TAG }}
Expand Down
69 changes: 57 additions & 12 deletions HDF5Examples/CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,24 @@
"ci-StdShar"
]
},
{
"name": "ci-StdShar-macos-Clang",
"description": "Clang Standard Config for macos (Release)",
"inherits": [
"ci-macos-arm64-Release-Clang",
"ci-StdJava",
"ci-StdShar"
]
},
{
"name": "ci-StdShar-macos-GNUC",
"description": "GNUC Standard Config for macos (Release)",
"inherits": [
"ci-macos-arm64-Release-GNUC",
"ci-StdJava",
"ci-StdShar"
]
},
{
"name": "ci-StdShar-Intel",
"description": "Intel Standard Config for x64 (Release)",
Expand Down Expand Up @@ -111,6 +129,23 @@
"ci-x64-Release-GNUC"
]
},
{
"name": "ci-StdShar-macos-Clang",
"description": "Clang Standard Build for macos-arm64 (Release)",
"configurePreset": "ci-StdShar-macos-Clang",
"inherits": [
"ci-macos-arm64-Release-Clang"
]
},
{
"name": "ci-StdShar-macos-GNUC",
"description": "GNUC Standard Build for macos-arm64 (Release)",
"configurePreset": "ci-StdShar-macos-GNUC",
"verbose": true,
"inherits": [
"ci-macos-arm64-Release-GNUC"
]
},
{
"name": "ci-StdShar-Intel",
"description": "Intel Standard Build for x64 (Release)",
Expand All @@ -137,22 +172,24 @@
]
},
{
"name": "ci-StdShar-MACOS-Clang",
"configurePreset": "ci-StdShar-Clang",
"name": "ci-StdShar-macos-Clang",
"configurePreset": "ci-StdShar-macos-Clang",
"inherits": [
"ci-x64-Release-Clang"
"ci-macos-arm64-Release-Clang"
],
"execution": {
"noTestsAction": "error",
"timeout": 180,
"jobs": 2
},
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Darwin"
}
},
{
"name": "ci-StdShar-macos-GNUC",
"configurePreset": "ci-StdShar-macos-GNUC",
"inherits": [
"ci-macos-arm64-Release-GNUC"
]
},
{
"name": "ci-StdShar-GNUC",
"configurePreset": "ci-StdShar-GNUC",
Expand Down Expand Up @@ -203,11 +240,11 @@
]
},
{
"name": "ci-StdShar-MACOS-Clang",
"name": "ci-StdShar-macos-Clang",
"steps": [
{"type": "configure", "name": "ci-StdShar-Clang"},
{"type": "build", "name": "ci-StdShar-Clang"},
{"type": "test", "name": "ci-StdShar-MACOS-Clang"}
{"type": "configure", "name": "ci-StdShar-macos-Clang"},
{"type": "build", "name": "ci-StdShar-macos-Clang"},
{"type": "test", "name": "ci-StdShar-macos-Clang"}
]
},
{
Expand All @@ -218,6 +255,14 @@
{"type": "test", "name": "ci-StdShar-GNUC"}
]
},
{
"name": "ci-StdShar-macos-GNUC",
"steps": [
{"type": "configure", "name": "ci-StdShar-macos-GNUC"},
{"type": "build", "name": "ci-StdShar-macos-GNUC"},
{"type": "test", "name": "ci-StdShar-macos-GNUC"}
]
},
{
"name": "ci-StdShar-Intel",
"steps": [
Expand Down
10 changes: 5 additions & 5 deletions HDF5Examples/Using_CMake.txt
Original file line number Diff line number Diff line change
Expand Up @@ -90,11 +90,11 @@ These steps are described in more detail below.
* MinGW Makefiles
* NMake Makefiles
* Unix Makefiles
* Visual Studio 15 2017
* Visual Studio 15 2017 Win64
* Visual Studio 16 2019
* Visual Studio 17 2022

* Visual Studio 15
* Visual Studio 15 Win64
* Visual Studio 17
* Visual Studio 17 Win64
* Visual Studio 19

<options> is:
* H5EX_BUILD_TESTING:BOOL=ON
Expand Down
Loading

0 comments on commit a852029

Please sign in to comment.