ci: remove bun workflow

This commit is contained in:
Peter Steinberger 2026-04-01 21:58:46 +09:00
parent 131f6dac37
commit fc745db76d
No known key found for this signature in database
5 changed files with 2 additions and 138 deletions

View File

@ -1,110 +0,0 @@
name: CI Bun
on:
push:
branches: [main]
concurrency:
group: ci-bun-push-${{ github.run_id }}
cancel-in-progress: false
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
jobs:
preflight:
runs-on: blacksmith-16vcpu-ubuntu-2404
timeout-minutes: 20
outputs:
run_bun_checks: ${{ steps.manifest.outputs.run_bun_checks }}
bun_checks_matrix: ${{ steps.manifest.outputs.bun_checks_matrix }}
steps:
- name: Checkout
uses: actions/checkout@v6
with:
submodules: false
- name: Setup Node environment
uses: ./.github/actions/setup-node-env
with:
install-bun: "false"
install-deps: "false"
use-sticky-disk: "false"
- name: Build Bun CI manifest
id: manifest
env:
OPENCLAW_CI_DOCS_ONLY: "false"
OPENCLAW_CI_DOCS_CHANGED: "false"
OPENCLAW_CI_RUN_NODE: "true"
OPENCLAW_CI_RUN_MACOS: "false"
OPENCLAW_CI_RUN_ANDROID: "false"
OPENCLAW_CI_RUN_WINDOWS: "false"
OPENCLAW_CI_RUN_SKILLS_PYTHON: "false"
OPENCLAW_CI_HAS_CHANGED_EXTENSIONS: "false"
OPENCLAW_CI_CHANGED_EXTENSIONS_MATRIX: '{"include":[]}'
run: node scripts/ci-write-manifest-outputs.mjs --workflow ci-bun
build-bun-artifacts:
needs: [preflight]
if: needs.preflight.outputs.run_bun_checks == 'true'
runs-on: blacksmith-16vcpu-ubuntu-2404
timeout-minutes: 20
steps:
- name: Checkout
uses: actions/checkout@v6
with:
submodules: false
- name: Setup Node environment
uses: ./.github/actions/setup-node-env
with:
install-bun: "false"
use-sticky-disk: "false"
- name: Build A2UI bundle
run: pnpm canvas:a2ui:bundle
- name: Upload A2UI bundle artifact
uses: actions/upload-artifact@v7
with:
name: canvas-a2ui-bundle
path: src/canvas-host/a2ui/
include-hidden-files: true
retention-days: 1
bun-checks:
name: ${{ matrix.check_name }}
needs: [preflight, build-bun-artifacts]
if: needs.preflight.outputs.run_bun_checks == 'true'
runs-on: blacksmith-16vcpu-ubuntu-2404
timeout-minutes: 60
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.preflight.outputs.bun_checks_matrix) }}
steps:
- name: Checkout
uses: actions/checkout@v6
with:
submodules: false
- name: Setup Node environment
uses: ./.github/actions/setup-node-env
with:
install-bun: "true"
use-sticky-disk: "false"
- name: Download A2UI bundle artifact
uses: actions/download-artifact@v8
with:
name: canvas-a2ui-bundle
path: src/canvas-host/a2ui/
- name: Run Bun test shard
env:
SHARD_COUNT: ${{ matrix.shard_count }}
SHARD_INDEX: ${{ matrix.shard_index }}
shell: bash
run: |
set -euo pipefail
OPENCLAW_TEST_ISOLATE=1 bunx vitest run --config vitest.unit.config.ts --shard "$SHARD_INDEX/$SHARD_COUNT"

View File

