Reenable web app e2e tests
Created by: chrismwendt
This re-enables the web app e2e tests (browser extension e2e tests will be a separate PR) and fixes a bunch that were broken due to external service changes and selector changes.
Previously, CI would deploy to dogfood then run e2e tests on the dogfood deployment.
This builds a sourcegraph/server image from the current commit and runs e2e tests on it.
Since the yarn run test-e2e
command runs in the buildkite-agent Docker container, it cannot directly reach the server container's published port 7080 because the server container is running inside dind (Docker in Docker), a separate k8s pod. However, the buildkite-agent is able to docker exec
into the server container, and that can be used as a transport to set up port-forwarding, so that's what I did. It was quicker to set up than a sibling test-only container with a dedicated Docker network and reuses all the same dependencies of the buildkite-agent image. @ggilmore Do you have any thoughts on this infrastructure?
I dropped the auth override and added code to exercise the admin sign up page. @felixfbecker Do you see any glaring issues with the test changes (the init
function in particular)?
This makes CI take a bit longer (8m 51s to build the server image and run e2e tests, compared to the next slowest in the concurrency group which was 5m 15s to build the web app).