alphagov/gsp

Run deploy/test/destroy before publishing a release

Closed this issue · 1 comments

What

Before a release is created by the release pipeline it should:

  • Create a cluster (preferably with the deployer pipeline so it can be tested)
  • Run the basic "check" tests from the deployer pipeline (canary healthy etc)
  • Destroy the cluster (preferably with the destroy job in the deployer pipeline to test it)
  • If all is ok, THEN create the release

Why

Currently we are relying on the sandbox to be our gate before "production" ... while we may want to continue to gate production release until after some time in sandbox, totally broken things should not even make it as far as the sandbox cluster and should not result in a release (pre-release or otherwise)

We now have on-demand clusters. Whilst these aren't part of our deployment pipeline they do allow us to (with some amount of manual work) test an end-to-end cluster lifecycle.

We should consider this if it turns out we're frequently breaking things that could be caught by doing this.