Skip to content

Commit ed85298

Browse files
dancinlifedancinlifeclaude
authored
docs(ci): retire stale Blacksmith references → github-hosted macos-15 (cost) (#35)
#34가 runner를 blacksmith-6vcpu-macos-15 → macos-15(github-hosted)로 전환(비용 과다· 오너 지시)했으나 ci.yml 헤더 주석 + CLAUDE.md 'builds run on Blacksmith' 섹션이 아직 Blacksmith를 가리키는 드리프트가 남아 재도입 위험이 있었음. SSOT를 현실(github-hosted· PUBLIC repo macOS 무료)에 맞춰 정리. CLAUDE.md CI 섹션은 commons do/dont 형식으로 변환. Co-authored-by: dancinlife <mk55911@proton.me> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 43e492a commit ed85298

2 files changed

Lines changed: 13 additions & 33 deletions

File tree

.github/workflows/ci.yml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1-
# gamebox CI — build + test on a Blacksmith cloud Apple-Silicon runner.
1+
# gamebox CI — build + test on a GitHub-hosted Apple-Silicon macOS runner.
22
#
33
# WHY: gamebox is Apple-native (Win32 PE loader + D3DMetal), so its hexa source
44
# compile + the apple-only test suite need a macOS host. Running that locally on
55
# the dev Mac (242+ perf modules + 8 test files) spikes memory and crashes the
6-
# machine. Offloading to Blacksmith's native Apple-Silicon runner
7-
# (blacksmith-6vcpu-macos-15) keeps every build off the local Mac — the dev box
8-
# only ever does `git push`.
6+
# machine. Offloading to a cloud macOS runner keeps every build off the local
7+
# Mac — the dev box only ever does `git push`.
98
#
10-
# Runner pin: macos-15 (NOT -26) mirrors the hexa-lang release.yml rationale —
11-
# the SDK baseline rides the builder, and macos-15 keeps the Mach-O min-OS floor
12-
# stable.
9+
# Runner: github-hosted `macos-15` (Apple-Silicon). gamebox is a PUBLIC repo, so
10+
# GitHub-hosted macOS minutes are FREE — this replaced the paid Blacksmith runner
11+
# (`blacksmith-6vcpu-macos-15`) on owner instruction to stop CI cost. Pin to
12+
# macos-15 (NOT -26): the SDK baseline rides the builder, and macos-15 keeps the
13+
# Mach-O min-OS floor stable (mirrors the hexa-lang release.yml rationale).
1314
#
1415
# The hexa toolchain is the released binary (gamebox is a downstream consumer,
1516
# not the compiler repo), installed verbatim via the canonical one-liner.

CLAUDE.md

Lines changed: 5 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -57,33 +57,12 @@ without the engine checked out.
5757
Run via `bash .harness-engine/bin/harness <cmd>` (or, with an external tsx,
5858
`HARNESS_REPO_ROOT="$PWD" <tsx> .harness-engine/cli/index.ts <cmd>`).
5959

60-
## CI — builds run on Blacksmith, NOT locally
60+
## CI — cloud macOS runner, NOT local
6161

62-
gamebox is Apple-native (Win32 PE + D3DMetal), so its hexa compile + the
63-
apple-only test suite need a macOS host. Running that locally (242+ perf
64-
modules + 8 test files) spikes memory and **crashes the dev Mac** — so CI runs
65-
on a Blacksmith cloud Apple-Silicon runner instead.
66-
67-
- **Workflow**`.github/workflows/ci.yml`, job `build-test`, on every
68-
push to `main`/`master` + every PR + `workflow_dispatch`.
69-
- **Runner**`blacksmith-6vcpu-macos-15` (native Apple-Silicon cloud Mac).
70-
Pinned to `macos-15` (NOT `-26`) — same rationale as hexa-lang `release.yml`:
71-
the Mach-O min-OS baseline rides the builder SDK, so the pin keeps it stable.
72-
same-org (`dancinlab`) Blacksmith is already enabled (hexa-lang uses it), so
73-
no extra activation is needed.
74-
- **Toolchain** — the released `hexa` binary, installed via the canonical
75-
one-liner (`install.sh``~/.hx/bin`). gamebox is a downstream consumer, not
76-
the compiler repo, so it installs the release — it does not build hexa.
77-
- **What it runs**`hexa run <file> self-test` over the 8 `[test].files` in
78-
`hexa.toml` (NOT `hexa test`, which runs `@test` fns — these files are
79-
`self_test()`/`main()` and would pass vacuously); then the native i386
80-
interpreter test (`native/i386_cpu_test`, the E3 first-execution gate, clang
81-
on the runner); then a gamebox CLI smoke (`status` / `selftest --quick`,
82-
warn-only since D3DMetal SDK is absent on the runner).
83-
84-
**Rule for working here**: don't run heavy `hexa test` / builds on the local
85-
Mac — just `git push` and let Blacksmith build. The dev box should only ever
86-
push. Check results with `gh pr checks` / `gh run list`.
62+
- do: build on GitHub-hosted `macos-15` (Apple-Silicon) via `.github/workflows/ci.yml` job `build-test` (push to `main`/`master` + PR + dispatch); gamebox is PUBLIC so these macOS minutes are FREE.
63+
- do: just `git push` then check `gh pr checks` / `gh run list` — CI installs released `hexa`, runs the 8 `self-test` files + native i386 (`i386_cpu_test`) + Metal/D3D11 substrate smokes.
64+
- dont: use the paid Blacksmith runner (`blacksmith-6vcpu-macos-15`) — removed on owner instruction for cost (deliberate per-repo override of the `blacksmith-ci` default).
65+
- dont: run heavy `hexa test` / full builds on the dev Mac (242+ perf modules crash it); use `hexa test` for the suite (vacuous — use `hexa run <file> self-test`); unpin from `macos-15`.
8766

8867
## Quick reference
8968

0 commit comments

Comments
 (0)