Check daily for libheif and libde265 releases - #2
Merged
Merged
Conversation
Pin the libheif, libde265 and Emscripten versions in one file, scripts/libheif-versions.env, which the build script, smoke test and Build libheif workflow all read. The new Check for libheif releases workflow compares that file with the latest upstream releases each day. For a newer version it rebuilds and smoke-tests, then opens a pull request with the rebuilt files (or an issue if the build fails), and dispatches Build libheif on the PR branch, since a PR created with GITHUB_TOKEN doesn't trigger pull_request workflows. Emscripten follows the version in libheif's own emscripten.yml. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Posts via an incoming webhook in SLACK_WEBHOOK_URL, the same way Image Hopper's dependency refresh does. Both steps skip when the secret isn't set. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a scheduled workflow that opens a pull request when libheif or libde265 publishes a new release, so the fork keeps up with upstream security fixes without anyone watching for them.
Changes
One versions file:
scripts/libheif-versions.envpinsLIBHEIF_VERSION,LIBDE265_VERSIONandEMSDK_VERSION. Before this, the versions were written inbuild-libheif.sh, the workflow and the README. Nowbuild-libheif.sh,smoke-test.cjsand Build libheif all read the file, and environment variables or workflow inputs still override it.Build libheif (
build-libheif.yml)Check for libheif releases (
update-libheif.yml, daily at 06:17 UTC, or run manually)scripts/check-libheif-releases.shcompares the pinned versions with the latest stable releases, usingsort -Vso it never downgrades. If either is newer, it rewrites the versions file and the README's version line. The Emscripten version followsEMSCRIPTEN_VERSIONin libheif's ownemscripten.ymlat the new tag.src/lib,dist, the versions file and the README tolibheif/<libheif>-libde265-<libde265>and opens a PR with release-note links. It then dispatches Build libheif on that branch: a PR opened withGITHUB_TOKENdoesn't triggerpull_requestworkflows, but a dispatched run does start, and its result shows on the head commit.Build failed: libheif vX with libde265 vYissue linking the run. Closing the issue lets the next run retry.Slack: when it opens a PR, and when the run fails (linking the failure issue if one was opened), it posts to Slack through an incoming webhook, like Image Hopper's
update-dependencies.yml.SLACK_WEBHOOK_URLis a repository secret onimage-hopper, not an org secret, so the fork can't use it yet. Add it withgh secret set SLACK_WEBHOOK_URL -R GravityPDF/heic-to. Until then both Slack steps are skipped.Otherwise uses only
GITHUB_TOKEN. The repo already allows Actions to create PRs, and I enabled Issues on the fork for the failure reports.Testing
gh pr list --head … --state allfinds the merged Upgrade to libheif v1.23.4 and libde265 v1.1.3, built from source #1 branch.actionlintpasses; the only suppression is SC2016, for Markdown backticks inside a single-quoted string.🤖 Generated with Claude Code