diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/lint-build-test.yml index 475e171d5..e9d6c0563 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -174,8 +174,7 @@ jobs: cache: yarn - run: yarn --immutable - run: yarn build - - run: yarn ocap bundle ./packages/extension/src/vats/sample-vat.js - - run: yarn test:e2e + - run: yarn test:e2e:ci - name: Require clean working directory shell: bash run: | diff --git a/packages/extension/package.json b/packages/extension/package.json index c1f39b7e1..ea1be7226 100644 --- a/packages/extension/package.json +++ b/packages/extension/package.json @@ -36,10 +36,10 @@ "test:dev": "yarn test --coverage false", "test:verbose": "yarn test --reporter verbose", "test:watch": "vitest --config vitest.config.ts", - "test:e2e": "yarn start:server & playwright test", + "test:e2e": "yarn playwright test", + "test:e2e:ci": "./scripts/test-e2e-ci.sh", "test:e2e:ui": "playwright test --ui", - "test:e2e:debug": "playwright test --debug", - "start:server": "yarn ocap serve ./src/vats -p 3000 -h 10000" + "test:e2e:debug": "playwright test --debug" }, "dependencies": { "@endo/eventual-send": "^1.2.6", diff --git a/packages/extension/scripts/test-e2e-ci.sh b/packages/extension/scripts/test-e2e-ci.sh new file mode 100755 index 000000000..a7d3222f1 --- /dev/null +++ b/packages/extension/scripts/test-e2e-ci.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +set -x +set -e +set -o pipefail + +yarn ocap bundle "./src/vats" + +# Start the server in background and capture its PID +yarn ocap serve "./src/vats" & +SERVER_PID=$! + +function cleanup() { + # Kill the server if it's still running + if kill -0 $SERVER_PID 2>/dev/null; then + kill $SERVER_PID + fi +} +# Ensure we always close the server +trap cleanup EXIT + +yarn test:e2e