Skip to content

ci: keep self-release codex job on ubuntu-latest - #78

Merged
Yan Xue (yanxue06) merged 1 commit into
mainfrom
fix/codex-runner-blacksmith
May 22, 2026
Merged

ci: keep self-release codex job on ubuntu-latest#78
Yan Xue (yanxue06) merged 1 commit into
mainfrom
fix/codex-runner-blacksmith

Conversation

@yanxue06

@yanxue06 Yan Xue (yanxue06) commented May 22, 2026

Copy link
Copy Markdown
Contributor

What

Revert the release-info job in self-release.yaml from blacksmith-4vcpu-ubuntu-2404 back to ubuntu-latest.

Why

release-info runs openai/codex-action@v1, which defaults to safety-strategy: drop-sudo. That strategy removes the runner user from the sudo group and then asserts sudo -n true now fails. On Blacksmith runners, passwordless sudo is granted by a blanket NOPASSWD rule in /etc/sudoers.d/ rather than via the sudo group, so dropping the group membership doesn't revoke it — the action's own verify step then exits 1:

Used 'deluser runner sudo' to drop sudo privilege.
No runner entries found in /etc/sudoers.d requiring changes.
...
Expected sudo to be disabled, but sudo succeeded.
Error: Process completed with exit code 1.

Commit 5ef6ab3 ("route photon-hq ubuntu-latest jobs to Blacksmith") moved this job onto Blacksmith, which is what broke it. This reverts only release-info — the one job that runs codex. check-labels and github-release stay on Blacksmith since they're unaffected.

Alternative considered

Keep it on Blacksmith and set safety-strategy: read-only on the action (the workflow already passes sandbox: read-only). Skipped because read-only runs codex as a user that still has sudo, so it loses the secret-exfil hardening that drop-sudo provides. Staying on ubuntu-latest keeps the stronger posture.

🤖 Generated with Claude Code


View with Codesmith Autofix with Codesmith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

Summary by CodeRabbit

  • Chores
    • Updated internal CI/CD workflow configuration for release automation.

Review Change Stack

The release-info job runs openai/codex-action@v1, which defaults to
safety-strategy: drop-sudo. That removes the runner from the sudo group
then asserts `sudo -n true` fails. On Blacksmith runners sudo is granted
via a blanket NOPASSWD rule rather than the sudo group, so the revocation
doesn't take and the action's own verify step exits 1 ("Expected sudo to
be disabled, but sudo succeeded").

Commit 5ef6ab3 moved this job to blacksmith-4vcpu-ubuntu-2404; revert
just release-info to ubuntu-latest where drop-sudo works. check-labels
and github-release stay on Blacksmith.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 22, 2026 05:25
@coderabbitai

coderabbitai Bot commented May 22, 2026

Copy link
Copy Markdown

Caution

Review failed

Pull request was closed or merged during review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 0511505b-6d0e-4acd-a49d-1dbbc44ea5e4

📥 Commits

Reviewing files that changed from the base of the PR and between 7cb8300 and 7e637a7.

📒 Files selected for processing (1)
  • .github/workflows/self-release.yaml
📜 Recent review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Agent
  • GitHub Check: check-skills / check-skills
  • GitHub Check: check-readme / check-readme
🧰 Additional context used
🧠 Learnings (3)
📚 Learning: 2026-04-05T00:07:12.194Z
Learnt from: qwerzl
Repo: photon-hq/buildspace PR: 62
File: .github/workflows/update-docs.yaml:164-167
Timestamp: 2026-04-05T00:07:12.194Z
Learning: In this repo (photon-hq/buildspace), reusable workflow blocks referenced under photon-hq/buildspace (e.g., `photon-hq/buildspace/.github/blocks/<block>main`) are intentionally pinned to `main` because the blocks and workflows ship together and are kept in sync. During review, do not flag these references as version-pinning/supply-chain issues just because they use `main`; only require pinning to a release tag if there’s a separate reason (e.g., referencing an external repo or a non-controlled branch).

Applied to files:

  • .github/workflows/self-release.yaml
📚 Learning: 2026-04-27T01:30:22.893Z
Learnt from: yanxue06
Repo: photon-hq/buildspace PR: 73
File: .github/workflows/check-readme.yaml:18-18
Timestamp: 2026-04-27T01:30:22.893Z
Learning: When reviewing this repo’s GitHub Actions workflows, treat Blacksmith runner labels like `blacksmith-4vcpu-ubuntu-2404` and other `blacksmith-*vcpu-ubuntu-*` values as valid/intentional third-party runner labels (Blacksmith: blacksmith.sh). Do not flag them as unknown or non-standard runner labels—these are an intentional drop-in replacement for GitHub-hosted runners.

Applied to files:

  • .github/workflows/self-release.yaml
📚 Learning: 2026-04-27T01:30:22.893Z
Learnt from: yanxue06
Repo: photon-hq/buildspace PR: 73
File: .github/workflows/check-readme.yaml:18-18
Timestamp: 2026-04-27T01:30:22.893Z
Learning: In photon-hq/buildspace GitHub workflow YAML files, runner labels that match `blacksmith-*vcpu-ubuntu-*` (e.g., `blacksmith-4vcpu-ubuntu-2404`) are intentionally managed by the Blacksmith CI service (blacksmith.sh) and serve as drop-in replacements for GitHub-hosted ephemeral microVM runners. Do not flag these labels as unknown/non-standard, supply-chain concerns, or “unrecognized runner” issues; any linter/actionlint warnings about these specific labels are expected false positives.

Applied to files:

  • .github/workflows/self-release.yaml
🔇 Additional comments (1)
.github/workflows/self-release.yaml (1)

26-26: LGTM!


📝 Walkthrough

Walkthrough

The self-release GitHub Actions workflow is updated to run the release-info job on ubuntu-latest instead of the custom blacksmith-4vcpu-ubuntu-2404 runner, reducing dependency on a specialized runner while maintaining the existing job gating logic.

Changes

Release Workflow Runner Configuration

Layer / File(s) Summary
Release info job runner environment
.github/workflows/self-release.yaml
The release-info job runs-on field is changed from blacksmith-4vcpu-ubuntu-2404 to ubuntu-latest.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

  • photon-hq/buildspace#74: Introduces optional Blacksmith runner routing for the release-info job, while this PR switches it back to the standard ubuntu-latest environment.

Suggested labels

release

Poem

🐰 A runner change, so swift and light,
From Blacksmith's forge to Ubuntu's flight,
One line adjusted, the workflow flows,
Simpler paths where the rabbit goes!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'ci: keep self-release codex job on ubuntu-latest' directly and specifically describes the main change: reverting the release-info job runner from blacksmith-4vcpu-ubuntu-2404 back to ubuntu-latest.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/codex-runner-blacksmith

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

@coderabbitai coderabbitai Bot added the release label May 22, 2026
@yanxue06
Yan Xue (yanxue06) merged commit 6a806c0 into main May 22, 2026
3 of 5 checks passed

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.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants