forked from flutter/flutter
-
Notifications
You must be signed in to change notification settings - Fork 1
CI Config Migration Guide
Christopher Fujino edited this page May 19, 2021
·
1 revision
As of May 19, 2021, Flutter has migrated away from using try_builders.json
and prod_builders.json
to a single .ci.yaml
file for CI configuration. Currently, they are more or less equivalent, with only a few differences.
The official source of truth for the new .ci.yaml
is scheduler.proto. It specifies default values for fields that have them.
A sample, minimal migration occurred in #82870. In that change, these JSON files:
# dev/prod_builders.json
{
"name": "Linux analyze",
"repo": "flutter",
"task_name": "linux_analyze",
"flaky": false
},
# dev/try_builders.json
{
"name": "Linux analyze",
"repo": "flutter",
"task_name": "linux_analyze",
"enabled": true
},
Became:
# .ci.yaml
- name: linux_analyze
builder: Linux analyze
scheduler: luci
What follows are mappings from the field name in the *_builders.json file to the corresponding field in .ci.yaml
.
-
name
->builder
-
repo
is unused in.ci.yaml
. -
task_name
->name
-
enabled
->presubmit
(defaults to true) -
run_if
->run_if
-
name
->builder
-
repo
is unused in.ci.yaml
. -
task_name
->name
-
flaky
->bringup
(defaults to false)
- 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