Skip to content

Commit 656d527

Browse files
committed
fix(docker): generate + build @dashtec/database before shared-types
1 parent 9d2822b commit 656d527

5 files changed

Lines changed: 30 additions & 17 deletions

File tree

ansible/roles/config/tasks/main.yml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,19 @@
2727
# config.json is committed with empty secret fields; the repo role reset it to
2828
# that clean state, so we patch the secrets in with jq (read via env, never on
2929
# the command line). DB/Redis URLs and addresses come from the committed file.
30+
# NOTE: every line here must share the same indentation. In a YAML '>' folded
31+
# scalar, a more-indented line keeps its newline, which would split the shell
32+
# command (jq program on one line, filename on the next) and fail.
3033
ansible.builtin.shell:
31-
cmd: >
32-
jq '.rpc.ethereumUrls=env.RPC
33-
| .sentinel.proxyUrl=env.SENTINEL
34-
| .app.auth.discord.clientId=env.DISCORD_ID
35-
| .app.auth.discord.clientSecret=env.DISCORD
36-
| .app.auth.x.clientId=env.X_ID
37-
| .app.auth.x.clientSecret=env.XSECRET
38-
| .app.auth.sessionPassword=env.SESSION'
34+
cmd: >-
35+
jq
36+
'.rpc.ethereumUrls=env.RPC
37+
| .sentinel.proxyUrl=env.SENTINEL
38+
| .app.auth.discord.clientId=env.DISCORD_ID
39+
| .app.auth.discord.clientSecret=env.DISCORD
40+
| .app.auth.x.clientId=env.X_ID
41+
| .app.auth.x.clientSecret=env.XSECRET
42+
| .app.auth.sessionPassword=env.SESSION'
3943
"{{ cfg }}" > "{{ cfg }}.tmp" && mv "{{ cfg }}.tmp" "{{ cfg }}"
4044
vars:
4145
cfg: "{{ app_dir }}/.environment/{{ item }}/config.json"

apps/web/Dockerfile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,13 @@ COPY apps/web ./apps/web
4141
# Load build-time env vars (NEXT_PUBLIC_* are inlined during next build)
4242
RUN if [ -f ./apps/web/.env.build ]; then cp ./apps/web/.env.build ./apps/web/.env.production; fi
4343

44-
# Build workspace packages first
44+
# Build workspace packages first. Prisma must be generated and @dashtec/database
45+
# built BEFORE @dashtec/shared-types, which imports @dashtec/database/types.
46+
RUN pnpm --filter @dashtec/database db:generate
47+
RUN pnpm --filter @dashtec/database build
4548
RUN pnpm --filter @dashtec/logger build
4649
RUN pnpm --filter @dashtec/shared-types build
4750
RUN pnpm --filter @dashtec/shared-utils build
48-
RUN pnpm --filter @dashtec/database build
4951
RUN pnpm --filter @dashtec/contract-calls build
5052

5153
# Build web app with standalone output

packages/indexer-custom/Dockerfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,14 @@ COPY packages/aztec-rpc-sdk ./packages/aztec-rpc-sdk
3939
# Copy indexer-custom source
4040
COPY packages/indexer-custom ./packages/indexer-custom
4141

42-
# Build workspace packages in order
42+
# Build workspace packages in order. Prisma must be generated and
43+
# @dashtec/database built BEFORE @dashtec/shared-types (which imports
44+
# @dashtec/database/types).
45+
RUN pnpm --filter @dashtec/database db:generate
46+
RUN pnpm --filter @dashtec/database build
4347
RUN pnpm --filter @dashtec/logger build
4448
RUN pnpm --filter @dashtec/shared-types build
4549
RUN pnpm --filter @dashtec/shared-utils build
46-
RUN pnpm --filter @dashtec/database build
4750
RUN pnpm --filter @dashtec/aztec-rpc-sdk build
4851
RUN pnpm --filter @dashtec/indexer-custom build
4952

packages/indexer-ponder/Dockerfile

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,14 @@ FROM deps AS build
2828
WORKDIR /app
2929
COPY . .
3030

31-
# Build all compiled packages (tsup / prisma)
31+
# Build all compiled packages (tsup / prisma). Prisma must be generated and
32+
# @dashtec/database built BEFORE @dashtec/shared-types (which imports
33+
# @dashtec/database/types).
34+
RUN pnpm -r --filter ./packages/database db:generate
35+
RUN pnpm -r --filter ./packages/database build
3236
RUN pnpm -r --filter ./packages/logger build
3337
RUN pnpm -r --filter ./packages/shared-types build
3438
RUN pnpm -r --filter ./packages/shared-utils build
35-
RUN pnpm -r --filter ./packages/database build
36-
RUN pnpm -r --filter ./packages/database db:generate
3739

3840
# ---------------- runner ----------------
3941
FROM base AS runner

packages/materializer/Dockerfile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,11 @@ COPY packages/indexer-ponder ./packages/indexer-ponder
4141
# Copy materializer source
4242
COPY packages/materializer ./packages/materializer
4343

44-
# Build workspace packages in dependency order
45-
RUN pnpm --filter @dashtec/logger build
44+
# Build workspace packages in dependency order. Prisma must be generated before
45+
# @dashtec/database is built, and database before @dashtec/shared-types.
46+
RUN pnpm --filter @dashtec/database db:generate
4647
RUN pnpm --filter @dashtec/database build
48+
RUN pnpm --filter @dashtec/logger build
4749
RUN pnpm --filter @dashtec/shared-types build
4850
RUN pnpm --filter @dashtec/shared-utils build
4951
RUN pnpm --filter @dashtec/materializer build

0 commit comments

Comments
 (0)