Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • sotk/features/lease-audit-table
  • sotk/consolidate-leases-and-jobs/p3-drop-leases-table
  • coverity
  • sotk/logstream-testing
  • zchen723/skip-scheduler-metrics
  • sminskyprimu/blake3
  • 0.2.2 protected
  • 0.2.1 protected
  • 0.2.0 protected
  • 0.1.32 protected
  • 0.1.31 protected
  • 0.1.30 protected
  • 0.1.29 protected
  • 0.1.28 protected
  • 0.1.27 protected
  • 0.1.26 protected
  • 0.1.25 protected
  • 0.1.24 protected
  • 0.1.23 protected
  • 0.1.22 protected
  • 0.1.21 protected
  • 0.1.20 protected
  • 0.1.19 protected
  • 0.1.18 protected
  • 0.1.17 protected
  • 0.1.16 protected
27 results

using_buildstream.rst

Code owners
Assign users and groups as approvers for specific file changes. Learn more.
using_buildstream.rst 7.08 KiB

BuildStream client

BuildStream is a “tool for integrating software stacks”: it produces build outputs from multiple input sources, using the existing sources build systems. It supports remote build execution using the remote execution API (REAPI) v2.

Note

No stable BuildStream version have been released with remote execution support yet: you'll have to install it from sources in order use remote build execution.

Configuration

BuildStream uses YAML for build definition and configuration. It has two levels of configuration: user and project level. User-level configuration is stored in your buildstream.conf file while project-level configuration is defined in each project's project.conf file.

Note

At the moment, remote execution can only be configured at project-level.

Project configuration

In order to activate remote build execution at project-level, the project's project.conf file must declare two specific configuration nodes:

Important

BuildStream does not support multi-instance remote execution servers and thus will always submit remote execution request omitting the instance name parameter.

Important

If you are using BuildGrid's artifact server, the server instance must accept pushes from your client for remote execution to be possible.

BuildBox tool

BuildStream performs builds in a sandbox on top of a project-defined environment, not relying on any host-tools. BuildGrid supports this kind of builds using the buildbox bot, a specific kind of bot relying on BuildBox for build execution.

BuildBox can execute build commands in a sandbox on top of an environment constructed from provided sources using FUSE. It also uses bubblewrap for sandboxing without requiring root privileges.

BuildBox being a rather young project, it isn't packaged yet and you'll have to build it from sources. You may want follow the manual instructions or prefer to build it with BuildStream using the dedicated integration project (recommanded).

Important

Whatever the method you use to install BuildBox, you also have to install bubblewrap along, minimum required version being 0.1.8.