Exclude fuchsia-sdk/sdk/.build-id from the builder cache archive#187826
Conversation
There was a problem hiding this comment.
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.
| ignore_cache_paths: >- | ||
| [ | ||
| "builder/engine/src/third_party/fuchsia-sdk/sdk/.build-id" | ||
| ] |
There was a problem hiding this comment.
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"
]There was a problem hiding this comment.
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.
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.
4b1c809 to
247046b
Compare
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
…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.
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.