diff --git a/.github/workflows/docker_build.yml b/.github/workflows/docker_build.yml new file mode 100644 index 0000000..6a2dd29 --- /dev/null +++ b/.github/workflows/docker_build.yml @@ -0,0 +1,27 @@ +name: Docker Build + +on: + pull_request: {} + workflow_dispatch: {} + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Build Docker image + run: | + docker build -t xcontest-api . + + - name: Save Docker image as artifact + run: | + docker save xcontest-api | gzip > docker-image.tar.gz + + - name: Upload Docker image artifact + uses: actions/upload-artifact@v4 + with: + name: docker-image + path: docker-image.tar.gz \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index ad86648..3d50c27 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,14 @@ FROM node:22.16.0-alpine3.22 AS base -# Install pnpm -RUN corepack enable && corepack prepare pnpm@10.30.1 --activate +# Install pnpm and husky +RUN corepack enable && corepack prepare pnpm@10.30.1 --activate && npm install -g husky # Install development and build dependencies FROM base AS deps WORKDIR /app ADD package.json pnpm-lock.yaml ./ -RUN pnpm install --frozen-lockfile +RUN pnpm install --frozen-lockfile && npx husky install # Install only production dependencies FROM base AS production-deps