mirror of
https://github.com/Kilo-Org/kilocode.git
synced 2026-09-19 10:02:04 +08:00
* 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>
56 lines
1.4 KiB
YAML
56 lines
1.4 KiB
YAML
name: test-vscode
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- dev
|
|
paths:
|
|
- "packages/kilo-vscode/**"
|
|
- "packages/ui/**"
|
|
- "packages/kilo-ui/**"
|
|
- ".github/workflows/test-vscode.yml"
|
|
pull_request:
|
|
paths:
|
|
- "packages/kilo-vscode/**"
|
|
- "packages/ui/**"
|
|
- "packages/kilo-ui/**"
|
|
- ".github/workflows/test-vscode.yml"
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
unit:
|
|
name: unit tests
|
|
runs-on: ${{ github.repository == 'Kilo-Org/kilocode' && 'blacksmith-4vcpu-ubuntu-2404' || 'ubuntu-latest' }} # kilocode_change
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v6 # kilocode_change
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Setup Bun
|
|
uses: ./.github/actions/setup-bun
|
|
|
|
- name: Run unit tests
|
|
working-directory: packages/kilo-vscode
|
|
run: bun run test:unit
|
|
|
|
- name: Check lint (ESLint)
|
|
working-directory: packages/kilo-vscode
|
|
run: bun run lint
|
|
|
|
- name: Check formatting (prettier)
|
|
working-directory: packages/kilo-vscode
|
|
run: bun run format:check
|
|
|
|
- name: Check for dead code (knip)
|
|
working-directory: packages/kilo-vscode
|
|
run: bun run knip
|
|
|
|
- name: Check for kilocode_change markers
|
|
working-directory: packages/kilo-vscode
|
|
run: bun run check-kilocode-change
|