Skip to content

Run GitHub CI on self-hosted runners - #69

Merged
simoncoles merged 1 commit into
mainfrom
claude/github-ci-self-hosted-runners-0zh4h1
Jul 23, 2026
Merged

Run GitHub CI on self-hosted runners#69
simoncoles merged 1 commit into
mainfrom
claude/github-ci-self-hosted-runners-0zh4h1

Conversation

@simoncoles

Copy link
Copy Markdown
Member

Summary

Switches all active GitHub Actions jobs from GitHub-hosted ubuntu-latest to self-hosted runners.

Workflow Job Before After
main.yml build ubuntu-latest self-hosted
main.yml deploy ubuntu-latest self-hosted
claude.yml claude-respond ubuntu-latest self-hosted

Why

The build job already contains cache-detection logic that targets a local Squid proxy at 192.168.13.3:3128, with a comment noting it is "silently skipped when unreachable (e.g. GitHub-hosted runners)." That cache is only reachable from runners on the local network, so running on GitHub-hosted runners quietly bypassed it every time. Moving the jobs to self-hosted lets CI actually use that cache. The deploy and Claude PR-review jobs are moved for consistency so the whole pipeline runs on the self-hosted fleet.

The self-hosted label is applied automatically to every self-hosted runner, so this targets the fleet without depending on any custom label naming.

Notes / prerequisites

These jobs require self-hosted runners to be registered and online for the repository (or its org). In particular:

  • The build job uses a container: image, so the runner host needs Docker available.
  • The deploy job needs outbound SSH (port 1970) to crumpet.amphora.cloud.

If a narrower runner group or custom labels are preferred (e.g. [self-hosted, linux, docs]), the runs-on values can be tightened — happy to adjust.

Test plan

  • yaml.safe_load parses both workflow files without error
  • Confirmed each active job resolves to runs-on: self-hosted
  • Verify a self-hosted runner picks up and completes the build job on this PR

🤖 Generated with Claude Code


Generated by Claude Code

Switch all active workflow jobs from GitHub-hosted ubuntu-latest to
self-hosted runners. The build job already has cache-detection logic
targeting the local Squid proxy (192.168.13.3:3128), which is only
reachable from self-hosted runners on the local network; running on
GitHub-hosted runners silently skipped that cache. The deploy and
Claude PR-review jobs move to self-hosted for consistency.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@simoncoles
simoncoles marked this pull request as ready for review July 23, 2026 19:07
@simoncoles
simoncoles merged commit 5bb769c into main Jul 23, 2026
2 checks passed
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