refactor: rename release artifacts - #257
Conversation
Include release tag (version) if available and abbreviate SHA.
Unit Test Coverage ReportCoverage Regression Summary
Find details on the base coverage at https://iupac-inchi.github.io/InChI/coverage/index.html Find details on this PR's coverage by downloading coverage-reports-31599202446 and opening html/index.html |
fbaensch-beilstein
left a comment
There was a problem hiding this comment.
Nice cleanup — the artifact naming is right and I verified the mechanics locally:
- the new pinned hash matches GitHub's
hashFilesalgorithm (sha256of the concatenated per-filesha256) for the updatedbuild_matrix.json; - building
demos/inchi_main/srcon Linux produces exactlybin/libinchi.so.1.07withSONAME=libinchi.so.1.07, andinchi_main'sDT_NEEDEDmatches — so the newlib_pathvalues are correct; - CI is unaffected: the
full_buildtree still gets thelibinchi.sosymlink next to the versioned file, sotest_multithreading.pyand both composite actions' defaultlibrary-pathkeep resolving.
One security point, inline below, plus the same issue pre-existing further down the file.
Same injection at Create release (pre-existing, outside this diff).
gh release create ${{ github.ref_name }} \
--verify-tag \
--title "${{ github.ref_name }}" \Here the tag can't be sanitised (--verify-tag needs the literal name), so quote it out of the script instead:
- name: Create release
shell: bash
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAG: ${{ github.ref_name }}
# See https://cli.github.com/manual/gh_release_create.
run: |
gh release create "$TAG" \
--verify-tag \
--title "$TAG" \
--notes "For details about this release have a look at the [CHANGELOG](INCHI-1-DOC/CHANGELOG.md)." \
release_artifacts.zip cmake_configurations.zipNot introduced by this PR, but fixing only the new step leaves the file inconsistent — worth doing both here or filing a follow-up.
Two non-blocking notes I'll leave as plain comments rather than change requests:
- The artifact now ships only
libinchi.so.1.07/libinchi.1.07.dylibwith no unversionedlibinchi.so—demos/inchi_main/src/CMakeLists.txt:102copies$<TARGET_FILE:libinchi>, not the symlink. Correct for the bundledinchi_main, but it breaks anyone doingdlopen("libinchi.so")against a downloaded release. Intentional? - The hash guard was already stale on
dev:ae87ded…matchesbuild_matrix.jsonas of 94aa402, but c612989 changed the matrix without re-pinning — so the Release workflow currently aborts at Verify build matrix. This PR incidentally fixes that. Since nothing in CI exercisesrelease.yml, the pin rots invisibly; a one-line CI step recomputing and comparing it would catch the next one.
This PR implements #197.