diff --git a/.github/workflows/common-e2e.yml b/.github/workflows/common-e2e.yml index 2bd2b29e9..7a48a8296 100644 --- a/.github/workflows/common-e2e.yml +++ b/.github/workflows/common-e2e.yml @@ -78,7 +78,7 @@ jobs: docker network connect --alias cache e2e-network cache - name: Run Server - run: docker run --network e2e-network -d -p 3123:3000 standardnotes/server:${{ github.sha }} + run: docker run -v $(pwd)/logs:/var/lib/server/logs --network e2e-network -d -p 3123:3000 standardnotes/server:${{ github.sha }} env: EXPOSED_PORT: 3123 EXPOSED_FILES_SERVER_PORT: 3125 @@ -101,7 +101,7 @@ jobs: API_GATEWAY_LOG_LEVEL: debug - name: Wait for server to start - run: docker/is-available.sh http://localhost:3123 + run: docker/is-available.sh http://localhost:3123 $(pwd)/logs - name: Run E2E Test Suite run: yarn dlx mocha-headless-chrome --timeout 1200000 -f http://localhost:9001/mocha/test.html diff --git a/docker/is-available.sh b/docker/is-available.sh index 01c0ee979..a4608a676 100755 --- a/docker/is-available.sh +++ b/docker/is-available.sh @@ -2,6 +2,8 @@ WAIT_FOR_URL="$1" shift +LOGS_PATH="$1" +shift attempt=0 while [ $attempt -le 180 ]; do @@ -11,7 +13,16 @@ while [ $attempt -le 180 ]; do if [ "$?" -eq "0" ]; then sleep 2 # for warmup echo "# All services are up!" + exit 0 break fi sleep 2 done + +echo "# Failed to wait for all services to be up!" + +echo "# Errors:" +tail $LOGS_PATH/*.err + +echo "# Logs:" +tail $LOGS_PATH/*.log