Repository navigation
Rename integration tests to XIgTest and update embed-code to v1.2.5 - #336
Conversation
Follow the naming convention in `.agents/guidelines/testing.md`, where an integration suite is `XIgTest`: - 36 `*ITest` suites in `tests/consumer`, `tests/runtime`, and `tests/validating`. - 5 `*Test` suites: `JavaMessageSmokeTest` and `JavaMessageJavaApiSmokeTest` in `tests/validating`; `ExternalMessageValidatorTest`, `PackedMessageValidatorTest`, and `ValidatorTest` in `tests/validator`. Update the KDoc links in the `testFixtures` test environments, and the naming convention and file references in the "Testing strategy" page, dropping the stale `ExternalConstraintITest.kt` reference. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Replace the binaries in `docs/_bin` with the assets of the upstream `SpineEventEngine/embed-code-go` release v1.2.5. Upstream no longer keeps binaries under `bin/`; it publishes them as release assets, which map to the files here as follows, matching the layout of `SpineEventEngine/documentation`: - `embed-code-linux.zip` -> `embed-code-linux` - `embed-code-macos-arm64.zip` -> `embed-code-macos` - `embed-code-macos-x64.zip` -> `embed-code-macos-x86_64` (new) - `embed-code-windows.exe` (name kept) Each file matches the SHA-256 digest published with the release. `embed-code-macos` is now a native Apple silicon binary; the previous x86_64 one failed with "Bad CPU type" on Macs without Rosetta. Since v1.2.3 every embedding error exits with status 1, which surfaced a stale embed in "Build and release": `publish.yml` now delegates to the shared `publishing.yml` workflow from `config`, so the page embeds the publish command from there. Drop the `code-includes` option, which the tool no longer supports, and update the documentation pages describing the binaries, the update procedure, and the embedding configuration. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Re-embed the plugin versions from the example projects after `:docs:updatePluginVersions`: Validation `2.0.0-SNAPSHOT.466` and CoreJvm `2.0.0-SNAPSHOT.097`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6301e66b55
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
🔵 Needs a closer look
Bundled executables need cross-platform validation, and the Intel Mac script-selection regression remains unresolved.
1 open issue
What changed in this PR
Standardizes Validation integration-test names and updates documentation tooling to embed-code v1.2.5.
Changes:
- Renames 41 suites to
XIgTestand updates KDoc links and testing guidance. - Updates embedding configuration, release instructions, and generated examples.
- Bumps Validation to
.466and refreshes dependency reports; merge order with #335 determines whether.467is needed.
| File | Description |
|---|---|
version.gradle.kts |
Bumps Validation to .466. |
tests/validator/src/test/kotlin/io/spine/tools/validation/test/ValidatorIgTest.kt |
Renames validator suite. |
tests/validator/src/test/kotlin/io/spine/tools/validation/test/PackedMessageValidatorIgTest.kt |
Renames packed-message suite. |
tests/validator/src/test/kotlin/io/spine/tools/validation/test/ExternalMessageValidatorIgTest.kt |
Renames external-message suite. |
tests/validating/src/testFixtures/kotlin/io/spine/test/options/setonce/SetOnceViolationTestEnv.kt |
Updates KDoc suite links. |
tests/validating/src/testFixtures/kotlin/io/spine/test/options/goes/GoesViolationTestEnv.kt |
Updates KDoc suite links. |
tests/validating/src/testFixtures/kotlin/io/spine/test/options/goes/GoesOneWayTestEnv.kt |
Updates KDoc suite links. |
tests/validating/src/testFixtures/kotlin/io/spine/test/options/goes/GoesMutualTestEnv.kt |
Updates KDoc suite links. |
tests/validating/src/test/kotlin/io/spine/test/options/ValidateIgTest.kt |
Renames validation suite. |
tests/validating/src/test/kotlin/io/spine/test/options/setonce/SetOnceViolationIgTest.kt |
Renames violation suite. |
tests/validating/src/test/kotlin/io/spine/test/options/setonce/SetOnceIntegerIgTest.kt |
Renames integer suite. |
tests/validating/src/test/kotlin/io/spine/test/options/setonce/SetOnceIgTest.kt |
Renames suite and updates KDoc links. |
tests/validating/src/test/kotlin/io/spine/test/options/setonce/SetOnceFieldsIgTest.kt |
Renames suite and updates KDoc link. |
tests/validating/src/test/kotlin/io/spine/test/options/required/RequireIgTest.kt |
Renames require suite. |
tests/validating/src/test/kotlin/io/spine/test/options/required/RequiredStringIgTest.kt |
Renames string suite. |
tests/validating/src/test/kotlin/io/spine/test/options/required/RequiredRepeatedNumberIgTest.kt |
Renames repeated-number suite. |
tests/validating/src/test/kotlin/io/spine/test/options/required/RequiredRepeatedEnumIgTest.kt |
Renames repeated-enum suite. |
tests/validating/src/test/kotlin/io/spine/test/options/required/RequiredRepeatedBytesIgTest.kt |
Renames repeated-bytes suite. |
tests/validating/src/test/kotlin/io/spine/test/options/required/RequiredNumberIgTest.kt |
Renames number suite. |
tests/validating/src/test/kotlin/io/spine/test/options/required/RequiredMessageIgTest.kt |
Renames message suite. |
tests/validating/src/test/kotlin/io/spine/test/options/required/RequiredMapWithStringsIgTest.kt |
Renames string-map suite. |
tests/validating/src/test/kotlin/io/spine/test/options/required/RequiredMapWithNumbersIgTest.kt |
Renames number-map suite. |
tests/validating/src/test/kotlin/io/spine/test/options/required/RequiredMapWithMessagesIgTest.kt |
Renames message-map suite. |
tests/validating/src/test/kotlin/io/spine/test/options/required/RequiredMapWithBytesIgTest.kt |
Renames bytes-map suite. |
tests/validating/src/test/kotlin/io/spine/test/options/required/RequiredMapEnumIgTest.kt |
Renames enum-map suite. |
tests/validating/src/test/kotlin/io/spine/test/options/required/RequiredIgTest.kt |
Renames required-option suite. |
tests/validating/src/test/kotlin/io/spine/test/options/required/RequiredEnumIgTest.kt |
Renames enum suite. |
tests/validating/src/test/kotlin/io/spine/test/options/required/RequiredBytesIgTest.kt |
Renames bytes suite. |
tests/validating/src/test/kotlin/io/spine/test/options/NumberConstraintsIgTest.kt |
Renames numeric-constraints suite. |
tests/validating/src/test/kotlin/io/spine/test/options/goes/GoesViolationIgTest.kt |
Renames violation suite. |
tests/validating/src/test/kotlin/io/spine/test/options/goes/GoesOneWayIgTest.kt |
Renames one-way dependency suite. |
tests/validating/src/test/kotlin/io/spine/test/options/goes/GoesMutualIgTest.kt |
Renames mutual-dependency suite. |
tests/validating/src/test/kotlin/io/spine/test/options/DistinctIgTest.kt |
Renames distinct-option suite. |
tests/validating/src/test/kotlin/io/spine/test/options/CustomOptionsLoadingIgTest.kt |
Renames option-loading suite. |
tests/validating/src/test/kotlin/io/spine/test/options/ChoiceIgTest.kt |
Renames choice-option suite. |
tests/validating/src/test/kotlin/io/spine/test/options/AssumedRequiredIgTest.kt |
Renames assumed-required suite. |
tests/validating/src/test/kotlin/io/spine/test/JavaMessageSmokeIgTest.kt |
Renames Kotlin smoke suite. |
tests/validating/src/test/java/io/spine/test/JavaMessageJavaApiSmokeIgTest.java |
Renames Java smoke suite. |
tests/runtime/src/test/kotlin/io/spine/validation/MessageExtensionsIgTest.kt |
Renames runtime extensions suite. |
tests/consumer/src/test/kotlin/io/spine/validation/test/ValidateRuleIgTest.kt |
Renames validate-rule suite. |
tests/consumer/src/test/kotlin/io/spine/validation/test/RequiredRuleIgTest.kt |
Renames required-rule suite. |
tests/consumer/src/test/kotlin/io/spine/validation/test/PatternRuleIgTest.kt |
Renames pattern-rule suite. |
tests/consumer/src/test/kotlin/io/spine/validation/test/MinRuleIgTest.kt |
Renames minimum-rule suite. |
tests/consumer/src/test/kotlin/io/spine/validation/test/DistinctRuleIgTest.kt |
Renames distinct-rule suite. |
tests/consumer/src/test/kotlin/io/spine/validation/test/CurrencyOptionIgTest.kt |
Renames custom-option suite. |
tests/consumer/src/test/kotlin/io/spine/validation/test/ChoiceRuleIgTest.kt |
Renames choice-rule suite. |
docs/dependencies/pom.xml |
Updates reported project version. |
docs/dependencies/dependencies.md |
Refreshes dependency reports. |
docs/content/docs/validation/user/01-getting-started/adding-to-build.md |
Refreshes plugin-version examples. |
docs/content/docs/validation/developer/testing-strategy.md |
Documents suite naming and removes stale reference. |
docs/content/docs/validation/developer/documentation/tooling.md |
Documents binaries and release downloads. |
docs/content/docs/validation/developer/documentation/procedures.md |
Updates binary replacement instructions. |
docs/content/docs/validation/developer/documentation/embedded-examples.md |
Documents unfiltered source-file support. |
docs/content/docs/validation/developer/build-and-release.md |
Refreshes version and publishing embed. |
docs/_settings/embed-code.yml |
Removes ignored code-includes option. |
Review effort: Balanced
`embed-code-macos` is now an Apple silicon binary, so on Intel Macs `_script/embed-code` and the local branch of `_script/check-samples` failed with "Bad CPU type in executable" while the bundled `embed-code-macos-x86_64` was never used. Both scripts now pick the binary by `uname -m`; the Linux binary is still used on GitHub Actions. Update the documentation pages that name the macOS binary. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…37953 # Conflicts: # docs/content/docs/validation/developer/build-and-release.md # docs/dependencies/dependencies.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Re-embed the version in "Build and release" and "Adding to build" after the re-bump. The run also brings the `RequiredField` snippets in "Adding a built-in option" and "The validation model" in line with `views.proto`, which gained `option (is).java_type = "FieldView"` on `master`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`master` made "CodeMatters Open-Source" the default copyright profile. Apply its notice to the source files this branch changes: the renamed `*IgTest` suites and the `testFixtures` test environments. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #336 +/- ##
=========================================
Coverage 93.57% 93.57%
Complexity 367 367
=========================================
Files 86 86
Lines 2117 2117
Branches 159 159
=========================================
Hits 1981 1981
Misses 92 92
Partials 44 44 🚀 New features to boost your workflow:
|
Wrap `(required)` in backticks in the `@DisplayName` of the
`Required{String,Bytes,Enum,Message}IgTest` suites, two of which were
missing only the opening backtick, and use `null` instead of 'null' in
`JavaMessageJavaApiSmokeIgTest`.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

