From 1bf2ea7e6208db9b26a3ec01becc43fb1e1c41f7 Mon Sep 17 00:00:00 2001 From: Tony Vi Date: Thu, 10 Aug 2023 00:20:20 +0300 Subject: [PATCH] chore(e2e): seed db before run --- .env.ci | 11 +++++++++++ Dockerfile.ci | 30 ++++++++++++++++++++++++++++++ app_run.ci.sh | 4 ++++ docker-compose.ci.yml | 15 +-------------- package.json | 2 +- 5 files changed, 47 insertions(+), 15 deletions(-) create mode 100644 .env.ci create mode 100644 Dockerfile.ci create mode 100644 app_run.ci.sh diff --git a/.env.ci b/.env.ci new file mode 100644 index 000000000..888369cd1 --- /dev/null +++ b/.env.ci @@ -0,0 +1,11 @@ +NODE_ENV=production + +DATABASE_URL=postgresql://prisma:hilly-sand-pit@db:5432/prisma?schema=prisma-pg-test +NEXTAUTH_URL=http://localhost:3000 +NEXT_PUBLIC_NEXTAUTH_URL=http://localhost:3000 +NEXTAUTH_SECRET=ololo +ADMIN_EMAIL=test@taskany.org +ADMIN_PASSWORD=test +MAIL_USER=notify@taskany.org +SENTRY_DISABLED=1 +SENTRY_IGNORE_API_RESOLUTION_ERROR=1 diff --git a/Dockerfile.ci b/Dockerfile.ci new file mode 100644 index 000000000..f77d3a73d --- /dev/null +++ b/Dockerfile.ci @@ -0,0 +1,30 @@ +FROM node:18.12.0-alpine as build + +WORKDIR /app +COPY . . +RUN mv .env.ci .env +RUN npm ci --no-audit --progress=false +RUN npx next telemetry disable +RUN npm run build + +FROM node:18.12.0-alpine AS runner + +WORKDIR /app +COPY --from=build /app/.env ./ +COPY --from=build /app/app_run.ci.sh ./ +COPY --from=build /app/src ./src +COPY --from=build /app/package*.json ./ +COPY --from=build /app/prisma ./prisma +COPY --from=build /app/public ./public +COPY --from=build /app/version ./public/version.txt +COPY --from=build /app/.next ./.next +COPY --from=build /app/next.config.js ./ +COPY --from=build /app/.next/standalone ./ +COPY --from=build /app/background ./background +COPY --from=build /app/node_modules ./node_modules + +RUN npx prisma generate + +EXPOSE 3000 + +CMD sh ./app_run.ci.sh diff --git a/app_run.ci.sh b/app_run.ci.sh new file mode 100644 index 000000000..3abd881d7 --- /dev/null +++ b/app_run.ci.sh @@ -0,0 +1,4 @@ +#!/bin/sh +npx prisma migrate deploy +npx prisma db seed +node_modules/.bin/concurrently 'node background/worker/index.js' 'node server.js' diff --git a/docker-compose.ci.yml b/docker-compose.ci.yml index 20ebc05dd..84c6073b7 100644 --- a/docker-compose.ci.yml +++ b/docker-compose.ci.yml @@ -24,19 +24,6 @@ services: - 3000:3000 build: context: . - dockerfile: Dockerfile + dockerfile: Dockerfile.ci depends_on: - db - environment: - - DATABASE_URL=postgresql://prisma:hilly-sand-pit@db:5432/prisma?schema=prisma-pg-test - - NEXTAUTH_URL=http://localhost:3000 - - NEXT_PUBLIC_NEXTAUTH_URL=http://localhost:3000 - - NEXTAUTH_SECRET=ololo - - ADMIN_EMAIL=test@taskany.org - - ADMIN_PASSWORD=test - - MAIL_USER=notify@taskany.org - - SENTRY_DISABLED=1 - - SENTRY_IGNORE_API_RESOLUTION_ERROR=1 - command: > - sh -c "node_modules/.bin/prisma migrate dev && - node_modules/.bin/concurrently 'node background/worker/index.js' 'node server.js'" diff --git a/package.json b/package.json index d19cc0fb4..1707c74eb 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "db:migrate": "npx prisma migrate deploy", "db:seed": "npx prisma db seed", "worker": "ts-node -r dotenv/config src/utils/worker/index.ts", - "build": "next build && npm run build:worker", + "build": "concurrently \"next build\" \"npm run build:worker\"", "build:worker": "tsc -p ./src/utils/worker", "build:analyze": "ANALYZE=true next build", "start": "concurrently \"npm run worker\" \"next start\"",