Skip to content

Update GitHub Actions to current majors across workflows#633

Open
johndmulhausen wants to merge 1 commit into
mainfrom
chore/issue-625-update-actions
Open

Update GitHub Actions to current majors across workflows#633
johndmulhausen wants to merge 1 commit into
mainfrom
chore/issue-625-update-actions

Conversation

@johndmulhausen

@johndmulhausen johndmulhausen commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Addresses #625

Lands the three pending GitHub Actions major updates listed under "Pending Approval" on the Renovate Dependency Dashboard (renovate/actions-checkout-7.x, renovate/actions-setup-python-6.x, renovate/major-github-artifact-actions).

Changes

Workflow Action Before After
.github/workflows/cleanup.yml actions/checkout v4 v7
.github/workflows/cleanup.yml actions/setup-python v5 v6
.github/workflows/pr_reply1.yml actions/checkout v3 v7
.github/workflows/pr_reply1.yml actions/setup-python v3 v6
.github/workflows/pr_reply1.yml actions/upload-artifact v4 v7
.github/workflows/pr_reply2.yml actions/checkout v3 v7
.github/workflows/pr_reply2.yml actions/setup-python v3 v6

All target tags verified to exist via gh api repos/actions/<name>/tags (latest majors: checkout v7, setup-python v6, upload-artifact v7).

Breaking-change review per action

  • actions/checkout v3/v4 → v7
    • v5/v6 move to the Node 24 runtime (minimum runner 2.327.1 / 2.329.0). All three jobs run on GitHub-hosted ubuntu-latest, which satisfies this.
    • v6 persists credentials under $RUNNER_TEMP via a git config include instead of writing them into .git/config. The git push in cleanup.yml still authenticates through the include; the stricter runner requirement only affects Docker container actions, which these workflows do not use.
    • v7 adds a guard that refuses to check out fork-PR code on pull_request_target/workflow_run triggers unless allow-unsafe-pr-checkout: true is set. Verified against the v7 source (src/unsafe-pr-checkout-helper.ts): pr_reply2.yml (a workflow_run workflow) checks out with no ref:, which resolves to the base repo's default-branch head, so none of the guard's match conditions (fork repo name, refs/pull/N/head|merge ref, PR head SHA) fire. cleanup.yml triggers on pull_request_review, which the guard does not cover. No opt-in needed.
  • actions/setup-python v3/v5 → v6: v6 moves to Node 24 (hosted runners fine). Python version resolution comes from the shared python-versions manifest, so python-version: 3.9/3.11 behave the same. No renamed or removed inputs affect these workflows.
  • actions/upload-artifact v4 → v7: v5/v6 move to Node 24; v7 adds opt-in direct uploads (archive: false) and ESM internals. The name + path usage here is unchanged, and the artifact backend is the same one v4 already used. The pr_comment artifact (modified_colabs.json) is still uploaded under the same name, and pr_reply2.yml retrieves it through the GitHub REST API via nb_helpers/ghapi, which is unaffected by the action version.

The cross-workflow artifact handoff (pr_reply1.yml uploads pr_commentpr_reply2.yml downloads it via API in .github/scripts/pr_reply2.py) was reviewed end to end; naming and behavior line up after the bumps.

Relationship to Renovate pin PR #624

Renovate's open PR #624 ("Pin dependencies") pins the current action versions to SHA digests, per the SHA-pinning config enabled in #623. This PR touches the same uses: lines, so the two conflict. Suggested order: merge this major-version bump first, then let Renovate rebase #624 (rebase checkbox on the dashboard), which will re-pin the new v7/v6/v7 versions to digests. That converges on digest-pinned current majors without hand-picking SHAs here.

Validation

  • python3 -c "import yaml,glob; [yaml.safe_load(open(f)) for f in glob.glob('.github/workflows/*.yml')]"yaml ok
  • npx --yes --package renovate -- renovate-config-validator .github/renovate.json5INFO: Config validated successfully against 1 file(s)

Note on the dashboard's "Repository problem"

The dashboard reports: "File contents are invalid JSONC but parse using JSON5." This repo's .github/renovate.json5 is plain JSON and validates clean (see above), so the warning appears to originate from the shared preset it extends — github>wandb/renovate-config serves JSON5-style content from a .json file. That needs fixing in the wandb/renovate-config repo, not here.

🤖 Generated with Claude Code

Bumps actions/checkout to v7, actions/setup-python to v6, and
actions/upload-artifact to v7 in cleanup.yml, pr_reply1.yml, and
pr_reply2.yml, as flagged on the Renovate dependency dashboard (#625).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 17, 2026 17:16

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates GitHub Actions workflow dependencies to current major versions to address Renovate dashboard items (Issue #625) and keep CI automation aligned with supported action runtimes.

Changes:

  • Bump actions/checkout to v7 across workflows.
  • Bump actions/setup-python to v6 across workflows.
  • Bump actions/upload-artifact to v7 in the workflow that publishes the pr_comment artifact.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
.github/workflows/cleanup.yml Updates checkout/setup-python majors used by the notebook cleanup job.
.github/workflows/pr_reply1.yml Updates checkout/setup-python and upload-artifact majors used to generate and upload modified_colabs.json.
.github/workflows/pr_reply2.yml Updates checkout/setup-python majors used by the workflow-run reply job.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@johndmulhausen
johndmulhausen marked this pull request as ready for review July 21, 2026 21:33
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