calm-artist-7206
04/18/2026, 1:30 PMnutritious-balloon-65098
04/18/2026, 1:31 PMnutritious-balloon-65098
04/18/2026, 1:35 PMOpenHands/OpenHands that were GitHub-related and single-dependency updates.docker/build-push-action release was too recent.docker/metadata-action → merged
◦ #13700 actions/download-artifact → merged
◦ #13960 docker/login-action → merged
Conciseness:
• nutritious-balloon-65098
04/18/2026, 1:39 PMgithub_actions Dependabot PRs remaining.docker/build-push-action) has a latest release date of 2026-04-10, which is still within the 14-day freshness window under your rule.calm-artist-7206
04/18/2026, 1:41 PMnutritious-balloon-65098
04/18/2026, 1:41 PMnutritious-balloon-65098
04/18/2026, 1:47 PMdocker/build-push-action 6 → 7) and did not make any new changes. Summary of new work • Reviewed #13961 specifically for supply-chain risk.
• Confirmed the PR only updates three docker/build-push-action references in .github/workflows/ghcr-build.yml.
• Reconfirmed that the relevant Docker CI jobs passed, so the updated action path was actually exercised.
• Verified upstream:
◦ official repo: docker/build-push-action
◦ latest relevant release: v7.1.0
◦ release author: crazy-max
◦ underlying release commit is GitHub-verified
• Reviewed upstream release diffs:
◦ v6.19.2 -> v7.0.0
◦ v7.0.0 -> v7.1.0
• Performed a stronger provenance check by rebuilding upstream v7.1.0 from source and confirming the repo stayed clean after build, which supports that committed dist/ matches source + lockfile.
• Evaluated whether OpenHands uses the newer/riskier code paths; it appears not to rely on the new git-context-query behavior added upstream. Final answer • docker/build-push-action@v7.1.0.
However:
• I would still leave #13961 open for now if we continue to honor the 14-day freshness rule.
• The bigger long-term supply-chain improvement is to pin GitHub Actions to immutable commit SHAs instead of mutable major tags like @v7.calm-artist-7206
04/18/2026, 1:49 PMnutritious-balloon-65098
04/18/2026, 1:49 PMnutritious-balloon-65098
04/18/2026, 1:50 PMdocker/build-push-action 6 → 7) under the corrected 7-day rulev7.1.0 from source/lockfile and confirmed a clean git status afterward
◦ confirmed relevant CI jobs in OpenHands passed
• nutritious-balloon-65098
04/18/2026, 2:07 PMnutritious-balloon-65098
04/18/2026, 2:17 PMOpenHands/extensions/plugins/pr-review@main is ours, so it should not be framed as a normal third-party dependency.
• docker/*, peter-evans/*, oven-sh/*, etc.)
◦ from first-party mutable cross-repo refs like OpenHands/extensions/plugins/pr-review@main Conciseness • pr-review from “third-party” to “first-party but still mutable/sensitive.”nutritious-balloon-65098
04/18/2026, 2:19 PMdocker/build-push-action 6 → 7).uses: references on main and identified unpinned actions, with priority on external third-party actions and noting the separate first-party OpenHands/extensions/plugins/pr-review@main case.aivong-openhands had appeared in the related PR activity and included them in the issue for dependency/security input.pr-review is ours, I read your edited issue first and then made a minimal edit to correct the classification:OpenHands/extensions/plugins/pr-review@main is now framed as a first-party mutable cross-repo ref, not as third-party.
◦ I preserved your human-added preface and only adjusted the wording needed for that distinction.
Conciseness / faithfulness:
• calm-artist-7206
04/18/2026, 4:06 PMnutritious-balloon-65098
04/18/2026, 4:06 PMnutritious-balloon-65098
04/18/2026, 4:10 PMOpenHands/software-agent-sdkactions/github-script 8 → 9
https://github.com/OpenHands/software-agent-sdk/pull/2843
• github-script@v9 compatibility
◦ confirmed required CI checks passed
• nutritious-balloon-65098
04/18/2026, 4:16 PMactions/github-script 8 → 9
https://github.com/OpenHands/software-agent-sdk/pull/2843
• actions/github-script v9.0.0 released 2026-04-09
• require('@actions/github')
◦ confirmed no getOctokit redeclaration pattern
◦ confirmed required CI checks passed
◦ checked upstream provenance
• origin/mainOpenHands/extensions
◦ Docker publishing actions
◦ broad bootstrap actions like astral-sh/setup-uv
◦ token-bearing comment/dispatch/notification actions
Conciseness:
• The work was focused on exactly what you asked:
◦ review/merge relevant GitHub-related Dependabot PRs in software-agent-sdk
◦ then perform the same workflow SHA-pinning analysis and open an issue
• I did not make local code changes in the repository.
• I did not add extraneous edits beyond the GitHub review/merge actions and the new issue.
Overall:
• calm-artist-7206
04/18/2026, 6:11 PMnutritious-balloon-65098
04/18/2026, 6:12 PMnutritious-balloon-65098
04/18/2026, 6:15 PMcalm-artist-7206
04/18/2026, 6:26 PMcalm-artist-7206
04/18/2026, 6:26 PMnutritious-balloon-65098
04/18/2026, 6:26 PMnutritious-balloon-65098
04/18/2026, 6:30 PMuv.lock Pygments bump
▪︎ unrelated wheel churn had already been removed
▪︎ upstream pygments 2.20.0 was older than 7 days
▪︎ lock hashes matched PyPI metadata
▪︎ CI was green
• follow-redirects 1.16.0) was still under 7 days old.
◦ #13938 — frontend eslint group
▪︎ https://github.com/OpenHands/OpenHands/pull/13938
▪︎ Deferred because one dependency (eslint-plugin-i18next 6.1.4) was under 7 days old and Lint frontend was failing.
◦ #13806 — root Python version-all group
▪︎ https://github.com/OpenHands/OpenHands/pull/13806
▪︎ Deferred because it is a large grouped update with major-version jumps and is also conflicting/dirty.
◦ #12806 — frontend version-all group
▪︎ https://github.com/OpenHands/OpenHands/pull/12806
▪︎ Deferred because it is a broad grouped frontend update that needs deeper manual review.
Conciseness check:
• calm-artist-7206
04/18/2026, 6:38 PMnutritious-balloon-65098
04/18/2026, 6:38 PMnutritious-balloon-65098
04/18/2026, 6:40 PMLint frontend is failing
◦ #13806: broad/riskier grouped Python update and currently conflicting
◦ #12806: broad grouped frontend update deferred for manual review
• calm-artist-7206
04/18/2026, 7:01 PMnutritious-balloon-65098
04/18/2026, 7:01 PMnutritious-balloon-65098
04/18/2026, 7:02 PMOpenHands/OpenHandscalm-artist-7206
04/21/2026, 2:37 PMnutritious-balloon-65098
04/21/2026, 2:38 PMnutritious-balloon-65098
04/21/2026, 2:42 PMOpenHands/OpenHands#13932
Conciseness:
• No repository code changes were made locally.
• Only GitHub review/merge/comment actions were taken.
• No extraneous actions beyond the requested fresh Dependabot pass.
Current state after this pass:
• Merged
◦ #13932 — https://github.com/OpenHands/OpenHands/pull/13932
• Still open / deferred
◦ #14036 — https://github.com/OpenHands/OpenHands/pull/14036
◦ #13938 — https://github.com/OpenHands/OpenHands/pull/13938
◦ #12806 — https://github.com/OpenHands/OpenHands/pull/12806
So yes: the fresh pass was completed, the safe PR was handled, and the remaining PRs were reviewed and documented carefully.calm-artist-7206
04/21/2026, 6:36 PMnutritious-balloon-65098
04/21/2026, 6:36 PMnutritious-balloon-65098
04/21/2026, 6:40 PMOpenHands/software-agent-sdk at that timecalm-artist-7206
04/22/2026, 7:06 PMnutritious-balloon-65098
04/22/2026, 7:06 PMnutritious-balloon-65098
04/22/2026, 7:08 PMpython-multipart 0.0.22 -> 0.0.26
◦ Verified:
▪︎ lockfile-only diff (uv.lock)
▪︎ release older than 7 days
▪︎ PyPI hashes matched lockfile
▪︎ upstream metadata pointed to the expected repo
▪︎ current required CI checks were green
◦ Submitted an AI-disclosed approval review and merged it.
• ✅ OpenHands/OpenHands#13968
◦ https://github.com/OpenHands/OpenHands/pull/13968
◦ Reviewed cryptography 46.0.7 CVE fix PR
◦ Verified:
▪︎ changes were limited to regenerated lockfiles (poetry.lock, enterprise/poetry.lock, uv.lock)
▪︎ release older than 7 days
▪︎ PyPI metadata/hashes matched the lockfiles
▪︎ upstream metadata pointed to pyca/cryptography
▪︎ required CI checks were green
◦ Submitted an AI-disclosed approval review and merged it. Checklist • software-agent-sdk