W-23708419: Simplify TCK test runner configuration - #153
Merged
Conversation
Consolidate the dual-version TCK loop in CI to a single run per artifact, controlled by gradle.properties. Previously CI ran separate steps for 2.12.2-SNAPSHOT and 2.13.0-SNAPSHOT, passing -PweaveTestSuiteVersion to override the version at runtime. This simplified approach: - Splits weaveVersion (runtime: 2.12.2-SNAPSHOT) from weaveTCKVersion (test suite: 2.13.0-SNAPSHOT) in gradle.properties - Exposes weaveTCKVersion via ComponentVersion.scala at compile time - Updates TCKCliTest to load test suites using weaveTCKVersion - Removes the separate CI steps (halves TCK CI time) - Removes the runtime property override mechanism from build.gradle The runtime runs at the latest stable release (2.12.2) while TCK tests run against the latest suite (2.13.0) for forward compatibility. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
mlischetti
force-pushed
the
simplify-tck-runner
branch
from
August 4, 2026 13:40
f27be0e to
b85c42f
Compare
CLI TCK was running on every PR via build-foundation while Node TCK only runs on master via the explicit "Run Node.js TCK Conformance" step. This made PR CI slower without providing proportional value — the TCK suite is comprehensive and best suited for master branch validation. Changes: - Add -PskipTCKTests=true flag to build-foundation action (matching existing -PskipNodeTests pattern) - Add test exclusion filter in native-cli-integration-tests/build.gradle to exclude TCKCliTest class when flag is set - Other integration tests (NativeCliTest) still run on every PR - CLI TCK still runs explicitly on master via "Run CLI TCK Conformance" step in .github/actions/cli/action.yml This aligns CLI and Node TCK behavior: both now run only on master. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
martincousido
approved these changes
Aug 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Simplifies TCK test runner configuration and aligns CLI/Node TCK execution behavior.
Problems
2.12.2-SNAPSHOT, one for2.13.0-SNAPSHOT), doubling TCK CI time with version overrides hidden in workflow YAML.build-foundation, while Node TCK only ran on master. This made PR CI slower without proportional value.Solution
1. Single TCK version in gradle.properties
Split
weaveVersion(runtime) fromweaveTCKVersion(test suite):Changes:
weaveTestSuiteVersion+weaveSuiteVersionwith singleweaveTCKVersiongenVersionsexposesComponentVersion.weaveTCKVersionweaveTCKVersionweaveTCKVersionfor staging TCK suites2. Master-only TCK execution (CLI + Node)
Make CLI TCK behavior consistent with Node: both now run only on master.
Changes:
-PskipTCKTests=trueflag (matches existing-PskipNodeTestspattern)TCKCliTestwhen flag is setNativeCliTest) still run on every PRBenefits
gradle.properties(not workflow YAML)Testing
-PskipTCKTests=trueexcludesTCKCliTestTest plan
Verify CI passes on this PR with the simplified workflow and master-only TCK execution.
🤖 Generated with Claude Code