Skip to content

ci: reuse caches across validation jobs - #784

Merged
pedrosakuma merged 2 commits into
mainfrom
ci/783-reuse-build-caches
Aug 7, 2026
Merged

pedrosakuma merged 2 commits into
mainfrom
ci/783-reuse-build-caches

Conversation

@pedrosakuma

@pedrosakuma pedrosakuma commented Aug 7, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • let the ARM64 identity smoke consume only the trading-host Buildx cache populated by its prerequisite candidate-image job
  • retain the smoke-specific cache as a write scope and keep loading/booting a real linux/arm64 image
  • leave the format job unchanged after measurement showed that adding a NuGet cache did not improve its restore time

Validation

  • parsed .github/workflows/ci.yml and .github/workflows/docker.yml with PyYAML
  • git diff --check
  • two mandatory code-review passes found no significant issues

Measurement

Baseline from PR #782:

  • ARM64 identity directory smoke: 57s on the second run (2m11s on the preceding run)
  • Format check: 1m10s on the second run (1m39s on the preceding run)

First run of this PR:

  • ARM64 identity directory smoke: 1m04s; both cache scopes were imported and all host build layers were cached
  • Format check: 1m42s; the NuGet cache hit, but restore took about 14s versus about 12s in the baseline and added cache restore overhead

Based on that evidence, the NuGet change was removed. The second run isolates the Buildx experiment by consuming only the cache produced by the prerequisite trading-host job. No checks, architectures, tests, or runtime assertions are removed.

Second run (final diff):

  • Build candidate images: 53s
  • ARM64 identity directory smoke: 55s
  • the ARM64 build imported a single GHA cache manifest from the trading-host scope
  • every host image build layer was reported as CACHED; the remaining time is image export/load plus the unchanged ARM64 runtime assertions
  • Format check: 1m05s with the NuGet experiment removed

The final change therefore removes the smoke job's dependency on its own cache being warm: the prerequisite candidate build is sufficient to supply all ARM64 host layers.

Protocol evidence gate

Does this PR add or change a dependency on B3MatchingPlatform / B3MarketDataPlatform wire behavior?

  • No, this PR does not change cross-repo wire assumptions.
  • Yes, and merged upstream evidence plus official schema details are listed below.

Checklist:

  • Upstream issues, RFCs, or proposals are not the only evidence for implementation, or this PR has no cross-repo wire dependency.
  • Participant-side / product requirements do not prescribe venue messages, templates, fields, or enums that do not exist in the official schema and merged upstream implementation.

Closes #783

PedroTravi and others added 2 commits August 7, 2026 17:04
Let the ARM64 identity smoke consume the completed trading-host Buildx cache and give the format job the same NuGet package cache used by build-test.

Refs #783

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Drop the NuGet cache experiment after it showed no restore improvement, and make the ARM64 smoke consume only the cache produced by its prerequisite host build.

Refs #783

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@pedrosakuma
pedrosakuma merged commit c4d1495 into main Aug 7, 2026
21 checks passed
@pedrosakuma
pedrosakuma deleted the ci/783-reuse-build-caches branch August 7, 2026 17:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ci: reduce duplicated build and restore work without changing coverage

2 participants