Template
Add a way to stop docker after e2e tests if it wasn't already running.
This commit is contained in:
1 parent
fba73a92ce
commit
7ae7b61da0
3 files changed
+36
-3
No files matched your search
@@ -70,7 +70,8 @@ SKIP_E2E=1 bun run ci:check
|
||||
```
|
||||
|
||||
`bun test:e2e` starts the isolated local stack and currently performs generic
|
||||
stack smoke checks. It skips in CI and when `SKIP_E2E=1` is set.
|
||||
stack smoke checks. It stops the stack afterward only when the stack was not
|
||||
already running. It skips in CI and when `SKIP_E2E=1` is set.
|
||||
|
||||
Shared dependency versions belong in root catalogs. Edit the root catalog, run
|
||||
`bun install`, then `bun lint:ws`; do not run `bun update` inside a workspace.
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2025.float16.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@eslint/core/dist/cjs/types.d.cts","../../../node_modules/@eslint/config-helpers/dist/cjs/types.cts","../../../node_modules/@eslint/config-helpers/dist/cjs/index.d.cts","../../../node_modules/eslint/lib/types/config-api.d.ts","../../../node_modules/@eslint/core/dist/esm/types.d.ts","../../../node_modules/@eslint/compat/dist/esm/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@eslint/plugin-kit/dist/cjs/types.cts","../../../node_modules/@eslint/plugin-kit/dist/cjs/index.d.cts","../../../node_modules/eslint/lib/types/index.d.ts","../../../node_modules/@eslint/js/types/index.d.ts","../../../node_modules/eslint-plugin-import/node_modules/eslint/node_modules/@eslint/core/dist/cjs/types.d.cts","../../../node_modules/eslint-plugin-import/node_modules/eslint/lib/types/use-at-your-own-risk.d.ts","../../../node_modules/eslint-plugin-import/node_modules/eslint/lib/types/index.d.ts","../../../node_modules/eslint-plugin-import/index.d.ts","../../../node_modules/typescript/lib/typescript.d.ts","../../../node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts","../../../node_modules/@typescripLine truncated
|
||||
{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2025.float16.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@eslint/core/dist/cjs/types.d.cts","../../../node_modules/@eslint/config-helpers/dist/cjs/types.cts","../../../node_modules/@eslint/config-helpers/dist/cjs/index.d.cts","../../../node_modules/eslint/lib/types/config-api.d.ts","../../../node_modules/@eslint/core/dist/esm/types.d.ts","../../../node_modules/@eslint/compat/dist/esm/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@eslint/plugin-kit/dist/cjs/types.cts","../../../node_modules/@eslint/plugin-kit/dist/cjs/index.d.cts","../../../node_modules/eslint/lib/types/index.d.ts","../../../node_modules/@eslint/js/types/index.d.ts","../../../node_modules/eslint-plugin-import/node_modules/eslint/node_modules/@eslint/core/dist/cjs/types.d.cts","../../../node_modules/eslint-plugin-import/node_modules/eslint/lib/types/use-at-your-own-risk.d.ts","../../../node_modules/eslint-plugin-import/node_modules/eslint/lib/types/index.d.ts","../../../node_modules/eslint-plugin-import/index.d.ts","../../../node_modules/typescript/lib/typescript.d.ts","../../../node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts","../../../node_modules/@typescripLine truncated
|
||||
+33
-1
@@ -6,5 +6,37 @@ if [ -n "${SKIP_E2E:-}" ]; then echo "SKIP_E2E set; skipping local e2e."; exit 0
|
||||
|
||||
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
||||
ROOT_DIR="$(cd -- "$SCRIPT_DIR/.." && pwd)"
|
||||
bash "$ROOT_DIR/scripts/db/up"
|
||||
|
||||
if command -v docker >/dev/null 2>&1; then RUNTIME=docker
|
||||
elif command -v podman >/dev/null 2>&1; then RUNTIME=podman
|
||||
else echo "Docker or Podman is required for local e2e." >&2; exit 1; fi
|
||||
|
||||
container_running() {
|
||||
"$RUNTIME" ps --format '{{.Names}}' | grep -qx "$1"
|
||||
}
|
||||
|
||||
if container_running convexmonorepo-local-convex \
|
||||
&& container_running convexmonorepo-local-convex-dashboard; then
|
||||
SHOULD_STOP_STACK=false
|
||||
else
|
||||
SHOULD_STOP_STACK=true
|
||||
fi
|
||||
|
||||
cleanup() {
|
||||
if [ "$SHOULD_STOP_STACK" = true ]; then
|
||||
"$RUNTIME" rm -f \
|
||||
convexmonorepo-local-convex-dashboard \
|
||||
convexmonorepo-local-convex \
|
||||
>/dev/null 2>&1 || true
|
||||
fi
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
if [ "$SHOULD_STOP_STACK" = true ]; then
|
||||
bash "$ROOT_DIR/scripts/db/up"
|
||||
fi
|
||||
|
||||
curl -fs "http://localhost:${BACKEND_PORT:-3210}/version" >/dev/null
|
||||
curl -fs "http://localhost:${DASHBOARD_PORT:-6791}" >/dev/null
|
||||
|
||||
echo "Local-stack smoke checks passed; no seeded browser flow is configured."
|
||||
Reference in new issue
Block a user