From 47080e6bf1aa1ebb0f3cfad7692a67d26e1eb776 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Wed, 17 Jul 2024 19:51:54 +0200 Subject: [PATCH] ci: new release flow --- .github/workflows/publish.yml | 35 +++++++++++++++++++++++++++++++++++ Dockerfile | 11 +++++++---- compose.yml | 2 +- 3 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 000000000..d1de54c52 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,35 @@ +name: Production deployment + +on: + release: + types: [published] + +jobs: + publish: + runs-on: ubuntu-latest + steps: + - name: Checkout the repo + uses: actions/checkout@v2 + + - name: Log in to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v5 + with: + images: appwrite/console + - name: Build and push Docker image + id: push + uses: docker/build-push-action@v6 + with: + context: . + file: ./Dockerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + build-args: | + "VITE_CONSOLE_MODE=self-hosted"" + "VITE_APPWRITE_GROWTH_ENDPOINT=${{ vars.VITE_APPWRITE_GROWTH_ENDPOINT }}" diff --git a/Dockerfile b/Dockerfile index 6592813d6..4f5d37bcc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,20 @@ FROM node:20-alpine as build +WORKDIR /app + ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" RUN corepack enable -WORKDIR /app + +ADD ./package.json /app/package.json +ADD ./pnpm-lock.yaml /app/pnpm-lock.yaml + +RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile ADD ./build.js /app/build.js ADD ./tsconfig.json /app/tsconfig.json ADD ./svelte.config.js /app/svelte.config.js ADD ./vite.config.ts /app/vite.config.ts -ADD ./package.json /app/package.json -ADD ./pnpm-lock.yaml /app/pnpm-lock.yaml ADD ./src /app/src ADD ./static /app/static @@ -24,7 +28,6 @@ ENV VITE_APPWRITE_GROWTH_ENDPOINT=$VITE_APPWRITE_GROWTH_ENDPOINT ENV VITE_CONSOLE_MODE=$VITE_CONSOLE_MODE ENV VITE_STRIPE_PUBLIC_KEY=$VITE_STRIPE_PUBLIC_KEY -RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile RUN pnpm run sync && pnpm run build FROM nginx:1.25-alpine diff --git a/compose.yml b/compose.yml index 9b8fbdaca..585333a92 100644 --- a/compose.yml +++ b/compose.yml @@ -23,4 +23,4 @@ services: - VITE_APPWRITE_GROWTH_ENDPOINT - VITE_STRIPE_PUBLIC_KEY ports: - - '3000:3000' + - '3000:80'