mirror of
https://github.com/Kilo-Org/kilocode.git
synced 2026-09-01 15:32:11 +08:00
ci: fall back to GitHub-hosted runners in forks (#13364)
* ci: run core test workflows on GitHub-hosted runners in forks Blacksmith runners are scoped to the Kilo-Org organisation, so every job pinned to a blacksmith-* label queues indefinitely in a fork and is eventually cancelled without running. Core test CI is therefore dead in forks: contributors cannot validate a change before opening a PR. Select the runner from github.repository instead of hardcoding it, so the canonical repo keeps its Blacksmith runners byte-for-byte and forks fall back to the GitHub-hosted equivalent. The test.yml unit matrix bakes hosts into JSON, so it routes through emit_settings, which substitutes the two labels from LINUX_HOST/WINDOWS_HOST. pull_request runs execute in the base repo, so PRs sent to Kilo-Org are unaffected; only pushes and PRs inside a fork change behaviour. Follow-up to (11210), where these guards were trimmed on the review note "core test infrastructure (if this fails on forks we should look into that instead)". Agent-Signature: claude-opus-5-high on behalf of matt wilkie * ci: drop test.yml from the fork runner fallback The Linux sandbox suite cannot pass on a GitHub-hosted runner. Ubuntu 24.04 ships kernel.apparmor_restrict_unprivileged_userns=1, which blocks the Bubblewrap user-namespace bootstrap that backendSupport() probes, and packages/core/test/kilocode/linux-sandbox.test.ts asserts support.available is true unconditionally on Linux. Routing test.yml to ubuntu-latest in forks would therefore turn a cancelled required check into a failing one. Revert test.yml to its base state and keep the fallback on the five workflows that do not exercise the sandbox. Making test.yml fork-capable needs a decision about relaxing that sysctl on CI runners, which is Kilo-Org's call, not something to smuggle into a runner-selection change. Reported by the Codex review bot on PR 13364. Agent-Signature: claude-opus-5-high on behalf of matt wilkie * ci: re-trigger pipeline (flaky httpapi-pty test on loaded shard) --------- Co-authored-by: maphew <486200+maphew@users.noreply.github.com>
This commit is contained in:
@@ -13,7 +13,7 @@ on:
|
||||
jobs:
|
||||
build:
|
||||
name: Build docs site
|
||||
runs-on: blacksmith-4vcpu-ubuntu-2404 # kilocode_change
|
||||
runs-on: ${{ github.repository == 'Kilo-Org/kilocode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} # kilocode_change
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6 # kilocode_change
|
||||
|
||||
@@ -16,7 +16,7 @@ env:
|
||||
jobs:
|
||||
changes:
|
||||
name: detect JetBrains changes
|
||||
runs-on: blacksmith-4vcpu-ubuntu-2404
|
||||
runs-on: ${{ github.repository == 'Kilo-Org/kilocode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} # kilocode_change
|
||||
outputs:
|
||||
jetbrains: ${{ github.event_name == 'workflow_dispatch' && 'true' || steps.filter.outputs.jetbrains }}
|
||||
steps:
|
||||
@@ -43,7 +43,7 @@ jobs:
|
||||
name: jetbrains
|
||||
needs: changes
|
||||
if: github.event_name == 'workflow_dispatch' || needs.changes.outputs.jetbrains == 'true'
|
||||
runs-on: blacksmith-4vcpu-ubuntu-2404
|
||||
runs-on: ${{ github.repository == 'Kilo-Org/kilocode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} # kilocode_change
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
@@ -104,7 +104,7 @@ jobs:
|
||||
- changes
|
||||
- unit
|
||||
if: always()
|
||||
runs-on: blacksmith-4vcpu-ubuntu-2404
|
||||
runs-on: ${{ github.repository == 'Kilo-Org/kilocode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} # kilocode_change
|
||||
steps:
|
||||
- name: Verify JetBrains jobs passed
|
||||
run: |
|
||||
|
||||
@@ -21,7 +21,7 @@ on:
|
||||
jobs:
|
||||
unit:
|
||||
name: unit tests
|
||||
runs-on: blacksmith-4vcpu-ubuntu-2404 # kilocode_change
|
||||
runs-on: ${{ github.repository == 'Kilo-Org/kilocode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} # kilocode_change
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
@@ -11,7 +11,7 @@ jobs:
|
||||
# kilocode_change start
|
||||
changes:
|
||||
name: detect typecheck changes
|
||||
runs-on: blacksmith-4vcpu-ubuntu-2404
|
||||
runs-on: ${{ github.repository == 'Kilo-Org/kilocode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} # kilocode_change
|
||||
outputs:
|
||||
javascript: ${{ github.event_name == 'workflow_dispatch' && 'true' || steps.filter.outputs.javascript }}
|
||||
jetbrains: ${{ github.event_name == 'workflow_dispatch' && 'true' || steps.filter.outputs.jetbrains }}
|
||||
@@ -45,7 +45,7 @@ jobs:
|
||||
name: typecheck-js
|
||||
needs: changes # kilocode_change
|
||||
if: github.event_name == 'workflow_dispatch' || needs.changes.outputs.javascript == 'true' # kilocode_change
|
||||
runs-on: blacksmith-4vcpu-ubuntu-2404 # kilocode_change
|
||||
runs-on: ${{ github.repository == 'Kilo-Org/kilocode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} # kilocode_change
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6 # kilocode_change
|
||||
@@ -66,7 +66,7 @@ jobs:
|
||||
name: typecheck-jetbrains
|
||||
needs: changes
|
||||
if: github.event_name == 'workflow_dispatch' || needs.changes.outputs.jetbrains == 'true'
|
||||
runs-on: blacksmith-4vcpu-ubuntu-2404
|
||||
runs-on: ${{ github.repository == 'Kilo-Org/kilocode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} # kilocode_change
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
@@ -91,7 +91,7 @@ jobs:
|
||||
|
||||
required:
|
||||
name: typecheck
|
||||
runs-on: blacksmith-4vcpu-ubuntu-2404
|
||||
runs-on: ${{ github.repository == 'Kilo-Org/kilocode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} # kilocode_change
|
||||
needs:
|
||||
- typecheck-js
|
||||
- changes
|
||||
|
||||
@@ -59,7 +59,7 @@ jobs:
|
||||
needs: check-paths
|
||||
if: needs.check-paths.outputs.matched == 'true'
|
||||
name: Visual Regression (kilo-ui) # kilocode_change
|
||||
runs-on: blacksmith-4vcpu-ubuntu-2404
|
||||
runs-on: ${{ github.repository == 'Kilo-Org/kilocode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} # kilocode_change
|
||||
timeout-minutes: 15
|
||||
|
||||
steps:
|
||||
@@ -221,7 +221,7 @@ jobs:
|
||||
needs: check-paths
|
||||
if: needs.check-paths.outputs.matched == 'true'
|
||||
name: Visual Regression (kilo-vscode webview) # kilocode_change
|
||||
runs-on: blacksmith-4vcpu-ubuntu-2404
|
||||
runs-on: ${{ github.repository == 'Kilo-Org/kilocode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} # kilocode_change
|
||||
timeout-minutes: 15
|
||||
env:
|
||||
NODE_OPTIONS: --max-old-space-size=4096
|
||||
|
||||
Reference in New Issue
Block a user