Skip to content

Commit 871209f

Browse files
committed
ci(scaffold-e2e): build the scaffolded app's own Dockerfile (examples/docker was removed)
The "Docker build and run" step `cp`'d Dockerfile / docker-compose.yml / .dockerignore from `examples/docker/`, which was deleted in 6c28bac without updating this workflow — so the job failed at `cp: cannot stat '.../examples/docker/Dockerfile'` on every PR touching `packages/create-objectstack/**` (a pre-existing break, not from #3056). The blank template already ships its own Dockerfile (multi-stage: `npm ci` + `os build`, runtime `FROM ghcr.io/objectstack-ai/objectstack`), so build the generated project as-is with `--pull=false` against the base image built in the prior step. This fixes the failure and strictly improves coverage — the e2e now exercises the exact Docker path a real `npm create objectstack` user ships, instead of a separate example copy. Also drops the now-dead `examples/docker/**` path trigger. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GjAgyTXaxSMVDWtGYxAXL7
1 parent c715854 commit 871209f

1 file changed

Lines changed: 8 additions & 7 deletions

File tree

.github/workflows/scaffold-e2e.yml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ on:
1919
pull_request:
2020
paths:
2121
- 'packages/create-objectstack/**'
22-
- 'examples/docker/**'
2322
- 'docker/**'
2423
- '.github/workflows/scaffold-e2e.yml'
2524
schedule:
@@ -116,8 +115,9 @@ jobs:
116115
kill "$SERVER_PID"
117116
118117
- name: Build official runtime image from this checkout
119-
# examples/docker builds FROM ghcr.io/objectstack-ai/objectstack.
120-
# Build that base HERE from docker/Dockerfile instead of pulling, so
118+
# The scaffolded app's Dockerfile builds FROM
119+
# ghcr.io/objectstack-ai/objectstack. Build that base HERE from
120+
# docker/Dockerfile instead of pulling, so
121121
# (a) PRs exercise the official runtime Dockerfile itself, and
122122
# (b) the e2e stays hermetic — no dependency on a prior release
123123
# having published the tag (chicken-and-egg on the very first one).
@@ -126,12 +126,13 @@ jobs:
126126
--build-arg OS_CLI_VERSION=latest \
127127
"$GITHUB_WORKSPACE/docker"
128128
129-
- name: Docker build and run (examples/docker)
129+
- name: Docker build and run (scaffolded Dockerfile)
130+
# The blank template ships its own Dockerfile / docker-compose.yml /
131+
# .dockerignore, so build the generated project as-is — this exercises
132+
# the exact Docker path a real `npm create objectstack` user ships (the
133+
# standalone examples/docker copy was removed in 6c28bac).
130134
run: |
131135
cd "$RUNNER_TEMP/e2e-app"
132-
cp "$GITHUB_WORKSPACE"/examples/docker/Dockerfile \
133-
"$GITHUB_WORKSPACE"/examples/docker/docker-compose.yml \
134-
"$GITHUB_WORKSPACE"/examples/docker/.dockerignore .
135136
docker build --pull=false -t e2e-app .
136137
docker run -d --name e2e -p 18080:8080 \
137138
-e OS_SECRET_KEY="$(openssl rand -hex 32)" \

0 commit comments

Comments
 (0)