ci: gate frozen QA smoke by capability (#105006)

This commit is contained in:
Peter Steinberger
2026-07-12 06:32:26 +01:00
committed by GitHub
parent 33da64c5d0
commit 176647aa84
2 changed files with 14 additions and 1 deletions
+1 -1
View File
@@ -460,7 +460,7 @@ jobs:
const compactPullRequest = isCanonicalRepository && eventName === "pull_request";
const runQaSmokeCi =
runNodeFull &&
(!compatibilityTarget || existsSync("extensions/qa-lab/src/ci-smoke-plan.ts"));
(!frozenTarget || existsSync("extensions/qa-lab/src/ci-smoke-plan.ts"));
const nodeTestShards = runNodeFull
? createNodeTestPlan({
includeReleaseOnlyPluginShards: false,
+13
View File
@@ -60,6 +60,7 @@ function runCiManifestFixture(options: {
iosBuildCapability?: boolean;
nativeI18nCapabilities?: boolean;
protocolCoverage?: boolean;
qaSmokePlan?: boolean;
formatCheck?: boolean;
releaseCandidateCompatibility?: boolean;
}) {
@@ -125,6 +126,8 @@ function runCiManifestFixture(options: {
path.join(scriptsDir, "plugin-contract-test-plan.mjs"),
`export const createPluginContractTestShards = () => [{ checkName: "plugin-contracts" }];\n`,
);
}
if (options.qaSmokePlan ?? options.bundledPlanner) {
const smokePlan = path.join(root, "extensions", "qa-lab", "src", "ci-smoke-plan.ts");
mkdirSync(path.dirname(smokePlan), { recursive: true });
writeFileSync(smokePlan, "export {};\n");
@@ -1714,6 +1717,14 @@ describe("ci workflow guards", () => {
expect(currentMissingIos.outputs.run_ios_build).toBe("true");
expect(currentMissingIos.outputs.run_macos_swift).toBe("true");
const currentMissingQaPlan = runCiManifestFixture({
bundledPlanner: true,
eventName: "pull_request",
qaSmokePlan: false,
});
expect(currentMissingQaPlan.status, currentMissingQaPlan.output).toBe(0);
expect(currentMissingQaPlan.outputs.run_qa_smoke_ci).toBe("true");
const frozenMissingCurrentCapabilities = runCiManifestFixture({
bundledPlanner: true,
historicalCompatibility: false,
@@ -1721,6 +1732,7 @@ describe("ci workflow guards", () => {
iosBuildCapability: true,
nativeI18nCapabilities: false,
protocolCoverage: false,
qaSmokePlan: false,
formatCheck: false,
});
expect(frozenMissingCurrentCapabilities.status, frozenMissingCurrentCapabilities.output).toBe(
@@ -1730,6 +1742,7 @@ describe("ci workflow guards", () => {
expect(frozenMissingCurrentCapabilities.outputs.run_ios_build).toBe("false");
expect(frozenMissingCurrentCapabilities.outputs.run_macos_swift).toBe("false");
expect(frozenMissingCurrentCapabilities.outputs.run_native_i18n).toBe("false");
expect(frozenMissingCurrentCapabilities.outputs.run_qa_smoke_ci).toBe("false");
expect(frozenMissingCurrentCapabilities.outputs.run_protocol_event_coverage).toBe("false");
expect(frozenMissingCurrentCapabilities.outputs.run_format_check).toBe("false");