ci: optimistically build docker images alongside e2e tests
Created by: ggilmore
Ultimately, the purpose of our e2e tests is to prevent bad commits from making their way into the final sourcegraph/*
insiders
/semver
docker images. Currently, we wait for all of the e2e tests to pass before we even start the process of building our docker images.
If all we care about is making sure only the commits that pass e2e test are the ones with the vetted insiders
or semver
tags, we can recover a lot of previously wasted time by building candidate
versions of our docker images while the e2e tests are running. Once we know that e2e tests have passed, we can re-tag those candidate
images with the final insiders/semver
tag.
Removing the e2e tests from the critical path can potentially shave off ~5 minutes from our master
branch CI pipeline.
The best buildkite builds to review for this PR are the ones for the master-dry-run/ggilmore branch which includes all of the docker build
steps that the master
branch has.
Note: https://github.com/sourcegraph/infrastructure/pull/1754/ would be nice to get working since this will introduce a lot more steps per build into our CI pipeline.