Repository navigation
ci: reuse version-only test compilation and parallelize core test builds - #1154
Conversation
Castiron custom codeEvaluated main: ✅ No new custom-code files detected. 102 mixed files remain; 0 existing customizations changed. Compared 102 existing customizations unchanged
62 more in the full report. A changed generated baseline means this report cannot reliably identify which handwritten lines changed. Inspect the custom-code diffDownload the exact patch produced by this run (requires repository access): gh run download 37860001346 --repo openai/openai-java \
--name castiron-custom-code-37860001346-1 --dir /tmp/castiron-custom-code-37860001346-1
git apply --stat /tmp/castiron-custom-code-37860001346-1/custom-code.patch
cat /tmp/castiron-custom-code-37860001346-1/custom-code.patchOr reproduce it from an SDK checkout containing the vendored reporter: git fetch --no-tags origin 130684e8b0fb36829a886ca508f2f34ae95dcb2c 41be46e364c7cbd9fcda0aef23d545e4cd90f5dc
python3 scripts/castiron/custom_code_report.py report \
--base 130684e8b0fb36829a886ca508f2f34ae95dcb2c \
--head 41be46e364c7cbd9fcda0aef23d545e4cd90f5dc --fetch --require-head-hash --public \
--out /tmp/castiron-custom-code-41be46e364c7
cat /tmp/castiron-custom-code-41be46e364c7/custom-code.patchThis is the current full custom patch for mixed files, not an attribution of only the handwritten lines changed by this PR. |
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. |
markstuart-oai
left a comment
There was a problem hiding this comment.
Reviewed be0c0b6cb2b717530f743e5cf53a5d86ca05a3bb. One cache-input gap remains in the new GraalVM helper regression test; details are inline. Leaving this review without approval.
The split model-test outputs feed the existing normal and Jackson test paths. The release helper is copied from the pinned workflow revision, then runs against the verified release checkout. The existing release cache isolation and signing boundaries remain in place.
Validation: source review only; I did not run Gradle or publish a release. Current-head build, build-logic tests, lint, SDK tests, Jackson/API compatibility, Java 8/25 runtime checks, version-support checks, and the required CI gate passed. The reported compile-speed improvements and complete class inventory remain author-reported; CI does not establish future cache reuse or a native-image publication.
markstuart-oai
left a comment
There was a problem hiding this comment.
Re-reviewed 41be46e364c7cbd9fcda0aef23d545e4cd90f5dc. The missing cache input is fixed: buildSrc now registers the actual GraalVM helper script as a test input with relative path sensitivity. The rest of the previously reviewed change is unchanged. No further blocking findings.
Validation: source comparison and review of the task input, test, and helper paths. Hosted build, build-logic tests, lint, Jackson/API compatibility, Java 8/25 runtime, version-support, and Castiron checks passed. SDK tests and the required CI gate also passed. I did not run Gradle, verify a runtime cache hit, or publish a release; the compile-time benchmarks remain author-reported.
Version-only releases invalidate Kotlin test compilation because the compiler fingerprints the versioned main JAR in its friend paths. Point test friend paths at the canonical main class directories so the existing Gradle compilation cache can reuse unchanged tests. Compile the independent beta and admin model tests separately and include their outputs in the existing test source set, preserving normal and Jackson test discovery. Run build-logic tests in parallel and require their success in the existing CI gate.
Prepare all core test classes before the release switches to GraalVM. Derive the optional compilation exclusions from the verified release checkout so retries of older SDKs without the new tasks still work. Release source verification, permissions, cache isolation and signing steps remain unchanged.
Validation:
The local benchmark measures compilation on one toolchain. PR CI does not by itself establish the improvement for future main-branch cache seeds or merge queues. The release checks used Gradle task graphs, not an actual publication or native-image build.