Prebuilt CIPD packages in Fuchsia
The Fuchsia project uses Chrome Infrastructure Package Deployment (CIPD{: .external}) to store and distribute prebuilt files.
Note: A CIPD store is not a package server for Fuchsia devices. In other words, a Fuchsia device doesn't run components from prebuilt CIPD packages.
A CIPD package is an arbitrary collection of files, stored in
a remote content-addressed store{: .external},
and is distributed to a Fuchsia checkout through the
jiri{:.external}
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{: .external} 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{: .external}).
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.
When you publish a new revision of your prebuilt package to CIPD, the latest
ref{: .external} 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.
