-
Notifications
You must be signed in to change notification settings - Fork 1
Autorollers
Several of our dependencies are automatically rolled (updated) by bots.
We use an auto-roller for Skia rolls. It's status can be viewed at https://skia-flutter-roll.skia.org/. In case of build failures or other errors, ping the Flutter-Skia chat channel. In case you get no response, you can login with an @google.com account and pause the roller (or ask someone with an @google.com account to do so). Please specify a descriptive reason and file a bug to re-enable the rollers as soon as possible.
The bot updates the skia_revision
line of https://github.com/flutter/engine/blob/master/DEPS.
Skia also uses an auto-roller for Fuchsia; see https://autoroll-internal.skia.org/r/fuchsia-autoroll.
The engine is automatically rolled to the framework.
The bot updates https://github.com/flutter/flutter/blob/master/bin/internal/engine.version to point to the latest revision of the engine whose artifacts built successfully, as determined by looking at the Engine Console.
If you make a breaking change to the engine, you'll need to land the change to engine.version
manually in
the same PR to the framework as the one where you fix the framework to work with the new API. In general, it
is very advisable to not make a breaking change to our APIs, and thus avoid this problem entirely.
When you change the engine.version
file locally, you should delete $FLUTTER_ROOT/bin/cache
and then run flutter precache
to ensure that all your local artifacts and snapshots are updated. You can then run tests and be sure that they are running against the latest version of the assets you need.
You may find it helpful to use the $ENGINE_ROOT/src/flutter/tools/engine_roll_pr_desc.sh
to create a PR description. Doing this helps us track down what commits have rolled in more quickly, and properly link to other commits and pull requests for commenting and tracking.
For example, to generate a description from hash deadbeef to beefdead:
$ ./tools/engine_roll_pr_desc.sh deadbeef..beefdead
The Dart SDK is automatically rolled into the engine on a regular basis, following the steps laid out at the Rolling Dart page. Since this process is a bit more involved, this autoroller does not use the Skia infrastructure and has a custom dashboard hosted at go/dart-sdk-roller-dashboard (note: this is likely only accessible from a machine on the Google network). Using the dashboard, the autoroller can be paused, rolls can be triggered and cancelled, and rolls to a particular revision can be done.
If there are any issues with this process or the autoroller dashboard, contact bkonyi@ or a member of the Dart VM 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