Add CI jobs for end-to-end testing

Would be nice to have CI pipeline for end-to-end remote execution testing, ideally one per element in the remote-execution chain:


  • buildbox (bot): test a specific buildbox version against BuildGrid with RECC (and later BuildStream? needs buildbox-run-bubblewrap):

    1. Build a Docker image of buildbox (buildbox-worker and buildbox-run-hosttools for now) at a given sha.
    2. Spin-up a BuildGrid Compose grid from nightly builds and the image build at 1.
    3. Run a build of RECC itself using RECC image: which one?
    4. Run a build of BuildStream itself, using the buildstream-integration project.
  • buildgrid (controller): test a specific BuildGrid version with BuildStream and RECC:

    1. Build a Docker image of BuildGrid at a given sha.
    2. Spin-up a BuildGrid Compose grid with a buildbox bot and a host-tools bot using the image build at 1.
    3. Run a build of RECC itself using RECC image: which one?
    4. Run a build of BuildStream itself, using the buildstream-integration project, using BuildStream stable image: which one?

Pipelines could be manually triggered, at least in the initial version.

Edited by Martin Blanchard