Skip to content

Collapse SYNC+ASYNC per-version workflows into one matrix - #169

Draft
jeanbez wants to merge 1 commit into
developfrom
workflow-matrix
Draft

jeanbez wants to merge 1 commit into
developfrom
workflow-matrix

Conversation

@jeanbez

@jeanbez jeanbez commented Aug 12, 2026

Copy link
Copy Markdown
Member

Wave D item 18, minimal-scope variant. Five workflow files that run the identical SYNC+ASYNC suite against different HDF5 versions collapse into a single matrix workflow.

The four older SYNC-only files (1.10.4, 1.10.7, 1.10.8, 1.12.0) stay as-is because their test set is a strict subset and they don't run ASYNC. Collapsing them would need conditional gates that make the matrix noisier than the win.

Summary

Added: `.github/workflows/h5bench-hdf5-matrix.yml`

  • `strategy.fail-fast: false` so one bad version does not cancel the others.
  • `strategy.matrix.hdf5_version: [1.14.0, 1.14.1, 2.0.0, 2.1.1, 2.2.0]`
  • `container.image: hpcio/hdf5-${{ matrix.hdf5_version }}`
  • Job name: `h5bench (HDF5 ${{ matrix.hdf5_version }})` so each matrix leg reports as e.g. `h5bench (HDF5 2.0.0)`, matching the old per-version workflow's job name.

Deleted: the four per-version workflow files for 1.14.0, 1.14.1, 2.0.0, 2.1.1.

Branch protection

Required-check names WILL shift. Old checks appeared as `h5bench (HDF5 X.X.X) / h5bench`; new ones appear as `h5bench / h5bench (HDF5 X.X.X)`. Any required-check rules on develop/master that name the old paths must be updated before this merges, or those required checks will hang forever.

Coordination with #166 (2.2.0)

If #166 lands first, its `h5bench-hdf5-2.2.0.yml` must be deleted on rebase of this PR (redundant with the matrix leg). If this PR lands first, #166 should drop that per-version file and just push the image.

Test plan

  • All 5 matrix legs run and go green on this PR.
  • Update the branch-protection required-check rule on develop/master to the new names before merging.

@codecov

codecov Bot commented Aug 12, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 58.61%. Comparing base (59d2765) to head (0d5113f).

Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #169   +/-   ##
========================================
  Coverage    58.61%   58.61%           
========================================
  Files           14       14           
  Lines         6036     6036           
  Branches      1421     1421           
========================================
  Hits          3538     3538           
  Misses        1923     1923           
  Partials       575      575           
Flag Coverage Δ
c 58.61% <ø> (ø)
python 58.61% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Wave D item 18, minimal-scope variant. The five workflow files that
run the identical SYNC+ASYNC suite against different HDF5 versions
(1.14.0, 1.14.1, 2.0.0, 2.1.1, 2.2.0) collapse into a single matrix
workflow. The four older SYNC-only files (1.10.4, 1.10.7, 1.10.8,
1.12.0) stay as-is because their test set is a strict subset and
they don't run the ASYNC leg; collapsing them would require
conditional gates that make the matrix noisier than the win.

## New file

.github/workflows/h5bench-hdf5-matrix.yml
  - strategy.fail-fast: false so one bad version does not cancel
    the others
  - strategy.matrix.hdf5_version: [1.14.0, 1.14.1, 2.0.0, 2.1.1, 2.2.0]
  - container.image: hpcio/hdf5-${{ matrix.hdf5_version }}
  - job name: "h5bench (HDF5 ${{ matrix.hdf5_version }})" so each
    matrix leg reports as e.g. "h5bench (HDF5 2.0.0)", matching the
    old per-version workflow's job name as closely as possible.

## Deleted

.github/workflows/h5bench-hdf5-1.14.0.yml
.github/workflows/h5bench-hdf5-1.14.1.yml
.github/workflows/h5bench-hdf5-2.0.0.yml
.github/workflows/h5bench-hdf5-2.1.1.yml

## Branch protection

Required-check names WILL shift. The old checks appeared as
"h5bench (HDF5 X.X.X) / h5bench"; the new ones appear as
"h5bench / h5bench (HDF5 X.X.X)". Any required-check rules on
develop/master that name the old paths must be updated before
this merges, or the required checks will hang.

## Coordination with #166 (2.2.0)

If #166 lands first, its h5bench-hdf5-2.2.0.yml must be deleted on
rebase of this PR (it is redundant with the matrix leg). If this PR
lands first, #166 should drop the per-version file and just push the
image.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant