chore: bump actions to Node 24 compatible majors#27
Conversation
…atible majors Addresses GitHub's Node 20 deprecation warning (Node 20 runtime removed from runners Sept 16, 2026; forced to Node 24 June 2, 2026). Bumps across all reusable workflows (pre-commit, lambda_deploy, lambda_pytest, python_lint, check_for_changes): - actions/checkout@v4 -> @v5 - actions/setup-python@v5 -> @v6 - actions/cache@v4 -> @v5 - actions/upload-artifact@v4.3.3 -> @v4 (tracks latest v4 patch; recent v4 patches support Node 24 without upload-artifact's v5+ breaking changes to archive/ESM handling) All chosen majors are the lowest Node-24-compatible stable release, minimizing breaking-change risk. Our usage is simple (no archive: false, no name/compression tuning) so even a v7 upgrade would work; staying on v4 for upload-artifact keeps the diff minimal.
WalkthroughUpdating GitHub Actions versions across all CI/CD workflows: Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 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)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/lambda_deploy.yml (1)
119-123:⚠️ Potential issue | 🔴 CriticalUse actions/upload-artifact@v6 or later for Node 24 support.
The latest v4 release (v4.6.0, January 2025) runs on Node 20 only and triggers deprecation warnings on Node 24. Node 24 support requires actions/upload-artifact@v6.0.0 or later, which was released in December 2025. Update to v6 or a later version to align with Node 24 requirements.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/lambda_deploy.yml around lines 119 - 123, Update the GitHub Actions step that uses actions/upload-artifact@v4 to actions/upload-artifact@v6 (or a later compatible tag) so the workflow supports Node 24; keep the conditional (if: (steps.get_packaged.outcome!='success')) and the with fields (name: sam_template_${{steps.file_hash.outputs.file_hash}} and path: ${{inputs.app_path_prefix}}/${{inputs.app_path}}/packaged.yaml) unchanged while only changing the action reference from actions/upload-artifact@v4 to actions/upload-artifact@v6+.
🧹 Nitpick comments (1)
.github/workflows/lambda_pytest.yml (1)
78-88: Consider using the built-in cache parameter inactions/setup-python@v6.The current manual caching approach with
actions/cache@v5is compatible withsetup-python@v6, butv6now supports a nativecache: 'pip'parameter in the action itself. This is the recommended pattern and simplifies the workflow.Instead of:
- uses: actions/setup-python@v6 with: python-version: ${{ inputs.python_version }} - uses: actions/cache@v5 with: path: ~/.cache/pip key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements*.txt') }}Use:
- uses: actions/setup-python@v6 with: python-version: ${{ inputs.python_version }} cache: 'pip'🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/lambda_pytest.yml around lines 78 - 88, Replace the manual pip cache step with setup-python's native cache option: remove the separate actions/cache@v5 step (the job step with id: cache-pip) and instead add cache: 'pip' to the existing uses: actions/setup-python@v6 with block that sets python-version: ${{ inputs.python_version }}; ensure the workflow no longer references the removed cache step and rely on setup-python@v6 to handle pip caching.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In @.github/workflows/lambda_deploy.yml:
- Around line 119-123: Update the GitHub Actions step that uses
actions/upload-artifact@v4 to actions/upload-artifact@v6 (or a later compatible
tag) so the workflow supports Node 24; keep the conditional (if:
(steps.get_packaged.outcome!='success')) and the with fields (name:
sam_template_${{steps.file_hash.outputs.file_hash}} and path:
${{inputs.app_path_prefix}}/${{inputs.app_path}}/packaged.yaml) unchanged while
only changing the action reference from actions/upload-artifact@v4 to
actions/upload-artifact@v6+.
---
Nitpick comments:
In @.github/workflows/lambda_pytest.yml:
- Around line 78-88: Replace the manual pip cache step with setup-python's
native cache option: remove the separate actions/cache@v5 step (the job step
with id: cache-pip) and instead add cache: 'pip' to the existing uses:
actions/setup-python@v6 with block that sets python-version: ${{
inputs.python_version }}; ensure the workflow no longer references the removed
cache step and rely on setup-python@v6 to handle pip caching.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 53203581-da63-4b97-bd40-9e87f401af61
📒 Files selected for processing (5)
.github/workflows/check_for_changes.yml.github/workflows/lambda_deploy.yml.github/workflows/lambda_pytest.yml.github/workflows/pre-commit.yml.github/workflows/python_lint.yml
Summary
Addresses GitHub's Node 20 deprecation warning surfaced in downstream workflows (e.g. hipponot/iac#265 CI). Node 20 is being forced to Node 24 on June 2, 2026 and Node 20 is removed from runners entirely on September 16, 2026 per GitHub's changelog.
Changes
Bumps action versions across all reusable workflows:
actions/checkout@v4@v5actions/setup-python@v5@v6actions/cache@v4@v5actions/upload-artifact@v4.3.3@v4name+pathonly) would also work on v7, but staying on v4 keeps the diff minimal.Files touched:
pre-commit.yml,lambda_deploy.yml,lambda_pytest.yml,python_lint.yml,check_for_changes.yml.All chosen versions are the lowest Node-24-compatible stable major to minimize breaking-change risk.
Runner compatibility
Confirmed: current GitHub-hosted ubuntu-latest runner is
2.333.1, which exceeds the2.329.0+requirement for these action versions.Test plan
check_for_changesand (indirectly)pre-commitvia downstream repos — watch for Node 20 warnings.lambda_deployandlambda_pytestrun after merge to confirm artifact upload and Python setup still work as expected.Summary by CodeRabbit