Supports `always` run logic for packages tasks

It is not uncommon some tasks are expected to `always` run no matter there are earlier task failures or not. This CL supports the `always` run logic to unblock packages cirrus to LUCI migration.

An LED run based on https://github.com/flutter/packages/pull/4234/files, which intentionally fails an earlier task:
https://ci.chromium.org/raw/build/logs.chromium.org/flutter/led/keyonghan_google.com/c747961ad022a190d2badfb314b4396d7de0beaa88b795d58ed4b5e2faa8e5b1/+/build.proto?server=chromium-swarm.appspot.com

Where it continues the `always: True` tasks:
native test
drive examples

but skips the one without `always: True`
remove simulator

and shows `Failed` for the whole build.

Change-Id: Id03074ae8b6a71f30567310b226fa060b442de9a
Bug: https://github.com/flutter/flutter/issues/122629
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/46041
Reviewed-by: Stuart Morgan <stuartmorgan@google.com>
Reviewed-by: Godofredo Contreras <godofredoc@google.com>
Commit-Queue: Keyong Han <keyonghan@google.com>
2 files changed
tree: bd0b47dc0988b21e6e62c266d3e357d3c198adef
  1. infra/
  2. recipe_modules/
  3. recipes/
  4. .gitignore
  5. .style.yapf
  6. AUTHORS
  7. LICENSE
  8. OWNERS
  9. README.md
  10. recipes.py
README.md

Flutter LUCI Recipes

This repository contains Flutter's LUCI recipes. For the LUCI infrastructure config, see flutter/infra. Actual builds can be seen at ci.chromium.org.

Supported repositories roll their .ci.yaml into flutter/infra, which updates what properties builds have. For example, flutter config specifies various dependencies the different tests require, which are then used by the flutter_deps recipe_module No modifications to flutter/infra are required to work on the recipes.

Configuration

Tricium configurations recipes repo.

Testing locally

Running python recipes.py test train will execute all of the tests in this repository

Troubleshooting

Required binary is not found on PATH: cipd when testing locally

You need to ensure depot_tools is installed. See Depot Tools Installation Tutorial