Commit Graph

1 Commits

Author SHA1 Message Date
Andrew Seigner ea27e0ca0e
Introduce integration tests into all ci runs (#3293)
The integration tests under `/test` were run separately via l5d-bot,
lacking the feedback and job management provided by ci.

Enable integration tests in ci, via a docker build and kind clusters
executed on a remote DOCKER_HOST.

CI runs are now broken into two stages, run serially. Each stage is
composed of jobs run in parallel:
- Setup stage
  - Validate go deps
  - Remote docker build
  - Kind cluster setup (deep)
  - Kind cluster setup (upgrade)
  - Kind cluster setup (helm)
- Test stage
  - Go unit tests
  - Node.js unit tests
  - Kind integration tests (deep)
  - Kind integration tests (upgrade)
  - Kind integration tests (helm)

This PR also modifies `bin/test-run.sh` to always set `--failfast` for
Go tests.

Also introduce `bin/docker` and `bin/kubectl` scripts, to ensure
cacheable, pinned executables in ci.

The existing integration tests for master merges and docker pushes,
running against GKE, remain in place.

Signed-off-by: Andrew Seigner <siggy@buoyant.io>
2019-08-26 11:41:17 -07:00