Add cherrypicks for flutter bcid validation and vsa uploading

Change-Id: I699428c4d314b1de5b71924f9760d93bd120ba71


Relanding: Upload engine artifact VSAs

Pull the VSA information directly from the BCID call, write it to a file, and upload it next to the provenance and artifact in GCS

The first landing of this caused VSAs to overwrite the engine artifacts, so we have updated the logic to correctly write the VSAs *next* to the artifact in GCS.

Change-Id: I614fd76103ffd442783a950be8b800c510f5c947


Upload vsas

Change-Id: I197f2a947929454d3605864b6a354113d977ea09
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/50160
Reviewed-by: Godofredo Contreras <godofredoc@google.com>
Commit-Queue: Drew Roen <drewroen@google.com>


Initial commit to add BCID provenance verification.

Given the restricted access to dart-internal, wrap the initial verification in a try-catch so that it is not blocking. This will allow the builder recipe to continue working while we ensure BCID verification is working correctly.

BCID verification will not be considered complete until this try-except is removed, as correctly implemented BCID verification SHOULD fail the build

Bug: b/272046059
Change-Id: I8dac50937bfe36b5462643cb7f77794885533fb6
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/48040
Commit-Queue: Drew Roen <drewroen@google.com>
Reviewed-by: Jesse Seales <jseales@google.com>
Reviewed-by: Godofredo Contreras <godofredoc@google.com>
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/50300
9 files changed
tree: 1b316f837780e7c3b2a3e7edd98449366088554e
  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