@ -1,7 +1,7 @@
import { appendFileSync } from "node:fs";
import { buildCIExecutionManifest } from "./test-planner/planner.mjs";
const WORKFLOWS = new Set(["ci", "install-smoke", "ci-bun"]);
const WORKFLOWS = new Set(["ci", "install-smoke"]);
const parseArgs = (argv) => {
const parsed = {
@ -13,7 +13,7 @@ const parseArgs = (argv) => {
const nextValue = argv[index + 1] ?? "";
if (!WORKFLOWS.has(nextValue)) {
throw new Error(
`Unsupported --workflow value "${String(nextValue || "<missing>")}". Supported values: ci, install-smoke, ci-bun.`,
`Unsupported --workflow value "${String(nextValue || "<missing>")}". Supported values: ci, install-smoke.`,
);
}
parsed.workflow = nextValue;
@ -69,7 +69,4 @@ if (workflow === "ci") {
} else if (workflow === "install-smoke") {
writeOutput("docs_only", String(manifest.scope.docsOnly));
writeOutput("run_install_smoke", String(manifest.jobs.installSmoke.enabled));
} else if (workflow === "ci-bun") {
writeOutput("run_bun_checks", String(manifest.jobs.bunChecks.enabled));
writeOutput("bun_checks_matrix", JSON.stringify(manifest.jobs.bunChecks.matrix));
}

View File

@ -1319,7 +1319,6 @@ export function buildCIExecutionManifest(scopeInput = {}, options = {}) {
minShards: 1,
maxShards: 9,
});
const bunShardCount = windowsShardCount;
const extensionFastShardCount = resolveDynamicShardCount({
estimatedDurationMs: sumKnownManifestDurationsMs(context.extensionTimingManifest),
fileCount: extensionCandidateFiles.length,
@ -1424,13 +1423,6 @@ export function buildCIExecutionManifest(scopeInput = {}, options = {}) {
},
]
: [];
const bunChecksInclude = createShardMatrixEntries({
checkNamePrefix: "bun-checks",
runtime: "bun",
task: "test",
command: "bunx vitest run --config vitest.unit.config.ts",
shardCount: bunShardCount,
});
const extensionFastInclude = extensionFastEligible
? scope.changedExtensionsMatrix.include.map((entry) => ({
check_name: `extension-fast-${entry.extension}`,
@ -1458,7 +1450,6 @@ export function buildCIExecutionManifest(scopeInput = {}, options = {}) {
macosNode: { enabled: macosNodeInclude.length > 0, matrix: { include: macosNodeInclude } },
macosSwift: { enabled: macosEligible },
android: { enabled: androidInclude.length > 0, matrix: { include: androidInclude } },
bunChecks: { enabled: bunChecksInclude.length > 0, matrix: { include: bunChecksInclude } },
installSmoke: { enabled: !scope.docsOnly && scope.runChangedSmoke },
};
@ -1471,7 +1462,6 @@ export function buildCIExecutionManifest(scopeInput = {}, options = {}) {
extensionFast: extensionFastShardCount,
windows: windowsShardCount,
macosNode: macosNodeShardCount,
bun: bunShardCount,
},
jobs,
requiredCheckNames: [
@ -1482,7 +1472,6 @@ export function buildCIExecutionManifest(scopeInput = {}, options = {}) {
...(macosEligible ? ["macos-swift"] : []),
...androidInclude.map((entry) => entry.check_name),
...extensionFastInclude.map((entry) => entry.check_name),
...bunChecksInclude.map((entry) => entry.check_name),
"check",
"check-additional",
"build-smoke",

View File

@ -466,16 +466,6 @@ describe("scripts/test-parallel lane planning", () => {
expect(outputs).not.toContain("run_checks=");
});
it("writes bun outputs in ci-bun mode", () => {
const outputs = runManifestOutputWriter("ci-bun", {
OPENCLAW_CI_DOCS_ONLY: "false",
OPENCLAW_CI_RUN_NODE: "true",
});
expect(outputs).toContain("run_bun_checks=true");
expect(outputs).toContain("bun_checks_matrix=");
expect(outputs).not.toContain("run_install_smoke=");
});
it("passes through vitest --mode values that are not wrapper runtime overrides", () => {
const output = runPlannerPlan(
["--plan", "--mode", "development", "src/infra/outbound/deliver.test.ts"],

View File

@ -656,10 +656,8 @@ describe("test planner", () => {
expect(manifest.shardCounts.extensionFast).toBeLessThanOrEqual(5);
expect(manifest.shardCounts.windows).toBe(6);
expect(manifest.shardCounts.macosNode).toBe(9);
expect(manifest.shardCounts.bun).toBe(6);
expect(manifest.jobs.checks.matrix.include).toHaveLength(8);
expect(manifest.jobs.checksWindows.matrix.include).toHaveLength(6);
expect(manifest.jobs.bunChecks.matrix.include).toHaveLength(6);
expect(manifest.jobs.macosNode.matrix.include).toHaveLength(9);
expect(manifest.jobs.checksFast.matrix.include).toHaveLength(
manifest.shardCounts.extensionFast + 1,