[roll] Roll infra/recipes [submodule_update] Sync superproject revisions before updating Since we started having Jiri project rollers into fuchsia.git also update the corresponding submodules, we've occasionally been hitting race conditions when the following sequence of events occurs: 1. A roller lands a fuchsia.git CL that updates a Jiri manifest and the corresponding submodule, e.g. https://fxrev.dev/1288560. 2. Around the same time, another unrelated commit is made to integration.git that triggers the submodule-update builder to run, before the fuchsia.git CL from #1 has rolled into integration.git. So when the submodule-update builder triggers it still sees the Jiri project pinned at the old revision, and generates a fuchsia.git CL to roll the submodule back to the old revision, e.g. https://fxrev.dev/1288561. - There isn't a merge conflict because the submodule-update builder uses a separate checkout of fuchsia.git to update the submodule, and that separate checkout will be ahead of the fuchsia.git version in the Jiri-based checkout when a commit hasn't rolled into integration.git yet. 3. The CL from part #1 rolls into integration.git. 4. That triggers another submodule-update build that finally sees the updated Jiri manifest from part #1 and updates the submodule correspondingly back to the intended new revision, e.g. https://fxrev.dev/1288561. To prevent this thrashing, we can update the fuchsia.git version in the integration checkout to the same version as in the git-based checkout before resolving the versions to update all the submodules to. It's difficult to test this change for real because it fixes a bug that only happens in a very specific situation, but I at least ran a led build to confirm that it doesn't break the process of resolving the versions to use: https://ci.chromium.org/b/8713157653094956081 Original-Bug: 421230590 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1290305 Original-Revision: 1bf971b88f825af8b4feec05dc1e97c5c375c8fe GitOrigin-RevId: ba57e209b56cb6e6c54a3b4b892c0cfef97a2c63 Change-Id: Iea8ae45d6c1a427e64cf7c02269d795d4185b881
This repository contains Fuchsia's Global Integration manifest files.
All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.
Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.