Repository navigation
fix(ci): reuse SDK compilation outputs across Java builds - #1149
Conversation
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. |
Castiron custom codeEvaluated main: ✅ No new custom-code files detected. 93 mixed files remain; 0 existing customizations changed. Compared 93 existing customizations unchanged
53 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 37541388915 --repo openai/openai-java \
--name castiron-custom-code-37541388915-1 --dir /tmp/castiron-custom-code-37541388915-1
git apply --stat /tmp/castiron-custom-code-37541388915-1/custom-code.patch
cat /tmp/castiron-custom-code-37541388915-1/custom-code.patchOr reproduce it from an SDK checkout containing the vendored reporter: git fetch --no-tags origin 7648554b5e6a250a233cc11e211f436b756ef03b 18c64c877dae832e2bf0a1451ae520da7217f2c5
python3 scripts/castiron/custom_code_report.py report \
--base 7648554b5e6a250a233cc11e211f436b756ef03b \
--head 18c64c877dae832e2bf0a1451ae520da7217f2c5 --fetch --require-head-hash --public \
--out /tmp/castiron-custom-code-18c64c877dae
cat /tmp/castiron-custom-code-18c64c877dae/custom-code.patchThis is the current full custom patch for mixed files, not an attribution of only the handwritten lines changed by this PR. |
jbeckwith-oai
left a comment
There was a problem hiding this comment.
Reviewed 18c64c877dae832e2bf0a1451ae520da7217f2c5; no actionable findings.
The separate commit-keyed compilation cache fixes the dependency-cache race without weakening the exact-run artifact/digest handoff or required test and compatibility jobs. Restore-only use preserves read-only PR/merge-group behavior; the default-branch push condition also retains GitHub’s implicit success guard.
Independently ran three exact-head Kotlin cache-policy tests plus five additional workflow mutations (writer predicates, commit key, cache path and primary-vs-matched save key): all passed/rejected as expected. This was a standalone invocation with cached test dependencies, not the full Gradle suite; I did not rerun the local performance benchmark. All 13 executed hosted checks/statuses are green; queue-signal is skipped. Temporary test fixtures cleaned up.
markstuart-oai
left a comment
There was a problem hiding this comment.
Reviewed 18c64c877dae832e2bf0a1451ae520da7217f2c5: no actionable findings.
The separate compilation cache fixes the race with the faster dependency-cache writer. Restore runs before the SDK build. Save runs after successful build, collect, and upload steps, only on default-branch pushes. PRs and merge groups keep read-only access. The existing artifact ID and digest checks still bind later jobs to this run's build outputs.
The policy tests cover unsafe save conditions and a competing writer in an earlier job. The change uses the existing workflow parser and keeps the cache logic in the build job.
Required hosted CI checks pass at this head: build, lint, tests, API/Jackson compatibility, and Java 8/25 runtime checks. This was a source review; I did not run local tests or a build. The reported speedup is from the author's local runs. Hosted cache reuse still needs a successful main build to seed it. The separate OkTest bot comment still reports Running.
Automated Release PR --- ## [4.78.1](v4.78.0...v4.78.1) (2026-10-08) ### Bug Fixes * **api:** correct custom voice creation parameters ([#1153](#1153)) ([43422a8](43422a8)) * **ci:** reuse SDK compilation outputs across Java builds ([#1149](#1149)) ([a0dc1bc](a0dc1bc)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: openai-sdks[bot] <284451331+openai-sdks[bot]@users.noreply.github.com>
The Gradle basic cache uses an immutable key derived from build files. On main, the version-matrix job saved the key before CI / build compiled the SDK; later builds restored only dependency/buildSrc outputs. The observed 8m35s PR build executed all SDK compilation tasks again.
Give CI / build a separate, commit-keyed SDK compilation cache, overlaid after the existing dependency cache. Only successful pushes to the default branch can publish it. PRs and merge groups read it and continue to share their current immutable, digest-verified build artifact downstream. All current tests, runtime, Jackson and API compatibility gates remain required. The new SHA-pinned GitHub cache actions store only Gradle's content-addressed build-cache-1.
Validation: