Skip to content

Exclude fuchsia-sdk/sdk/.build-id from the builder cache archive#187826

Merged
auto-submit[bot] merged 1 commit into
flutter:masterfrom
jason-simmons:builder_cache_no_fuchsia_build_id
Jun 15, 2026
Merged

Exclude fuchsia-sdk/sdk/.build-id from the builder cache archive#187826
auto-submit[bot] merged 1 commit into
flutter:masterfrom
jason-simmons:builder_cache_no_fuchsia_build_id

Conversation

@jason-simmons

Copy link
Copy Markdown
Member

The .build-id directory is created by the Fuchsia gen_build_defs.py script which is run during gclient sync. It contains links to Fuchsia SDK binaries in a directory structure that indexes the binaries by their hashes.

The builder cache updater creates an archive of the source tree and its dependencies. This archive does not need to include the .build-id tree. Any necessary parts of .build-id will be written when each CI builder does its own local run of gclient sync.

Currently the gen_build_defs.py script does not delete any of the contents of .build-id when it updates .build-id for the current Fuchsia SDK. That means that .build-id will continue to grow each time the tree syncs to a new Fuchsia SDK, and all of these files were being added to the builder cache archive. In a recent sample of the builder cache, .build-id files were nearly 80% of the archive's contents.

@jason-simmons jason-simmons requested a review from jtmcdole June 11, 2026 01:11
@flutter-dashboard flutter-dashboard Bot added the CICD Run CI/CD label Jun 11, 2026
@github-actions github-actions Bot added the engine flutter/engine related. See also e: labels. label Jun 11, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates engine/src/flutter/.ci.yaml to add Fuchsia SDK build ID paths to the ignore_cache_paths configuration for several targets. The reviewer noted that the added paths incorrectly include an extra engine/ directory (e.g., builder/engine/src/... instead of builder/src/...), which will cause the cache updater to miss these directories.

Comment on lines +84 to +87
ignore_cache_paths: >-
[
"builder/engine/src/third_party/fuchsia-sdk/sdk/.build-id"
]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The path builder/engine/src/third_party/fuchsia-sdk/sdk/.build-id contains an extra engine/ directory. In the standard gclient layout used by the recipes, the checkout root is builder/src, making the path to the Fuchsia SDK builder/src/third_party/fuchsia-sdk/sdk/.build-id. Using the incorrect path will cause the cache updater to miss this directory, and it won't be excluded from the archive.

      ignore_cache_paths: >-
        [
          "builder/src/third_party/fuchsia-sdk/sdk/.build-id"
        ]

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe builder/engine/src/third_party/fuchsia-sdk/sdk/.build-id is correct because https://flutter.googlesource.com/recipes/+/refs/heads/main/recipes/engine_v2/cache.py is doing a repo_util.engine_checkout to the builder directory.

When I download a builder cache archive from CAS, the directory is located at the engine/src/third_party/fuchsia-sdk/sdk/.build-id directory within the archive.

Comment thread engine/src/flutter/.ci.yaml
Comment thread engine/src/flutter/.ci.yaml
@jtmcdole jtmcdole requested a review from ievdokdm June 11, 2026 17:45
The .build-id directory is created by the Fuchsia gen_build_defs.py
script which is run during gclient sync.  It contains links to Fuchsia
SDK binaries in a directory structure that indexes the binaries by
their hashes.

The builder cache updater creates an archive of the source tree and its
dependencies.  This archive does not need to include the .build-id
tree.  Any necessary parts of .build-id will be written when each
CI builder does its own local run of gclient sync.

Currently the gen_build_defs.py script does not delete any of the
contents of .build-id when it updates .build-id for the current Fuchsia
SDK.  That means that .build-id will continue to grow each time the
tree syncs to a new Fuchsia SDK, and all of these files were being
added to the builder cache archive.  In a recent sample of the builder
cache, .build-id files were nearly 80% of the archive's contents.
@jason-simmons jason-simmons force-pushed the builder_cache_no_fuchsia_build_id branch from 4b1c809 to 247046b Compare June 11, 2026 17:52
@github-actions github-actions Bot removed the CICD Run CI/CD label Jun 11, 2026
@jason-simmons jason-simmons added the CICD Run CI/CD label Jun 11, 2026

@ievdokdm ievdokdm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jason-simmons jason-simmons added the autosubmit Merge PR when tree becomes green via auto submit App label Jun 15, 2026
@auto-submit auto-submit Bot added this pull request to the merge queue Jun 15, 2026
Merged via the queue into flutter:master with commit bee99df Jun 15, 2026
206 checks passed
@flutter-dashboard flutter-dashboard Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Jun 15, 2026
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Jun 16, 2026
flutter/flutter@5827d5f...3a0420c

2026-06-16 Rusino@users.noreply.github.com Implement font fallback (flutter/flutter#187520)
2026-06-16 amhurtado@protonmail.com Add FlatBuffers Verifier checks to Impeller asset loading (flutter/flutter#187878)
2026-06-16 engine-flutter-autoroll@skia.org Roll Packages from aa964a3 to 8286d39 (1 revision) (flutter/flutter#188067)
2026-06-16 engine-flutter-autoroll@skia.org Roll Skia from 9c2b83788409 to d7196b0b4939 (1 revision) (flutter/flutter#188066)
2026-06-16 engine-flutter-autoroll@skia.org Roll Skia from ef17057bb776 to 9c2b83788409 (1 revision) (flutter/flutter#188061)
2026-06-16 engine-flutter-autoroll@skia.org Roll Skia from 500025456bb5 to ef17057bb776 (1 revision) (flutter/flutter#188058)
2026-06-16 engine-flutter-autoroll@skia.org Roll Skia from cb1035ff14bf to 500025456bb5 (5 revisions) (flutter/flutter#188057)
2026-06-16 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from TbB86Po_HDe1dvXvT... to VeLhhlDcod09NR4Hb... (flutter/flutter#188055)
2026-06-16 engine-flutter-autoroll@skia.org Roll Skia from 70acf6a5e7c9 to cb1035ff14bf (3 revisions) (flutter/flutter#188054)
2026-06-16 41930132+hellohuanlin@users.noreply.github.com [pv]skip non-tappable web view workaround on ios 26.4 (flutter/flutter#185424)
2026-06-16 mdebbar@google.com [web] RenderParagraph needs paint after a DPR change (flutter/flutter#186968)
2026-06-16 30870216+gaaclarke@users.noreply.github.com Adds gamma correction to windows text. (flutter/flutter#187871)
2026-06-15 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Add a platform view test to android_hardware_smoke_test (#187913)" (flutter/flutter#188051)
2026-06-15 awolff@google.com Add a platform view test to android_hardware_smoke_test (flutter/flutter#187913)
2026-06-15 codefu@google.com feat: linux_analyze in a workflow (flutter/flutter#187889)
2026-06-15 mdebbar@google.com [web] Changes to WebParagraph configuration (flutter/flutter#187188)
2026-06-15 matt.boetger@gmail.com Fail gracefully on Android AVD lock errors during startup (flutter/flutter#187200)
2026-06-15 bkonyi@google.com [flutter_tools] Fix flakiness in widget_preview_detection_test (flutter/flutter#187938)
2026-06-15 jason-simmons@users.noreply.github.com Exclude fuchsia-sdk/sdk/.build-id from the builder cache archive (flutter/flutter#187826)
2026-06-15 engine-flutter-autoroll@skia.org Roll Skia from c8d9f80f13e4 to 70acf6a5e7c9 (4 revisions) (flutter/flutter#188020)
2026-06-15 engine-flutter-autoroll@skia.org Roll Packages from b78ad83 to aa964a3 (7 revisions) (flutter/flutter#188021)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC bmparr@google.com,stuartmorgan@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
via-guy pushed a commit to via-guy/flutter that referenced this pull request Jun 26, 2026
…tter#187826)

The .build-id directory is created by the Fuchsia gen_build_defs.py
script which is run during gclient sync. It contains links to Fuchsia
SDK binaries in a directory structure that indexes the binaries by their
hashes.

The builder cache updater creates an archive of the source tree and its
dependencies. This archive does not need to include the .build-id tree.
Any necessary parts of .build-id will be written when each CI builder
does its own local run of gclient sync.

Currently the gen_build_defs.py script does not delete any of the
contents of .build-id when it updates .build-id for the current Fuchsia
SDK. That means that .build-id will continue to grow each time the tree
syncs to a new Fuchsia SDK, and all of these files were being added to
the builder cache archive. In a recent sample of the builder cache,
.build-id files were nearly 80% of the archive's contents.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD Run CI/CD engine flutter/engine related. See also e: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants