alphagov/gsp

PR-builds for development

chrisfarms opened this issue · 1 comments

What

Make it easier to provision a cluster from a PR/branch

For example:

  • A concourse job could watch for open PRs (using github v4 api)
  • For each open PR:
    • set a "release" pipeline to read from that branch
    • disable the creation of releases
    • pause the pipeline by default (unpause if you want the cluster for testing)
    • the pipeline should have a suspend job on timer to wind-down when not being used
  • For each pipeline without an open PR:
    • destroy the cluster (if exists)
    • destroy the pipeline

Why

Because the current development process is "steal the sandbox" which is not always practical ... we should treat the sandbox as if it is a production cluster

We've got on-demand clusters now. Whilst these aren't as slick as what's being proposed here they will allow us to treat sandbox as a production cluster (and thus not block production deploys).