Skip to content

ci: migrate all workflows to Namespace runners - #655

Draft
claude[bot] wants to merge 1 commit into
mainfrom
claude/migrate-runners-to-namespace
Draft

claude[bot] wants to merge 1 commit into
mainfrom
claude/migrate-runners-to-namespace

Conversation

@claude

@claude claude Bot commented Sep 18, 2026

Copy link
Copy Markdown

Requested by Phil Chmalts · Slack thread

Before

Every job in the 10 workflows under .github/workflows/ ran on GitHub-hosted ubuntu-latest:

  • _build.yml, _publish.yml, automerge.yml (3 jobs), check.yml (test / lint / build / install — the test matrix expands across Python 3.11–3.14), format.yml, generate.yml, prune.yml, publish.yml, semantic-release.yml (2 jobs), version.yml.

The check.yml matrices declared os: [ubuntu-latest] and jobs used runs-on: ${{ matrix.os }}. No Namespace runners were in use in this repo.

After

Each runs-on (or matrix os entry) is now a hard-coded Namespace profile label chosen by workload shape, matching the profile convention established in seam-connect:

Profile Files
namespace-profile-codegen _build.yml, generate.yml, check.yml (lint job, build matrix, install matrix)
namespace-profile-npm-test check.yml (test matrix — Python 3.11 / 3.12 / 3.13 / 3.14)
namespace-profile-standard _publish.yml, publish.yml (release job), semantic-release.yml (both jobs)
namespace-profile-mini automerge.yml (all 3 jobs), format.yml, prune.yml, version.yml

check.yml keeps runs-on: ${{ matrix.os }}; only the matrix os: values (and the corresponding include: entries) were swapped so the expression continues to resolve to the right label. _build.yml's runs_on input is declared but never referenced by the job (runs-on is hard-coded), so check.yml's runs_on: ${{ matrix.os }} argument has no runtime effect and did not need special handling; the input's default: ubuntu-latest is left unchanged for the same reason.

No RUNNER_OVERRIDE fallback was added. These workflows go straight to the Namespace label; flipping back to GitHub-hosted during a Namespace outage would require editing the YAML.

Draft PR — please sanity-check the profile-to-workflow mapping before marking ready.

🤖 Generated with Claude Code

https://claude.ai/code/session_015ZbCLvCAyCca1zguyCbHT5


Generated by Claude Code

Move all 10 GitHub-hosted workflow jobs onto Namespace profile runners:

- codegen: _build, generate, check (lint/build/install matrices)
- npm-test: check (test matrix, Python 3.11–3.14)
- standard: _publish, publish, semantic-release
- mini: automerge, format, prune, version

Labels are hard-coded; no RUNNER_OVERRIDE fallback.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015ZbCLvCAyCca1zguyCbHT5
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.

1 participant