What changed
Integration test names follow
XIgTest.agents/guidelines/testing.mdnames an integration suiteXIgTest. The suites undertests/used the legacy*ITestsuffix, or a plain*Test. This PR renames 41 of them withgit mv:*ITestsuites intests/consumer,tests/runtimeandtests/validating.*Testsuites:JavaMessageSmokeTestandJavaMessageJavaApiSmokeTest(Java) intests/validating, andExternalMessageValidatorTest,PackedMessageValidatorTestandValidatorTestintests/validator.The KDoc links in the
testFixturestest environments now use the new names. On the "Testing strategy" page, the naming rule now readsXSpecfor unit tests andXIgTestfor integration tests. I also dropped that page's reference toExternalConstraintITest.kt, which was deleted in ec27f92.Two things were deliberately left as they are:
*Specsuites undertests/, which already use a guideline suffix.ValidationOfConstraintTest, which is not a suite.No build script, workflow or test filter matches on these names.
embed-codebinaries updated to v1.2.5The binaries in
docs/_binare now the assets of embed-code-go v1.2.5. Each file matches the SHA-256 digest published with the release. Upstream no longer keeps binaries inbin/, so the assets map to files here as follows. This is the same layoutSpineEventEngine/documentationuses.docs/_bin/embed-code-linux.zipembed-code-linuxembed-code-macos-arm64.zipembed-code-macosembed-code-macos-x64.zipembed-code-macos-x86_64(new)embed-code-windows.exeembed-code-windows.exeembed-code-macosis now a native Apple silicon build; the old x86_64 binary failed with "Bad CPU type" on Macs without Rosetta. Since v1.2.3 the tool exits with status 1 on any embedding error, and that exposed two problems:publish.ymlnow hands publishing off to the sharedpublishing.ymlworkflow inconfig. Master fixed this embed in the meantime (9bcc3df), and this branch keeps master's version.code-includesin_settings/embed-code.yml. The tool now ignores this option, so I removed it and updated the docs pages that described it.Version and docs
validationVersion:2.0.0-SNAPSHOT.466→2.0.0-SNAPSHOT.467, after mergingmaster, where KeepLaunchSpineCompilerup to date and its output deterministic #335 had already used.466. The dependency reports are regenerated with a full build..467: in "Build and release", and in "Adding to build" (which also picks up CoreJvm.097). Re-embedding also updated theRequiredFieldsnippets in "Adding a built-in option" and "The validation model" to matchviews.protoonmaster. Both were produced by running embed-code v1.2.5 against the pinned_examplesand_timesubmodules, after:docs:updatePluginVersions. That matches how CI'scheckSamplesruns.Notes for reviewers
_script/embed-codeand_script/check-samplespick the macOS binary byuname -m:embed-code-macoson arm64,embed-code-macos-x86_64on Intel. GitHub Actions still usesembed-code-linux.Verification
./gradlew build dokkaGeneratepasses after the merge. TheIgTestsuites ran 513 tests with no failures../gradlew :docs:checkSamplespasses with v1.2.5.kotlin-engineerAPPROVE;spine-code-reviewandreview-docsAPPROVE WITH CHANGES, with no must-fix items. Their should-fix items are KDoc lines over 100 characters that were already too long and grew with the rename, plus wording in the new docs text.🤖 Generated with Claude Code