Prebuilt CIPD packages in Fuchsia

The Fuchsia project uses Chrome Infrastructure Package Deployment (CIPD) to store and distribute prebuilt files.

A CIPD package is an arbitrary collection of files, stored in a remote content-addressed store, and is distributed to a Fuchsia checkout through the jiri tool. Also, using the cipd command-line tool, you can download a CIPD package directly, for example, to examine its content.

CIPD packages are typically used to distribute the following files:

  • Host prebuilt binaries required by the build (for example, clang toolchain).
  • Fuchsia prebuilt ELF binaries generated out-of-tree (for example, Goldfish Vulkan ICD).
  • Prebuilt Fuchsia archive (FAR) files that contain binaries and metadata for software that is built for Fuchsia by other teams (for example, chromium/fuchsia/webrunner-arm64).

Once you set up continuous integration (CI) with Fuchsia, Fuchsia’s CI system fetches those new packages and rolls them into the Fuchsia project through the global integration process.

The latest ref and other refs shown in the CIPD UI
Figure 1. The CIPD UI shows the latest ref and other refs used for this CIPD package instances.

When you publish a new revision of your prebuilt package to CIPD, the latest ref in the CIPD store automatically points to the new revision. Fuchsia’s CI system monitors your package’s latest ref. When it detects that the latest ref is updated, the system fetches the new package and rolls it into the Fuchsia project.