forked from flutter/flutter
-
Notifications
You must be signed in to change notification settings - Fork 1
Understanding a LUCI build failure
keyonghan edited this page Jun 9, 2021
·
1 revision
Most tests have been running in Flutter CI LUCI for multiple flutter repositories, including post-submit framework, pre-submit framework, etc. This page uses framework as an example, and talks about what to do when a LUCI build failure happens.
An infra failure comes with network connection issues, hardware outage, recipe breakage, cipd dependency issues, etc. It shows up as a purple box in the dashboards:
- Framework post-submit build dashboard:
- Framework pre-submit build console:
An example build: Linux color_filter_and_fade_perf__e2e_summary
- (i) Link to the historical build list of this builder
- (ii) A quick glimpse of the infra failure
- (iii) The step list of this builder, defined by the recipe on the right
- (iv) The real failed step causing the build failure
- (v) Check
stdoutfor detailed log
- Check if the infra failure has happened on earlier builds by clicking (i)
- Check if issue already exists in the infra bug pool
- If not, file an infra bug
- If this is a blocking failure, please add Projects
Infra Ticket Queue. The infra gardener will scan through the queue frequently. - If you want to get an immediate help, please ask in the discord
hackers-infrachannel - If this is an infra flake, and a retry is needed
- For pre-submit test, click
Re-runin the check run page:
- No access limit.
- For post-submit test, login to framework build dashboard, click the task box, and click
RERUN:
- Ask to re-run in discord
hackers-infraif not allowed.
- Ask to re-run in discord
- For pre-submit test, click
A test failure shows up as a red box in the dashboards:
- Framework post-submit build dashboard:
- Framework pre-submit build console:
Please refer to the above example of the infra failure.
- Check if it happens in earlier builds/commits via (i)
- Debug based on the error message (ii) and detailed log (v) to see if a real test failure caused by code changes.
- Check if the issue already exists in the bug pool
- Check if a flaky bug has been filed in flaky bug pool
- File a new bug if needed
- If a rerun is needed, please refer to step 6 in the above infra failure session.
Engine post submit builds are available in milo dashboard only, and only googlers can rerun. Please ask help from engine or infra team.
- Home of the Wiki
- Roadmap
- API Reference (stable)
- API Reference (master)
- Glossary
- Contributor Guide
- Chat on Discord
- Code of Conduct
- Issue triage reports
- Our Values
- Tree hygiene
- Issue hygiene and Triage
- Style guide for Flutter repo
- Project teams
- Contributor access
- What should I work on?
- Running and writing tests
- Release process
- Rolling Dart
- Manual Engine Roll with Breaking Commits
- Updating Material Design Fonts & Icons
- Postmortems
- Setting up the Framework development environment
- The Framework architecture
- The flutter tool
- API Docs code block generation
- Running examples
- Using the Dart analyzer
- The flutter run variants
- Test coverage for package:flutter
- Writing a golden-file test for package:flutter
- Setting up the Engine development environment
- Compiling the engine
- Debugging the engine
- Using Sanitizers with the Flutter Engine
- Testing the engine
- The Engine architecture
- Flutter's modes
- Engine disk footprint
- Comparing AOT Snapshot Sizes
- Custom Flutter engine embedders
- Custom Flutter Engine Embedding in AOT Mode
- Flutter engine operation in AOT Mode
- Engine-specific Service Protocol extensions
- Crashes
- Supporting legacy platforms
- Metal on iOS FAQ
- Engine Clang Tidy Linter
- Why we have a separate engine repo
- Reduce Flutter engine size with MLGO
- Setting up the Plugins development environment
- Setting up the Packages development environment
- Plugins and Packages repository structure
- Plugin Tests
- Contributing to Plugins and Packages
- Releasing a Plugin or Package
- Unexpected Plugins and Packages failures
