chore: upgrade GitHub Actions to fix Node 20 deprecation warnings#974
chore: upgrade GitHub Actions to fix Node 20 deprecation warnings#974
Conversation
Upgraded actions to Node 24-compatible versions: - actions/checkout v4 -> v6 - actions/github-script v6/v7 -> v8 - actions/setup-python v4.3.0 -> v6 - actions/upload-artifact v4 -> v6 - pmeier/pytest-results-action @main -> v0.8.0 - actions/stale: add actions: write permission for v10 Co-Authored-By: Itamar Hartstein <haritamar@gmail.com>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
|
👋 @devin-ai-integration[bot] |
📝 WalkthroughWalkthroughGitHub Actions workflow files updated across the repository to use newer versions of several actions. Checkout upgraded from v4 to v6 in multiple workflows, GitHub script upgraded from v6/v7 to v8, setup-python upgraded from v4.3.0 to v6, artifact uploads upgraded from v4 to v6, pytest results pinned to a specific release, and additional permissions added to one workflow. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (2)
.github/workflows/stale.yml (1)
10-10:actions: writeis not required for core functionality; consider removing it to follow least-privilege.For
actions/stale@v10, the minimum permissions needed to mark and close stale issues/PRs areissues: writeandpull-requests: write(pluscontents: writeonly if usingdelete-branch). Theactions: writepermission is used for internal state caching via@actions/cache, but this is optional. If caching overhead is acceptable or not a concern, remove this permission; otherwise, document why it's retained.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/stale.yml at line 10, Remove the broad "actions: write" permission from the workflow and instead set only the least-privilege permissions required (e.g., "issues: write" and "pull-requests: write" and "contents: write" only if delete-branch is used); update the permissions block in the workflow that currently contains "actions: write" and either remove that entry or replace it with the specific permissions, or add a short comment justifying retention if you intentionally need actions cache functionality..github/workflows/test-warehouse.yml (1)
251-251: Consider pinning to commit SHA for immutability. Moving to@v0.8.0is a strong step forward. For stronger supply-chain guarantees, pin this third-party action to the release commit SHA0841ca7.Suggested hard pin
- uses: pmeier/pytest-results-action@v0.8.0 + uses: pmeier/pytest-results-action@0841ca7🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/test-warehouse.yml at line 251, Update the GitHub Actions step that currently references the third‑party action "pmeier/pytest-results-action@v0.8.0" to pin it to the specific commit SHA (0841ca7) instead of the tag; locate the step using the "uses: pmeier/pytest-results-action@v0.8.0" entry and replace the tag with the commit SHA so the workflow uses "pmeier/pytest-results-action@0841ca7" for immutable dependency resolution.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.github/workflows/stale.yml:
- Line 10: Remove the broad "actions: write" permission from the workflow and
instead set only the least-privilege permissions required (e.g., "issues: write"
and "pull-requests: write" and "contents: write" only if delete-branch is used);
update the permissions block in the workflow that currently contains "actions:
write" and either remove that entry or replace it with the specific permissions,
or add a short comment justifying retention if you intentionally need actions
cache functionality.
In @.github/workflows/test-warehouse.yml:
- Line 251: Update the GitHub Actions step that currently references the
third‑party action "pmeier/pytest-results-action@v0.8.0" to pin it to the
specific commit SHA (0841ca7) instead of the tag; locate the step using the
"uses: pmeier/pytest-results-action@v0.8.0" entry and replace the tag with the
commit SHA so the workflow uses "pmeier/pytest-results-action@0841ca7" for
immutable dependency resolution.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: b74652d7-0bf9-46ee-914a-ce866b7d6d31
📒 Files selected for processing (6)
.github/workflows/assign-devin-prs.yml.github/workflows/bump-version.yml.github/workflows/cleanup-stale-schemas.yml.github/workflows/run-precommit.yml.github/workflows/stale.yml.github/workflows/test-warehouse.yml
Summary
Upgrades GitHub Actions across all workflow files to Node 24-compatible versions, addressing the Node 20 deprecation deadline (June 2, 2026).
Upgraded actions:
actions/checkoutv4v6actions/github-scriptv6/v7v8actions/setup-pythonv4.3.0v6actions/upload-artifactv4v6pmeier/pytest-results-action@mainv0.8.0Also adds
actions: writepermission tostale.yml, which is required byactions/stale@v10.Not upgraded (no Node 24 version available):
wow-actions/auto-comment@v1— still node16, no newer version existsrepo-sync/pull-request@v2— Docker-based action, not affected by Node deprecationAlready on Node 24 (no changes needed):
actions/setup-python@v6,actions/stale@v10Review & Testing Checklist for Human
actions/upload-artifactv4→v6: This is a two-major-version jump. Verify that artifact upload behavior (retention, naming, deduplication) hasn't changed in a way that breaks thetest-warehouse.ymlworkflow. Check the v5 and v6 changelogs for breaking changes.actions/setup-pythonv4.3.0→v6: Was previously pinned to a specific patch version. Confirm there was no intentional reason for the pin (e.g., a regression in newer versions). Thecache: "pip"option should still work in v6.actions: writepermission in stale.yml: Verify this is acceptable from a security/least-privilege standpoint. This was added becauseactions/stale@v10needs it to manage workflow runs.postgres) to confirm the upgraded actions work end-to-end intest-warehouse.yml.Notes
pmeier/pytest-results-actionwas moved from the floating@mainref to the pinnedv0.8.0tag, which adds Node 24 support. This is also a supply-chain improvement.actions/setup-python@v6incleanup-stale-schemas.ymlandtest-warehouse.yml) were left unchanged.Link to Devin session: https://app.devin.ai/sessions/cfef8561ef684ea4bdc30dfd48ed44c6
Requested by: @haritamar
Summary by CodeRabbit