fix(ci): keep new OpenClawKit suite off frozen targets

This commit is contained in:
Dallin Romney
2026-07-17 13:05:07 -07:00
parent 9f8550e8b7
commit b6f0887cb9
2 changed files with 15 additions and 0 deletions
+5
View File
@@ -128,6 +128,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 }}
@@ -543,6 +544,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 =
@@ -715,6 +717,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,
@@ -2937,7 +2940,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
@@ -80,6 +80,7 @@ function runCiManifestFixture(options: {
iosBuildCapability?: boolean;
androidCiCapabilities?: boolean;
nativeI18nCapabilities?: boolean;
openClawKitTests?: boolean;
protocolCoverage?: boolean;
qaSmokePlan?: boolean;
formatCheck?: boolean;
@@ -201,6 +202,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");
@@ -3278,6 +3282,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");
@@ -3307,6 +3312,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");
@@ -3544,6 +3550,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(
@@ -3571,6 +3580,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",