Skip to content

Commit b0dc80a

Browse files
skulidropekclaude
andcommitted
ci(container): register new container package in Docker build and lint job (#412)
Fix CI regressions from extracting @prover-coder-ai/docker-git-container: - packages/api/Dockerfile: controller image enumerated packages explicitly (api/app/session-sync/lib/terminal) and omitted the new container package, so `bun install --frozen-lockfile` failed (lockfile had a workspace member whose package.json was never copied) and the in-image lib build could not find ../container. Add container to mkdir, COPY package.json, the install --filter list, COPY source, and build it before lib. Fixes all docker E2E. - packages/lib/package.json: add prelint/prelint:effect that build the container package, mirroring the existing pretypecheck/pretest. The CI lint job builds nothing, and lib's vibecode-linter runs tsc; without the built container .d.ts, FileSpec/TemplateConfig collapsed to `any` and Match.exhaustive failed (657 errors). Fixes Lint (lib). - .github/workflows/check.yml: add first-class container steps to the build, types, test, lint and lint-effect jobs. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 046a3dd commit b0dc80a

3 files changed

Lines changed: 17 additions & 1 deletion

File tree

.github/workflows/check.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ jobs:
2323
- uses: actions/checkout@v6
2424
- name: Install dependencies
2525
uses: ./.github/actions/setup
26+
- name: Build (container package)
27+
run: bun run --cwd packages/container build
2628
- name: Build (terminal package)
2729
run: bun run --cwd packages/terminal build
2830
- name: Build (docker-git package)
@@ -60,6 +62,8 @@ jobs:
6062
- uses: actions/checkout@v6
6163
- name: Install dependencies
6264
uses: ./.github/actions/setup
65+
- name: Typecheck (container)
66+
run: bun run --cwd packages/container typecheck
6367
- name: Typecheck (terminal)
6468
run: bun run --cwd packages/terminal typecheck
6569
- name: Typecheck (app)
@@ -84,6 +88,8 @@ jobs:
8488
- uses: actions/checkout@v6
8589
- name: Install dependencies
8690
uses: ./.github/actions/setup
91+
- name: Lint (container)
92+
run: bun run --cwd packages/container lint
8793
- name: Lint (terminal)
8894
run: bun run --cwd packages/terminal lint
8995
- name: Lint (app)
@@ -109,6 +115,8 @@ jobs:
109115
- uses: actions/checkout@v6
110116
- name: Install dependencies
111117
uses: ./.github/actions/setup
118+
- name: Test (container)
119+
run: bun run --cwd packages/container test
112120
- name: Test (terminal)
113121
run: bun run --cwd packages/terminal test
114122
- name: Test (app)
@@ -133,6 +141,8 @@ jobs:
133141
- uses: actions/checkout@v6
134142
- name: Install dependencies
135143
uses: ./.github/actions/setup
144+
- name: Lint Effect-TS (container)
145+
run: bun run --cwd packages/container lint:effect
136146
- name: Lint Effect-TS (terminal)
137147
run: bun run --cwd packages/terminal lint:effect
138148
- name: Lint Effect-TS (app)

packages/api/Dockerfile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,10 @@ RUN set -eu; \
7676
FROM controller-base AS workspace-deps
7777

7878
COPY package.json bun.lock bunfig.toml tsconfig.base.json tsconfig.json ./
79-
RUN mkdir -p packages/api packages/app packages/docker-git-session-sync packages/lib packages/terminal
79+
RUN mkdir -p packages/api packages/app packages/container packages/docker-git-session-sync packages/lib packages/terminal
8080
COPY packages/api/package.json ./packages/api/package.json
8181
COPY packages/app/package.json ./packages/app/package.json
82+
COPY packages/container/package.json ./packages/container/package.json
8283
COPY packages/docker-git-session-sync/package.json ./packages/docker-git-session-sync/package.json
8384
COPY packages/lib/package.json ./packages/lib/package.json
8485
COPY packages/terminal/package.json ./packages/terminal/package.json
@@ -90,6 +91,7 @@ RUN set -eu; \
9091
--silent \
9192
--filter @effect-template/api \
9293
--filter @effect-template/lib \
94+
--filter @prover-coder-ai/docker-git-container \
9395
--filter @prover-coder-ai/docker-git-terminal \
9496
--filter @prover-coder-ai/docker-git-session-sync; then \
9597
exit 0; \
@@ -105,12 +107,14 @@ FROM workspace-deps AS workspace-static
105107

106108
COPY patches ./patches
107109
COPY scripts ./scripts
110+
COPY packages/container ./packages/container
108111
COPY packages/docker-git-session-sync ./packages/docker-git-session-sync
109112
COPY packages/lib ./packages/lib
110113
COPY packages/terminal ./packages/terminal
111114

112115
RUN bun run --cwd packages/docker-git-session-sync build
113116
RUN bun run --cwd packages/terminal build
117+
RUN bun run --cwd packages/container build
114118
RUN bun run --cwd packages/lib build
115119

116120
FROM controller-base AS skiller-build

packages/lib/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@
1111
"prebuild": "bun run --cwd ../container build",
1212
"build": "tsc -p tsconfig.json",
1313
"dev": "tsc -p tsconfig.json --watch",
14+
"prelint": "bun run --cwd ../container build",
1415
"lint": "NODE_OPTIONS=--max-old-space-size=4096 PATH=../../scripts:$PATH vibecode-linter src/",
16+
"prelint:effect": "bun run --cwd ../container build",
1517
"lint:effect": "NODE_OPTIONS=--max-old-space-size=4096 PATH=../../scripts:$PATH eslint --config eslint.effect-ts-check.config.mjs .",
1618
"pretypecheck": "bun run --cwd ../container build",
1719
"typecheck": "tsc --noEmit -p tsconfig.json",

0 commit comments

Comments
 (0)