Files
kilocode/.github/workflows/test-vscode.yml
T
matt wilkieandmaphew 38f93ec1d1 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>
2026-08-28 17:42:35 +02:00

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