fix(ci): skip new OpenClawKit suite for frozen targets (#112860)

This commit is contained in:
Dallin Romney
2026-07-23 12:26:49 +09:00
committed by GitHub
parent a12e0f26ee
commit f7d61b4352
2 changed files with 15 additions and 0 deletions
+5
View File
@@ -110,6 +110,7 @@ jobs:
run_macos_node: ${{ steps.manifest.outputs.run_macos_node }}
macos_node_matrix: ${{ steps.manifest.outputs.macos_node_matrix }}
run_macos_swift: ${{ steps.manifest.outputs.run_macos_swift }}
run_openclawkit_tests: ${{ steps.manifest.outputs.run_openclawkit_tests }}
run_ios_build: ${{ steps.manifest.outputs.run_ios_build }}
run_android_job: ${{ steps.manifest.outputs.run_android_job }}
run_protocol_event_coverage: ${{ steps.manifest.outputs.run_protocol_event_coverage }}
@@ -525,6 +526,7 @@ jobs:
const targetWorkflow = existsSync(".github/workflows/ci.yml")
? readFileSync(".github/workflows/ci.yml", "utf8")
: "";
const supportsOpenClawKitTests = targetWorkflow.includes("openclawkit-tests-contract-v1");
const supportsCurrentAndroidCi = targetWorkflow.includes("android-ci-contract-v2");
const useCompatibleAndroidCi = compatibilityTarget && !supportsCurrentAndroidCi;
const supportsFormatCheck =
@@ -703,6 +705,7 @@ jobs:
),
run_macos_swift:
runMacos && (!frozenTarget || compatibilityTarget || supportsCurrentMacosSwiftCi),
run_openclawkit_tests: runMacos && supportsOpenClawKitTests,
run_ios_build: runIosBuild,
run_android_job: runAndroid,
run_protocol_event_coverage: runProtocolEventCoverage,
@@ -3096,7 +3099,9 @@ jobs:
fi
swift build --package-path apps/shared/OpenClawKit --target OpenClawKit --disable-default-traits
# openclawkit-tests-contract-v1: the target owns an independently runnable package suite.
- name: OpenClawKit tests
if: needs.preflight.outputs.run_openclawkit_tests == 'true'
run: |
set -euo pipefail
openclawkit_scratch="$(mktemp -d "$RUNNER_TEMP/openclawkit.XXXXXX")"
+10
View File
@@ -83,6 +83,7 @@ function runCiManifestFixture(options: {
iosBuildCapability?: boolean;
androidCiCapabilities?: boolean;
nativeI18nCapabilities?: boolean;
openClawKitTests?: boolean;
protocolCoverage?: boolean;
qaSmokePlan?: boolean;
formatCheck?: boolean;
@@ -204,6 +205,9 @@ function runCiManifestFixture(options: {
...((options.androidCiCapabilities ?? options.bundledPlanner)
? ["android-ci-contract-v2"]
: []),
...((options.openClawKitTests ?? options.bundledPlanner)
? ["openclawkit-tests-contract-v1"]
: []),
].join("\n"),
);
const outputPath = path.join(root, "manifest.out");
@@ -3825,6 +3829,7 @@ printf '%s\n' "\${CURL_SUCCESS_IP:-203.0.113.7}"
expect(legacy.outputs.historical_target).toBe("true");
expect(legacy.outputs.run_ios_build).toBe("false");
expect(legacy.outputs.run_native_i18n).toBe("false");
expect(legacy.outputs.run_openclawkit_tests).toBe("false");
expect(legacy.outputs.run_qa_smoke_ci).toBe("false");
expect(legacy.outputs.run_channel_contracts_shards).toBe("false");
expect(legacy.outputs.run_protocol_event_coverage).toBe("false");
@@ -3854,6 +3859,7 @@ printf '%s\n' "\${CURL_SUCCESS_IP:-203.0.113.7}"
expect(current.status, current.output).toBe(0);
expect(current.outputs.run_ios_build).toBe("true");
expect(current.outputs.run_native_i18n).toBe("true");
expect(current.outputs.run_openclawkit_tests).toBe("true");
expect(current.outputs.run_qa_smoke_ci).toBe("true");
expect(current.outputs.run_channel_contracts_shards).toBe("true");
expect(current.outputs.run_protocol_event_coverage).toBe("true");
@@ -4091,6 +4097,9 @@ printf '%s\n' "\${CURL_SUCCESS_IP:-203.0.113.7}"
const swiftLint = workflow.jobs["macos-swift"].steps.find(
(step: { name?: string }) => step.name === "Swift lint",
);
const openClawKitTests = workflow.jobs["macos-swift"].steps.find(
(step: { name?: string }) => step.name === "OpenClawKit tests",
);
expect(swiftInstall.run).toContain("brew install xcodegen swiftlint");
expect(swiftInstall.run).not.toContain("brew install xcodegen swiftlint swiftformat");
expect(swiftInstall.run).toContain(
@@ -4118,6 +4127,7 @@ printf '%s\n' "\${CURL_SUCCESS_IP:-203.0.113.7}"
expect(swiftInstall.run).toContain('elif [[ "$HISTORICAL_TARGET" == "true" ]]');
expect(swiftLint.run).toContain("swiftlint lint --config config/swiftlint.yml");
expect(swiftLint.run).toContain('elif [[ "$HISTORICAL_TARGET" == "true" ]]');
expect(openClawKitTests.if).toBe("needs.preflight.outputs.run_openclawkit_tests == 'true'");
const checkShard = workflow.jobs["check-shard"].steps.find(
(step: { name?: string }) => step.name === "Run check shard",