Roll recipe dependencies (trivial).

This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8685730086283490913

recipe_engine:
https://chromium.googlesource.com/infra/luci/recipes-py/+/c452dab063c5669ebe603579f3e9a2401c5bfb55
  c452dab (fancl@chromium.org)
      Roll provenance_broker to ca2431ca47b3f9ee4af25e48ff0c48b508a3382b

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I77fdfc32fa0e9e71b68fa460e6b047c7cb09f9f2
Reviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1561795
Commit-Queue: GI Roller <global-integration-roller@fuchsia-infra.iam.gserviceaccount.com>
1 file changed
tree: 8959f1e2786995711d623e1a3813e5d69fd47e9b
  1. git-hooks/
  2. infra/
  3. recipe_modules/
  4. recipe_proto/
  5. recipes/
  6. scripts/
  7. .editorconfig
  8. .git-blame-ignore-revs
  9. .gitignore
  10. AUTHORS
  11. GEMINI.md
  12. LICENSE
  13. OWNERS
  14. PATENTS
  15. pyproject.toml
  16. README.md
  17. recipes.py
  18. shac.ensure
  19. shac.star
  20. shac.textproto
  21. shac_internal.star
  22. TOOLCHAIN_OWNERS
README.md

Fuchsia Recipes

This repository contains recipes for Fuchsia.

A recipe is a Python script that runs a series of commands, using the recipe engine framework from the LUCI project. We use recipes to automatically check out, build, and test Fuchsia in continuous integration jobs. The commands the recipes use are very similar to the ones you would use as a developer to check out, build, and test Fuchsia in your local environment.

See go/fuchsia-recipe-docs for complete documentation and a guide for getting started with writing recipes.

Getting the code and setting up your environment

For everyday development

The recommended way to get the source code is with jiri. A recipe will not run without vpython and cipd, and using these recommended jiri manifests will ensure that you have these tools.

You can use the fuchsia infra Jiri manifest or the internal version (Googlers-only). Once that manifest is imported in your local jiri manifest, jiri update should download vpython and cipd into <JIRI ROOT>/fuchsia-infra/prebuilt/tools/. If you add that directory to your PATH, you should be good to go.

Quick changes

If you're just trying to make a single small change to in this repository and already have your local environment set up for recipe development (e.g. because you work with another recipes repository) you can simply clone this repository with git:

git clone https://fuchsia.googlesource.com/infra/recipes

Then it will be up to you to ensure that vpython and cipd are available in your PATH.

Code formatting

We format python code using Ruff, an open-source Python autoformatter. After committing recipe changes, you can format the files in your commit by running shac fmt in your project root.

Many editors also have a setting to run Ruff automatically whenever you save a Python file (or on a keyboard shortcut). For VS Code, add the following to your workspace settings.json to make your editor compatible with Ruff and turn on auto-formatting on save:

{
  "[python]": {
    "editor.defaultFormatter": "charliermarsh.ruff",
    "editor.formatOnSave": true,
    "editor.rulers": [88] // Ruff enforces a line length of 88 characters.
  },
  ...
}