Add recipe that automatically uploads the latest version of cosign to CIPD

* Uses the github api to get the latest release from sigstore/cosign, then uses it to find the specific artifacts needed based on the os
* Downloads the binary/certificates
* Uses the current version of cosign to verify the new version is valid
* If it is verified to be ok, it is uploaded to CIPD if the version is a new version

Exmaple build: https://ci.chromium.org/raw/build/logs.chromium.org/flutter/led/drewroen_google.com/6adad536aa2eede8631c572002a2cdb852b11ce571820acc133d3cb1793b9a48/+/build.proto?server=chromium-swarm.appspot.com

Buganizer: https://b.corp.google.com/issues/238423446

Change-Id: I3ac83a04cf13911d2c8628fadc5e12972b40f336
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/31780
Reviewed-by: Godofredo Contreras <godofredoc@google.com>
Reviewed-by: Jesse Seales <jseales@google.com>
Commit-Queue: Drew Roen <drewroen@google.com>
2 files changed
tree: ff024a1a6ab1bd58779d1c2ff2209bef45ae6a8b
  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