aboutsummaryrefslogtreecommitdiff
path: root/devtools/docker
diff options
context:
space:
mode:
authorJulie Qiu <julie@golang.org>2021-06-21 16:35:51 -0400
committerJulie Qiu <julie@golang.org>2021-06-21 22:22:49 +0000
commit3c323af173e2556104dcdb110a75c97ba27cda8b (patch)
tree58f3512df2929a03c2e8b57b5e944c05d98a9149 /devtools/docker
parent3f38262c132e662efd24d669781f592e745776b5 (diff)
downloadgo-x-pkgsite-3c323af173e2556104dcdb110a75c97ba27cda8b.tar.xz
devtools/docker: run chrome with nodejs container
The nodejs service now depends on headless chrome to be up an running, so that it can be used to run e2e tests independent of the frontend service. This is used to run npx in e2e tests using a different instance of the one running in docker, such as when testing against a local instance or when running the deployment script. Change-Id: I68d583859a7abe8cf7b59d5a79eebe3d994c54d5 Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/329915 Trust: Julie Qiu <julie@golang.org> Run-TryBot: Julie Qiu <julie@golang.org> Reviewed-by: Jonathan Amsterdam <jba@google.com>
Diffstat (limited to 'devtools/docker')
-rw-r--r--devtools/docker/docker-compose.yaml21
1 files changed, 13 insertions, 8 deletions
diff --git a/devtools/docker/docker-compose.yaml b/devtools/docker/docker-compose.yaml
index d881a599..4d336414 100644
--- a/devtools/docker/docker-compose.yaml
+++ b/devtools/docker/docker-compose.yaml
@@ -28,7 +28,7 @@ services:
# TERM is set to xterm-256color for use by devtools/lib.sh.
- TERM=xterm-256color
- WAITFORIT_TIMEOUT=300
- entrypoint: "./third_party/wait-for-it/wait-for-it.sh db:5432 -- ./all.bash"
+ entrypoint: ./third_party/wait-for-it/wait-for-it.sh db:5432 -- ./all.bash
volumes:
- ../../:/pkgsite
- ${GOPATH:-$HOME/go}/pkg/mod:/gomodcache
@@ -42,19 +42,13 @@ services:
# CI is used for cleaner log output from jest and npm install
- CI=true
- GO_DISCOVERY_E2E_BASE_URL=http://frontend:8080
- - GO_DISCOVERY_E2E_CHROME_URL=ws://chrome:3000
+ - GO_DISCOVERY_E2E_CHROME_URL=ws://chrome:${GO_DISCOVERY_E2E_TEST_PORT:-3000}
- WAITFORIT_TIMEOUT=300
entrypoint: ./third_party/wait-for-it/wait-for-it.sh frontend:8080 -- npx jest
command: e2e
volumes:
- ../../:/pkgsite
working_dir: /pkgsite
- chrome:
- image: browserless/chrome:1.46-chrome-stable
- ports:
- - 3000:3000
- environment:
- - CONNECTION_TIMEOUT=120000
frontend:
# This should match the version we are using on AppEngine.
image: golang:1.15.5
@@ -132,14 +126,25 @@ services:
- ${GO_DISCOVERY_DATABASE_PORT:-5432}:5432
nodejs:
image: node:14.17.0
+ depends_on:
+ - chrome
environment:
# Use the values set on the host machine environment.
- CI
# GO_DISCOVERY_E2E_* variables are used by the deployment script.
- GO_DISCOVERY_E2E_AUTHORIZATION
- GO_DISCOVERY_E2E_BASE_URL
+ - GO_DISCOVERY_E2E_CHROME_URL=ws://chrome:${GO_DISCOVERY_E2E_TEST_PORT:-3000}
- GO_DISCOVERY_E2E_QUOTA_BYPASS
- PUPPETEER_SKIP_CHROMIUM_DOWNLOAD
+ - WAITFORIT_TIMEOUT=300
+ entrypoint: "./third_party/wait-for-it/wait-for-it.sh chrome:3000 -- "
volumes:
- ../../:/pkgsite
working_dir: /pkgsite
+ chrome:
+ image: browserless/chrome:1.46-chrome-stable
+ ports:
+ - 3000:3000
+ environment:
+ - CONNECTION_TIMEOUT=120000