ci.yaml

.ci.yaml is a universal config for managing work on Flutter infrastructure. See https://github.com/flutter/cocoon/blob/master/CI_YAML.md for more information.

This starlark module takes in a JSON version of the .ci.yaml for a repo, and translates it to the relevant LUCI config. This reduces the manual work required to keep the repos in sync.

These configs are automatically kept up to date via a luci_config_generator builder.

Manually Updating Repo Configs

export $FLUTTER_INFRA=#Root to the flutter/infra checkout
# A local version of Cocoon is required
git checkout git@github.com/flutter/cocoon
# This script translates the given .ci.yaml into JSON and adds it to the repoS
dart app_dart/bin/generate_jspb.dart $repo $sha > $FLUTTER_INFRA/lib/$repo_config.json
# Generate the LUCI configurations
lucicfg generate config/main.star

Manually Updating ProtoBuf

After editing the protobuf, run the script:

./compile_proto.sh

And check in the updated scheduler.bin file.