perf(ci): consolidate Java checks and bound Maven caches #45

Merged
KofTwentyTwo merged 3 commits from feature/lean-java-ci into develop 2026-10-19 16:05:05 +00:00
KofTwentyTwo commented 2026-10-19 15:41:06 +00:00 (Migrated from github.com)

Backend CI restores a48GiB Maven cache four times and saves it once. Coverage spends over five minutes restoring dependencies for five seconds of work. Generated Java PR/develop/staging/release workflows now run quality and coverage on the build worker, removing two jobs and their setup while keeping the same checks and thresholds. Production behavior and standalone orb jobs remain compatible.

Use an exact dependency key stable across release-version rewrites; abandon the broad inherited cache. Current installed Maven artifacts travel separately in the workspace so multi-module downstream goals use this build's artifacts. A real three-module experiment reproduced stale-cache failure and verified the overlay for release versions, snapshots and classifier dependencies.

Also skip Java/Maven setup when OWASP is disabled, upload test results once, pack the orb once before gated publication, and render each template fixture once per test run. Preserve Trivy, secrets/SAST, branch filters, required check names and release gates.

Validation: make all and all20BATS passed, including277template assertions; rendered full/minimal Java workflow graphs and10publication branch/tag cases pass. The template suite ran in29seconds locally. Real consumer timings remain pending; no production speedup is claimed. Plan: docs/PLAN-lean-java-ci.md.

AI-assisted implementation and review by Codex. A prior bounded local LiteLLM cache review was supplemented by actual Maven reproduction and regression checks.

Measured backend canary PR330: combined build/tests/quality/coverage passed in19m02s, compared with old build/test alone30m15s (37% shorter, cold dependency cache). Tests14m22s versus baseline14m24s; cache save2.56s versus4m19s. Downstream image scan pending when recorded; filesystem security/SAST/secrets passed. The first canary exposed a required-check naming suffix; the follow-up separates the production job name, and actual CircleCI compilation confirms unnumbered build-and-test for all non-production workflows. Current head also preserves refreshed external SNAPSHOT dependencies in the workspace overlay.

Backend CI restores a48GiB Maven cache four times and saves it once. Coverage spends over five minutes restoring dependencies for five seconds of work. Generated Java PR/develop/staging/release workflows now run quality and coverage on the build worker, removing two jobs and their setup while keeping the same checks and thresholds. Production behavior and standalone orb jobs remain compatible. Use an exact dependency key stable across release-version rewrites; abandon the broad inherited cache. Current installed Maven artifacts travel separately in the workspace so multi-module downstream goals use this build's artifacts. A real three-module experiment reproduced stale-cache failure and verified the overlay for release versions, snapshots and classifier dependencies. Also skip Java/Maven setup when OWASP is disabled, upload test results once, pack the orb once before gated publication, and render each template fixture once per test run. Preserve Trivy, secrets/SAST, branch filters, required check names and release gates. Validation: make all and all20BATS passed, including277template assertions; rendered full/minimal Java workflow graphs and10publication branch/tag cases pass. The template suite ran in29seconds locally. Real consumer timings remain pending; no production speedup is claimed. Plan: docs/PLAN-lean-java-ci.md. AI-assisted implementation and review by Codex. A prior bounded local LiteLLM cache review was supplemented by actual Maven reproduction and regression checks. Measured backend canary PR330: combined build/tests/quality/coverage passed in19m02s, compared with old build/test alone30m15s (37% shorter, cold dependency cache). Tests14m22s versus baseline14m24s; cache save2.56s versus4m19s. Downstream image scan pending when recorded; filesystem security/SAST/secrets passed. The first canary exposed a required-check naming suffix; the follow-up separates the production job name, and actual CircleCI compilation confirms unnumbered build-and-test for all non-production workflows. Current head also preserves refreshed external SNAPSHOT dependencies in the workspace overlay.
Sign in to join this conversation.