Skip to content

ci: add self-hosted runner with auto-fallback - #58

Merged
Gaubee merged 1 commit into
mainfrom
ci/self-hosted-runner
Dec 22, 2025
Merged

Gaubee merged 1 commit into
mainfrom
ci/self-hosted-runner

Conversation

@Gaubee

@Gaubee Gaubee commented Dec 22, 2025

Copy link
Copy Markdown
Contributor

改动

添加 self-hosted runner 支持,带自动 fallback:

check-runner (1min timeout)
    ↓
available=true → self-hosted (M1 Mac)
available=false → ubuntu-latest

特点

  • 自动检测: 1分钟超时探测 self-hosted 可用性
  • 动态选择: 根据检测结果选择 runner
  • 无需重复代码: 单一 job 定义,动态 runs-on
  • 状态报告: checks job 报告使用的 runner 类型

预期效果

  • self-hosted 可用时:更快的 CI(本地 M1 Mac,无需下载依赖)
  • self-hosted 不可用时:自动降级到 GitHub-hosted runner

@Gaubee
Gaubee force-pushed the ci/self-hosted-runner branch 6 times, most recently from 832f6b4 to c19e44b Compare December 22, 2025 08:12
Optimizations:
- Shallow clone (fetch-depth: 1): ~16s → ~3s
- Merge quick-checks (typecheck + build + i18n): 3 jobs → 1 job
  - Saves 2x checkout + 2x pnpm install overhead
- Keep test and e2e separate (long-running)

Jobs structure:
- quick-checks: typecheck + build + i18n (one checkout, one install)
- test: unit tests (parallel with quick-checks)
- e2e: only when code changes (parallel)

Scripts (scripts/self-hosted/):
- env-setup.sh: install Node.js, pnpm, bun, Playwright
- setup-runners.sh: configure multiple runner instances
@Gaubee
Gaubee force-pushed the ci/self-hosted-runner branch from c19e44b to 01819a1 Compare December 22, 2025 08:14
@Gaubee
Gaubee merged commit 3095339 into main Dec 22, 2025
6 checks passed
@Gaubee
Gaubee deleted the ci/self-hosted-runner branch January 4, 2026 07:21
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