Replace deprecated dsaltares/fetch-gh-release-asset with robinraju/re…#258
Conversation
…lease-downloader Fixes DEP0040/DEP0169 deprecation warnings and "Could not find asset id" error caused by the unmaintained dsaltares action. Replaces all 25 usages across 5 workflow files with robinraju/release-downloader@v1, mapping repo→repository, version tags/TAG→tag TAG, file→fileName, and target→out-file-path. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
HDF5 release tags changed from hdf5-x.y.z to x.y.z, but release filenames still use the hdf5- prefix (e.g. hdf5-2.1.1-win-vs2022_cl.zip). - release.yml: prefix use_hdf with hdf5- so filenames resolve correctly; pass new hdf_tag for the bare version number used in git tag lookup - cmake-ctest.yml, cmake-bintest.yml: add hdf_tag input and use it for the release asset tag: field, keeping use_hdf for filename construction Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
brtnfld
left a comment
There was a problem hiding this comment.
Mismatch in .github/workflows/cmake-script.yml
While cmake-bintest.yml and cmake-ctest.yml were updated with the new hdf_tag logic, .github/workflows/cmake-script.yml was only partially modified. It was migrated to use robinraju/release-downloader, but did not receive the hdf_tag input changes.
Under the "Get hdf5 release" steps in cmake-script.yml, the code currently does this:
- name: Get hdf5 release
if: ${{ (inputs.use_environ == 'release') }}
uses: robinraju/release-downloader@v1
with:
repository: 'HDFGroup/hdf5'
tag: '${{ inputs.use_hdf }}'
fileName: '${{ inputs.use_hdf }}-win-vs2022_cl.zip'
token: ${{ github.token }}
Why this will fail:
If inputs.use_hdf is passed as hdf5-2.1.1 (to match the filename hdf5-2.1.1-win-vs, the action will attempt to search for the release tag hdf5-2.1.1. This will fail with a 404 Not Found because the official repository tag is 2.1.1
If inputs.use_hdf is passed as 2.1.1 (to match the tag), the download will search for the asset 2.1.1-win-vs2022_cl.zip, which does not exist.
Suggested Fix:
Update .github/workflows/cmake-script.yml to match the patterns used in cmake-bintest.yml and cmake-ctest.yml:
Add hdf_tag to the inputs of cmake-script.yml:
hdf_tag:
description: "The hdf5 release tag for asset download (version only, without hdf5- prefix)"
required: false
type: string
default: ''
Update the tag fields under the release download steps:
- name: Get hdf5 release
if: ${{ (inputs.use_environ == 'release') }}
uses: robinraju/release-downloader@v1
with:
repository: 'HDFGroup/hdf5'
tag: '${{ inputs.hdf_tag }}'
fileName: '${{ inputs.use_hdf }}-win-vs2022_cl.zip'
token: ${{ github.token }}
(Apply this update to all other release-download blocks for Linux and macOS inside cmake-script.yml)
| Severity | File | Issue-- | -- | -- | -- Finding 1 — ACCURATE (cmake-script.yml:517) Confirmed by reading the file directly. The release step has: tag: '${{ inputs.use_hdf }}' # wrong: e.g. "hdf5-1.14.5" Finding 2 — ACCURATE (pre-existing bug preserved) (publish-release.yml:38) The full file has only two declared inputs (use_tag, target_dir). Line 38 references ${{ inputs.use_hdf }} which is undeclared and evaluates to "". This was already present on main with the old action — the PR didn't introduce it, it preserved it. Finding 3 — ACCURATE (pre-existing, in touched function) (BLOSC2/src/H5Zblosc2.c:428) Line 428 confirmed: sprintf(errmsg, "Too few dimensions for B2ND in filter values (%z/%d)", cd_nelmts - 8, ndim); Finding 4 — ACCURATE (BLOSC2/src/H5Zblosc2.c:443) Line 443 confirmed: sprintf(errmsg, "Too few filter parameters for Blosc2 compression: %d", cd_nelmts); Finding 5 — ACCURATE (BLOSC2/src/H5Zblosc2.c:401) Line 401 confirmed: sprintf(errmsg, "Too few filter parameters for B2ND: %lu", cd_nelmts); |
…lease-downloader
Fixes DEP0040/DEP0169 deprecation warnings and "Could not find asset id" error caused by the unmaintained dsaltares action. Replaces all 25 usages across 5 workflow files with robinraju/release-downloader@v1, mapping repo→repository, version tags/TAG→tag TAG, file→fileName, and target→out-file-path.