Skip to content

ci: run the required checks on GitHub-hosted runners (hq#14) - #56

Merged
w4ffl35 merged 2 commits into
mainfrom
ci/required-jobs-hosted
Sep 19, 2026
Merged

w4ffl35 merged 2 commits into
mainfrom
ci/required-jobs-hosted

Conversation

@w4ffl35

@w4ffl35 w4ffl35 commented Sep 19, 2026

Copy link
Copy Markdown
Member

Implements the remaining action from hq#14: move the five required jobs to GitHub-hosted runners.

Change

runs-on: [self-hosted, linux, x64, spikeforge-ci] → runs-on: ubuntu-latest for exactly the required jobs:
lint, test, core-boundary, published-surfaces, packaging-guards. The seven non-required heavy jobs (test-deploy, hub, extras, blocked-deps, docs, client, headless) stay on the self-hosted pool, where they no longer sit in front of a merge.

Why

spikeforge is public, so GitHub-hosted minutes are free. The self-hosted pool (three runners) is the queue that has cost three waves — observed: #52 queued 32+ min with zero progress; the last full run took 2h17m. Per-path required checks are not expressible in a ruleset, so moving the gate off the contended pool is the fix; the leaf lane stays a non-required fast signal.

Revert is trivial

One line per job; no ruleset change in this PR.

Measurement

Time-to-green will be measured on a leaf PR (#54, re-run after this lands) against the recorded 2h17m + queue baseline; the number is reported on hq#14.

Refs Capsize-Games/hq#14

The five *required* jobs (`lint`, `test (3.12)`, `core-boundary`,
`published-surfaces`, `packaging-guards`) move from the three self-hosted
runners to `ubuntu-latest`. spikeforge is public, so hosted minutes are free,
and this takes the merge gate off the queue that has cost three waves
(observed: spikeforge#52 queued 32+ min with zero progress; the last full run
took 2h17m).

The seven non-required heavy jobs stay on the self-hosted pool; they no longer
sit in front of a merge.

Refs Capsize-Games/hq#14
`#52` added `capsize-commons>=0.1.1` to the core dependencies for §14 logging,
but `capsize-commons` requires Python >=3.11. The declared floor and the
classifiers still said 3.10, and `test (3.10)` now fails at install:

  ERROR: Could not find a version that satisfies the requirement
  capsize-commons>=0.1.1 ... Ignored the following versions that require a
  different python version: 0.1.1 Requires-Python >=3.11

The failure was masked because #52 was merged on a clause-8 bypass without its
checks completing; running the job exposed it.

Raise `requires-python` to >=3.11, drop the 3.10 classifier, and drop the 3.10
CI matrix cell. Refs Capsize-Games/hq#3 Capsize-Games/hq#14
@w4ffl35

w4ffl35 commented Sep 19, 2026

Copy link
Copy Markdown
Member Author

Follow-up commit: drop Python 3.10 (a real defect this PR exposed)

test (3.10) failed in 37s at install:

ERROR: Could not find a version that satisfies the requirement capsize-commons>=0.1.1
Ignored the following versions that require a different python version: 0.1.1 Requires-Python >=3.11

#52 added capsize-commons>=0.1.1 to the core dependencies (it requires Python >=3.11) while spikeforge still declared requires-python = ">=3.10". The failure was masked because #52 was merged on a clause-8 bypass without its checks completing — running the job against a hosted runner surfaced it immediately.

Fix: requires-python = ">=3.11", drop the 3.10 classifier, drop the 3.10 CI matrix cell. Affected local tests pass (packaging profiles + observability: 31 passed, 2 skipped). This is a consequence of an already-merged decision, not a new one; flagged here for owner awareness.

@w4ffl35
w4ffl35 merged commit b0207ff into main Sep 19, 2026
9 of 20 checks passed
@w4ffl35
w4ffl35 deleted the ci/required-jobs-hosted branch September 19, 2026 18:55
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