From a8e5f8b524ce1ecfec6fea06a111cf303c78b136 Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Fri, 16 May 2025 14:19:20 +0200 Subject: [PATCH] improve test and docker runner --- .github/workflows/test.yml | 8 +++++--- Dockerfile | 30 ++++++++++++++++++------------ 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5b291b8..e311bd7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,15 +13,17 @@ jobs: steps: - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 + with: + version: 8 + run_install: false + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 22 cache: 'pnpm' - - name: Install pnpm - run: npm install -g pnpm - - name: Install dependencies run: pnpm install diff --git a/Dockerfile b/Dockerfile index dbed8ae..53f6013 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,24 +2,30 @@ FROM node:22 WORKDIR /fredy +RUN corepack enable \ + && corepack prepare pnpm@latest --activate + +COPY package.json pnpm-lock.yaml ./ + +RUN pnpm install --frozen-lockfile + COPY . . -RUN apt-get update && \ - apt-get install -y chromium && \ - apt-get clean && rm -rf /var/lib/apt/lists/* +RUN apt-get update \ + && apt-get install -y chromium \ + && rm -rf /var/lib/apt/lists/* ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \ PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium -RUN npm install -g pnpm && \ - pnpm config set network-timeout 600000 && \ - pnpm install && \ - pnpm add -g pm2 && \ - pnpm run prod && \ - mkdir /db /conf && \ - chown 1000:1000 /db /conf && \ - chmod 777 -R /db/ && \ - ln -s /db /fredy/db && ln -s /conf /fredy/conf +RUN pnpm add -g pm2 \ + && pnpm config set network-timeout 600000 \ + && pnpm run prod \ + && mkdir -p /db /conf \ + && chown 1000:1000 /db /conf \ + && chmod 777 /db /conf \ + && ln -s /db /fredy/db \ + && ln -s /conf /fredy/conf EXPOSE 9998