Skip to content

ci: update GitHub Actions pins#28333

Open
daelnom-dev wants to merge 1 commit into
NousResearch:mainfrom
daelnom-dev:ci/update-workflow-actions-2026-05-19
Open

ci: update GitHub Actions pins#28333
daelnom-dev wants to merge 1 commit into
NousResearch:mainfrom
daelnom-dev:ci/update-workflow-actions-2026-05-19

Conversation

@daelnom-dev

Copy link
Copy Markdown

Summary

  • Update GitHub Actions workflow/action uses: pins to latest stable commit SHAs while preserving readable version comments
  • Refresh runtimes/actions across checkout, setup-python, setup-node, setup-uv, artifact, Docker, Pages, GitHub App token, sticky comment, Sigstore, and OSV scanner workflows
  • Harden lint.yml by passing GitHub ref contexts through environment variables before using them in inline shell scripts

Validation

  • actionlint v1.7.12 .github/workflows/*.yml
  • YAML parse for workflow/action/dependabot files
  • uv run pytest tests/test_lint_config.py -q → 5 passed
  • git diff --check
  • Independent workflow pinning, syntax/security, and semantic compatibility reviews

Update workflow actions and reusable workflows to latest stable commit SHAs while preserving version comments.

Also harden lint workflow ref handling by passing GitHub ref contexts through environment variables before use in inline shell scripts.

Validation:
- actionlint v1.7.12 .github/workflows/*.yml
- YAML parse for workflow/action/dependabot files
- uv run pytest tests/test_lint_config.py -q
@daelnom-dev

Copy link
Copy Markdown
Author

Local validation completed before opening this PR:

  • actionlint v1.7.12 .github/workflows/*.yml
  • YAML parse for .github/workflows/*.yml, .github/actions/*/action.yml, and .github/dependabot.yml
  • uv run pytest tests/test_lint_config.py -q → 5 passed
  • git diff --check
  • Independent reviews for action pin completeness, workflow syntax/security, and semantic compatibility

Note: GitHub Actions runs for this fork PR are currently in action_required state and need maintainer approval before they can execute.

@alt-glitch alt-glitch added type/security Security vulnerability or hardening P2 Medium — degraded but workaround exists labels May 19, 2026
@zeanuri

zeanuri commented May 23, 2026

Copy link
Copy Markdown

Confirming downstream — applied just the astral-sh/setup-uv portion of this PR in our fork (zeanuri/hermes-agent): v5 SHA d4b2f3b6... → v8.1.0 SHA 08807647... across tests.yml, lint.yml, and uv-lockfile-check.yml. All 7 test shards pass green, no behavioral differences observed under Node 24.

Would be great to see this merged before the June 2 forced-Node-24 cutoff — that's when soft-warnings become hard-forces and silent breakages start showing up in actions that don't upgrade. Thanks for the broader hardening pass!

@AIalliAI

Copy link
Copy Markdown
Contributor

Verified this PR's pins while chasing the node20 deprecation annotations our CI emits on every run (GitHub flips node20 actions to node24 by default 2026-06-16):

  • All 17 SHA pins are authentic — each resolved to exactly its claimed release tag in the action's upstream repo (annotated tags dereferenced). No mislabeled pins.
  • No workflow edits are required by any of the major bumps for this repo's usage — including the credential-dependent git push flows in nix-lockfile-fix.yml (checkout v6 keeps persist-credentials: true), the create-github-app-token v1→v3 jump (inputs here already use the v2+ hyphenated names), and the Pages v5/v5 pair in deploy-site.yml.

However, the branch is now conflicting with main: about half of these bumps have landed on main piecemeal since May 19 (checkout v6.0.2, setup-python v6.2.0, docker login v4.1.0, build-push v7.1.0, upload/download-artifact v7/v8 in tests.yml, sigstore v3.3.0, osv-scanner v2.3.8), and tests.yml/skills-index.yml/lint.yml have been restructured around the conflict sites.

Given the June 16 deadline I've opened a rebase of the remainder as #44832, keeping this PR's exact SHAs and crediting @daelnom-dev. If you'd rather rebase this original, I'll close mine — whichever is faster for the maintainers.

AIalliAI added a commit to AIalliAI/Hermes that referenced this pull request Jun 12, 2026
GitHub forces actions declaring node20 onto the node24 runtime by
default starting 2026-06-16, and removes node20 from runners on
2026-09-16. Every Tests/Lint run currently emits deprecation
annotations for the node20 pins.

This is a rebase of NousResearch#28333 (credit: daelnom-dev) onto current main.
Roughly half of that PR's bumps have since landed on main piecemeal
(checkout v6.0.2, setup-python v6.2.0, docker login v4.1.0,
build-push v7.1.0, upload/download-artifact v7/v8 in tests.yml,
sigstore v3.3.0, osv-scanner v2.3.8); this picks up the remainder,
keeping that PR's exact verified SHAs:

- astral-sh/setup-uv v5 + v6 -> v8.1.0 (node24)
- actions/upload-artifact v4 -> v7.0.1, download-artifact v4 -> v8.0.1
  (remaining lint/docker-publish/skills-index/pypi sites)
- actions/github-script v7 -> v9.0.0
- actions/setup-node v4 -> v6.4.0
- actions/create-github-app-token v1.9.3 -> v3.2.0 (inputs already
  use the v2+ hyphenated names)
- docker/setup-buildx-action v3 -> v4.0.0
- marocchino/sticky-pull-request-comment v2.9.1 -> v3.0.4
- actions/upload-pages-artifact v3 -> v5.0.0 + deploy-pages v4 ->
  v5.0.0 (documented compatible pair)
- cachix/cachix-action v17 re-tag SHA (tree-identical to current pin)
- comment fix: setup-python pin in lint.yml was already v6.2.0 but
  still labeled v5

Every new SHA was verified to match its tagged release commit in the
action's upstream repo, and each major bump's breaking changes were
checked against this repo's actual usage (inputs, outputs, credential
-dependent push flows in nix-lockfile-fix.yml, Pages staging in
deploy-site.yml, artifact name/pattern downloads) - no workflow
behavior changes required.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P2 Medium — degraded but workaround exists type/security Security vulnerability or hardening

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants