diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 48e1c6c..983aa53 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,26 +17,31 @@ jobs: strategy: matrix: - node-version: [18.x] + node-version: [20] steps: - name: "☁️ Checkout repository" uses: actions/checkout@v4 - - name: "🔧 Setup Node.js ${{ matrix.node-version }}" + - name: "📦 Install pnpm" + uses: pnpm/action-setup@v4 + with: + version: 10 + + - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - cache: "npm" + cache: "pnpm" - name: "📦 Install dependencies" - run: npm ci + run: pnpm install - name: "🔎 Lint code" - run: npm run lint + run: pnpm run lint - name: "📝 Checking code format" - run: npm run format:check + run: pnpm run format:check - name: "🚀 Build the project" - run: npm run build + run: pnpm run build diff --git a/Dockerfile b/Dockerfile index 754c962..6464aed 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,17 @@ # Base stage for building the static files FROM node:lts AS base WORKDIR /app -COPY package*.json ./ -RUN npm install + +# Install pnpm +RUN corepack enable && corepack prepare pnpm@latest --activate + +COPY package.json pnpm-lock.yaml ./ +RUN pnpm install --frozen-lockfile + COPY . . -RUN npm run build +RUN pnpm run build # Runtime stage for serving the application FROM nginx:mainline-alpine-slim AS runtime -COPY --from=base ./app/dist /usr/share/nginx/html -EXPOSE 80 \ No newline at end of file +COPY --from=base /app/dist /usr/share/nginx/html +EXPOSE 80