Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switching branches in the engine invalidates builds (RBE?) #148490

Open
gaaclarke opened this issue May 16, 2024 · 7 comments
Open

Switching branches in the engine invalidates builds (RBE?) #148490

gaaclarke opened this issue May 16, 2024 · 7 comments
Labels
e: rbe Related to `RBE` or toolchains in the engine. P3 Issues that are less important to the Flutter project team-engine Owned by Engine team triaged-engine Triaged by Engine team

Comments

@gaaclarke
Copy link
Member

reproduction steps

git checkout foo
# build your target
git checkout bar
git reset --hard foo
# build your target

observed behavior

The second build started from scratch.

expected behavior

The second build should be the same hash as the last one I built. I would have expected the second build to be a noop.

@gaaclarke gaaclarke added team-engine Owned by Engine team e: engine-tool Engine-specific tooling (i.e. `tools/engine_tool`). labels May 16, 2024
@matanlurey
Copy link
Contributor

Hmm this is an interesting one.

Can I assume this used to WAI with pre-et workflows?

@gaaclarke
Copy link
Member Author

Pre-et for me was goma. This is possibly an rbe vs goma thing. I wanted to mention it since I saw it on the chance there was something that rang a bell for people familiar with the et codebase.

@matanlurey
Copy link
Contributor

If you try --no-rbe, what happens?

@gaaclarke
Copy link
Member Author

If you try --no-rbe, what happens?

That would take a long time to try =T.

I'm not even sure how one would get this behavior since RBE and et should know nothing about the reset. Maybe the modification time on the files is getting changed when switching branches? So even though I ended up in the same state, the files modification time was updated which triggered them to have to be recompiled.

I think if there is nothing in et that is caching some git internals or file timestamps we can close this. I'm not sure if it will come up a lot, but we can reopen it if we do see it. If it is the timestamp problem, there's nothing we could do to fix it =T

@matanlurey
Copy link
Contributor

I think this is worth re-opening, in the context of improving the engine (even if the fix is not in et).

@matanlurey matanlurey reopened this May 16, 2024
@matanlurey
Copy link
Contributor

matanlurey commented May 16, 2024

@zanderso Is it worth tracking RBE-specific productivity issues under engine-tool? Is e: rbe a thing?

@matanlurey matanlurey changed the title [et] switching branches can invalidate builds Switching branches in the engine invalidates builds (RBE?) May 16, 2024
@zanderso
Copy link
Member

There's no e: rbe right now afaik, but we can add one.

@matanlurey matanlurey added e: rbe Related to `RBE` or toolchains in the engine. and removed e: engine-tool Engine-specific tooling (i.e. `tools/engine_tool`). labels May 16, 2024
@jonahwilliams jonahwilliams added P3 Issues that are less important to the Flutter project triaged-engine Triaged by Engine team labels May 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
e: rbe Related to `RBE` or toolchains in the engine. P3 Issues that are less important to the Flutter project team-engine Owned by Engine team triaged-engine Triaged by Engine team
Projects
None yet
Development

No branches or pull requests

4 participants