Skip to content

Release builders run framework tasks (Linux docs_publish) from an old SHA #169111

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

Open
matanlurey opened this issue May 20, 2025 · 0 comments
Open
Assignees
Labels
infra: release Release-related requests and tooling P2 Important issues not at the top of the work list team-infra Owned by Infrastructure team

Comments

@matanlurey
Copy link
Contributor

Marking as a P2 as it has an easy workaround: provide an bin/internal/engine.version.


As part of the monorepo, the engine SHA is determined by a flowchart, flutter.dev/to/engine-artifacts. There is a flaw in the current implementation - only Cocoon knows about FLUTTER_PREBUILT_ENGINE_VERSION (and friends), so if a non-Cocoon scheduler runs a task that needs a Flutter engine (or in this case, Dart SDK), it will use a very outdated (and possibly incorrect) engine SHA.

We didn't notice this before because we've been accidentally skipping Linux docs_publish for months.

See https://flutter-dashboard.appspot.com/#/build?repo=flutter&branch=flutter-3.33-candidate.0:

Image

Note that the build for f43bd5c has failed.

A particular build framework > display builds > Linux docs_publish fails to download the Dart SDK:

Downloading Linux x64 Dart SDK from Flutter engine 9662d86a7da134a4db79551e6354df551dd4ff34...
...

Where does that SHA come from? It's 9662d86, which was the initial commit to create 3.33-candidate.0, and the build had timed out due to resource contention with another build. In this particular case the local fix is easy - re-run that (previously) failing build so that 9662d86 has an uploaded engine, but it showed a flaw in the current release builder: tasks that are dependent on an engine use the branched engine SHA.

If Linux docs_publish (or similar, such as Linux docs_deploy_*) needed a newer version of say, the Dart SDK, there would be no way to fix this without modifying the release builder, or setting engine.version. In most cases engine.version would be set, but it could confuse the release team.

Should we provide FLUTTER_PREBUILT_ENGINE_VERSION to the builders, with similar logic to Cocoon?

/cc @jtmcdole for thoughts.

@matanlurey matanlurey added team-infra Owned by Infrastructure team P2 Important issues not at the top of the work list infra: release Release-related requests and tooling labels May 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
infra: release Release-related requests and tooling P2 Important issues not at the top of the work list team-infra Owned by Infrastructure team
Projects
None yet
Development

No branches or pull requests

2 participants
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy