Skip to content

Update CI workflow: modernize action versions and runners#52

Open
JasoonS wants to merge 1 commit intomainfrom
claude/fix-macos-github-actions-qHLuF
Open

Update CI workflow: modernize action versions and runners#52
JasoonS wants to merge 1 commit intomainfrom
claude/fix-macos-github-actions-qHLuF

Conversation

@JasoonS
Copy link
Contributor

@JasoonS JasoonS commented Mar 16, 2026

Summary

This PR modernizes the GitHub Actions CI/CD workflow by updating action versions to their latest releases and updating macOS runner versions to currently supported versions.

Key Changes

  • Action versions: Updated all GitHub Actions to their latest versions:

    • actions/checkout: v4 → v6
    • actions/setup-python: v5 → v6
    • actions/upload-artifact: v4 → v6
    • actions/download-artifact: v4 → v7
  • macOS runners: Updated to currently supported versions:

    • macos-13macos-15-intel (for x86_64 builds)
    • macos-14macos-15 (for aarch64 builds)
  • Documentation: Added a comment noting the last update date and purpose of manual modifications

Implementation Details

These updates ensure the workflow uses modern, actively maintained versions of GitHub Actions and runs on supported macOS versions. The changes maintain backward compatibility with the existing build matrix for Python versions (3.9-3.14) across all platforms (Linux, Windows, macOS).

https://claude.ai/code/session_01KDSfy998W8oiQ61iVtoNMv

Summary by CodeRabbit

  • Chores
    • Updated CI/CD pipeline with newer action versions and runner environments across Linux, Windows, and macOS platforms.
    • Enhanced artifact upload and download processes in the release workflow.

…0 deprecation

- Replace removed macos-13 runner with macos-15-intel for x86_64 builds
- Upgrade macos-14 to macos-15 for aarch64 builds
- Bump actions/checkout v4 → v6 (Node.js 24 support)
- Bump actions/setup-python v5 → v6 (Node.js 24 support)
- Bump actions/upload-artifact v4 → v6 (Node.js 24 support)
- Bump actions/download-artifact v4 → v7 (Node.js 24 support)

https://claude.ai/code/session_01KDSfy998W8oiQ61iVtoNMv
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 16, 2026

📝 Walkthrough

Walkthrough

GitHub Actions workflow updated to use newer versions of checkout, setup-python, and artifact actions, with runner specifications modernized to macos-15-intel and macos-15 platforms. Metadata timestamp added reflecting the modernization date.

Changes

Cohort / File(s) Summary
GitHub Actions Workflow Modernization
.github/workflows/publish.yml
Updated action versions (checkout, setup-python, upload-artifact to v6+, download-artifact to v7), replaced runner images with newer macos-15 variants, and added modernization metadata timestamp. Workflow logic and overall structure preserved.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 With whiskers twitching at the sight,
GitHub Actions now shine bright!
Macos runners hop so spry,
Version upgrades reach the sky!
Workflows dance, modernized with delight!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and accurately summarizes the main change: modernizing GitHub Actions versions and macOS runners, which aligns perfectly with the PR objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch claude/fix-macos-github-actions-qHLuF
📝 Coding Plan
  • Generate coding plan for human review comments

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

CodeRabbit can approve the review once all CodeRabbit's comments are resolved.

Enable the reviews.request_changes_workflow setting to automatically approve the review once all CodeRabbit's comments are resolved.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
.github/workflows/publish.yml (2)

39-40: Pin action refs to immutable commit SHAs instead of floating major version tags.

Using @v6/@v7 tags is convenient, but GitHub recommends pinning to full-length commit SHAs as the only way to guarantee immutable action references and mitigate supply-chain risks. Prefer @<full-commit-sha> and let Dependabot/Renovate keep SHAs updated.

Applies to: 39-40, 52, 68-69, 81, 99-100, 112, 120, 127, 137

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/publish.yml around lines 39 - 40, The workflow uses
floating major tags for GitHub Actions (e.g., actions/checkout@v6 and
actions/setup-python@v6); replace these with the corresponding full commit SHAs
to pin immutable action refs across the workflow (also update other occurrences
like actions/setup-node, actions/cache, etc.), updating each usage to use
@<full-commit-sha> and commit the change; use Dependabot/Renovate to keep SHAs
current and verify signatures/compatibility after pinning.

137-137: Review actions/download-artifact v8 for breaking changes before upgrading.

v8 is the current major version, but contains breaking changes from v7: digest mismatches now fail by default (configurable via digest-mismatch input), and decompression behavior changed (configurable via new skip-decompress input). Test the workflow thoroughly before upgrading.

Suggested change
-      - uses: actions/download-artifact@v7
+      - uses: actions/download-artifact@v8
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/publish.yml at line 137, Update the GitHub Actions step
that currently uses actions/download-artifact@v7 to v8 and adjust its inputs for
the breaking changes: add and configure the new digest-mismatch input (e.g., set
digest-mismatch: ignore or fail as desired) and add skip-decompress if you need
the prior decompression behavior; then run CI/workflow tests to validate
artifact downloads and decompression paths for the steps referencing
actions/download-artifact to ensure no digest mismatches or decompression
regressions occur.
🤖 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/publish.yml:
- Around line 39-40: The workflow uses floating major tags for GitHub Actions
(e.g., actions/checkout@v6 and actions/setup-python@v6); replace these with the
corresponding full commit SHAs to pin immutable action refs across the workflow
(also update other occurrences like actions/setup-node, actions/cache, etc.),
updating each usage to use @<full-commit-sha> and commit the change; use
Dependabot/Renovate to keep SHAs current and verify signatures/compatibility
after pinning.
- Line 137: Update the GitHub Actions step that currently uses
actions/download-artifact@v7 to v8 and adjust its inputs for the breaking
changes: add and configure the new digest-mismatch input (e.g., set
digest-mismatch: ignore or fail as desired) and add skip-decompress if you need
the prior decompression behavior; then run CI/workflow tests to validate
artifact downloads and decompression paths for the steps referencing
actions/download-artifact to ensure no digest mismatches or decompression
regressions occur.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 6d9a5ba5-5cd2-4aea-8f4c-360dda9108a4

📥 Commits

Reviewing files that changed from the base of the PR and between 635b671 and b4dac34.

📒 Files selected for processing (1)
  • .github/workflows/publish.yml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants