Skip to content

Commit 0455bdd

Browse files
committed
ci: split qa smoke into dedicated check
1 parent 99c73b4 commit 0455bdd

3 files changed

Lines changed: 13 additions & 3 deletions

File tree

.github/workflows/ci.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,7 @@ jobs:
284284
if (runNodeFull) {
285285
checksFastCoreTasks.push(
286286
{ check_name: "checks-fast-bundled-protocol", runtime: "node", task: "bundled-protocol" },
287+
{ check_name: "QA Smoke CI", runtime: "node", task: "qa-smoke-ci" },
287288
{ check_name: "checks-fast-bun-launcher", runtime: "bun", task: "bun-launcher" },
288289
);
289290
} else {
@@ -920,6 +921,8 @@ jobs:
920921
bundled-protocol)
921922
pnpm test:bundled
922923
pnpm protocol:check
924+
;;
925+
qa-smoke-ci)
923926
output_dir=".artifacts/qa-e2e/smoke-ci-profile"
924927
export OPENCLAW_BUILD_PRIVATE_QA=1
925928
export OPENCLAW_ENABLE_PRIVATE_QA_CLI=1
@@ -956,7 +959,7 @@ jobs:
956959
esac
957960
958961
- name: Upload QA smoke profile evidence
959-
if: always() && matrix.task == 'bundled-protocol'
962+
if: always() && matrix.task == 'qa-smoke-ci'
960963
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
961964
with:
962965
name: qa-smoke-profile-${{ github.run_id }}-${{ github.run_attempt }}

docs/ci.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ or an explicit manual dispatch.
3030
| `security-fast` | Private key detection, changed-workflow audit via `zizmor`, and production lockfile audit | Always on non-draft pushes and PRs |
3131
| `check-dependencies` | Production Knip dependency-only pass plus the unused-file allowlist guard | Node-relevant changes |
3232
| `build-artifacts` | Build `dist/`, Control UI, built-CLI smoke checks, embedded built-artifact checks, and reusable artifacts | Node-relevant changes |
33-
| `checks-fast-core` | Fast Linux correctness lanes such as bundled, protocol, and CI-routing checks | Node-relevant changes |
33+
| `checks-fast-core` | Fast Linux correctness lanes such as bundled, protocol, QA Smoke CI, and CI-routing checks | Node-relevant changes |
3434
| `checks-fast-contracts-plugins-*` | Two sharded plugin contract checks | Node-relevant changes |
3535
| `checks-fast-contracts-channels-*` | Two sharded channel contract checks | Node-relevant changes |
3636
| `checks-node-core-*` | Core Node test shards, excluding channel, bundled, contract, and extension lanes | Node-relevant changes |

test/scripts/ci-workflow-guards.test.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -822,8 +822,12 @@ describe("ci workflow guards", () => {
822822
expect(ciWorkflowText).not.toContain(`"${categoryId}"`);
823823
}
824824
expect(runStep.run).toContain("bundled-protocol)");
825+
expect(runStep.run).toContain("qa-smoke-ci)");
825826
expect(runStep.run).toContain("contracts-plugins-ci-routing)");
826827
expect(runStep.run).toContain("ci-routing)");
828+
expect(ciWorkflowText).toContain(
829+
'{ check_name: "QA Smoke CI", runtime: "node", task: "qa-smoke-ci" }',
830+
);
827831
expect(runStep.run).toContain("--qa-profile smoke-ci");
828832
expect(runStep.run).toContain("--concurrency 8");
829833
expect(runStep.run).not.toContain("--category");
@@ -832,7 +836,10 @@ describe("ci workflow guards", () => {
832836
expect(runStep.run).toContain('exit "$qa_exit_code"');
833837
expect(runStep.run).toContain("scripts/build-all.mjs qaRuntime");
834838
expect(runStep.run).not.toContain("OPENAI_API_KEY");
835-
expect(uploadStep.if).toBe("always() && matrix.task == 'bundled-protocol'");
839+
expect(runStep.run).toMatch(
840+
/bundled-protocol\)\s+pnpm test:bundled\s+pnpm protocol:check\s+;;\s+qa-smoke-ci\)/,
841+
);
842+
expect(uploadStep.if).toBe("always() && matrix.task == 'qa-smoke-ci'");
836843
expect(uploadStep.with).toMatchObject({
837844
path: ".artifacts/qa-e2e/smoke-ci-profile/",
838845
"if-no-files-found": "warn",

0 commit comments

Comments
 (0)