From 62e99c038813e0a54131b5924e75a7b43361aafb Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 12:06:48 +0300 Subject: [PATCH 01/29] Basic workflow file test Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/build-docker-image.yml | 67 ++++++++++++++++++++ .github/workflows/push-to-dokku.yml | 29 +++++++++ .github/workflows/techlabblog-deploy-dev.yml | 40 ++++++++++++ 3 files changed, 136 insertions(+) create mode 100644 .github/workflows/build-docker-image.yml create mode 100644 .github/workflows/push-to-dokku.yml create mode 100644 .github/workflows/techlabblog-deploy-dev.yml diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml new file mode 100644 index 000000000..b43837b07 --- /dev/null +++ b/.github/workflows/build-docker-image.yml @@ -0,0 +1,67 @@ +name: Build Docker Image + +on: + workflow_call: + inputs: + tags: + required: true + type: string + description: "The tags to use for the Docker image" + target: + required: true + type: string + description: "The target to use for the Docker image" + build_args: + required: true + type: string + description: "The build args to use for the Docker image" + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + node-version: [20.16] + os: [ubuntu-latest] + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Cache Docker layers + uses: actions/cache@v4 + with: + key: ${{ runner.os }}-buildx-${{ github.sha }} + path: /tmp/.buildx-cache + restore-keys: | + ${{ runner.os }}-buildx- + + - name: Login to DockerHub + uses: docker/login-action@v3 + with: + password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} + username: ${{ secrets.DOCKER_HUB_USERNAME }} + + - name: Build Docker image + uses: docker/build-push-action@v5 + with: + build-args: ${{ inputs.build_args }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new + context: . + target: ${{ inputs.target }} + push: true + tags: ${{ inputs.tags }} + + # Temp fix + # https://github.com/docker/build-push-action/issues/252 + # https://github.com/moby/buildkit/issues/1896 + - name: Move cache + run: | + rm -rf /tmp/.buildx-cache + mv /tmp/.buildx-cache-new /tmp/.buildx-cache diff --git a/.github/workflows/push-to-dokku.yml b/.github/workflows/push-to-dokku.yml new file mode 100644 index 000000000..a3d8dfa56 --- /dev/null +++ b/.github/workflows/push-to-dokku.yml @@ -0,0 +1,29 @@ +name: Push to Dokku + +on: + workflow_call: + inputs: + remote_url: + required: true + type: string + description: "The remote URL to push to" + private_key: + required: true + type: string + description: "The name of the app to push to" + image_name: + required: true + type: string + description: "The name of the image to push" + +jobs: + push: + runs-on: ubuntu-latest + + steps: + - name: Push + uses: dokku/github-action@v1.4.0 + with: + git_remote_url: ${{ inputs.remote_url }} + ssh_private_key: ${{ inputs.private_key }} + deploy_docker_image: ${{ inputs.image_name }} diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml new file mode 100644 index 000000000..46a5194cc --- /dev/null +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -0,0 +1,40 @@ +name: Techlab Blog | Deploy Dev + +on: + push: + branches: [ft/techlabblog-workflow] + paths: + - "apps/techlabblog/**" + - "Dockerfile" + - ".github/workflows/techlabblog-deploy-dev.yml" + +# This allows a subsequently queued workflow run to interrupt previous runs +concurrency: + group: "${{ github.workflow }} @ ${{ github.ref }}" + cancel-in-progress: true + +env: + DOKKU_REMOTE_URL: "ssh://azureuser@ui-1.dev.codeforafrica.org/techlabblog" + IMAGE_NAME: "codeforafrica/techlabblog" + SENTRY_ENVIRONMENT: "development" + +jobs: + build-docker-image: + uses: ./.github/workflows/build-docker-image.yml + secrets: inherit + with: + tags: "${{ env.IMAGE_NAME }}:${{ github.sha }}" + target: "techlabblog" + build_args: | + SENTRY_DSN=${{ secrets.TECHLABBLOG_SENTRY_DSN }} + SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }} + SENTRY_ENVIRONMENT=${{ env.SENTRY_ENVIRONMENT }} + SENTRY_ORG=${{ secrets.SENTRY_ORG }} + + push-to-dokku: + secrets: inherit + uses: ./.github/workflows/push-to-dokku.yml + with: + remote_url: ${{ env.DOKKU_REMOTE_URL }} + private_key: ${{ secrets.DOKKU_PRIVATE_KEY }} + image_name: "${{ env.IMAGE_NAME }}:${{ github.sha }}" From 606a69ea581c7793092a6eb6683dc683e9406616 Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 12:10:29 +0300 Subject: [PATCH 02/29] Remove push to dokku Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/techlabblog-deploy-dev.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index 46a5194cc..c98fc2103 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -31,10 +31,10 @@ jobs: SENTRY_ENVIRONMENT=${{ env.SENTRY_ENVIRONMENT }} SENTRY_ORG=${{ secrets.SENTRY_ORG }} - push-to-dokku: - secrets: inherit - uses: ./.github/workflows/push-to-dokku.yml - with: - remote_url: ${{ env.DOKKU_REMOTE_URL }} - private_key: ${{ secrets.DOKKU_PRIVATE_KEY }} - image_name: "${{ env.IMAGE_NAME }}:${{ github.sha }}" + # push-to-dokku: + # secrets: inherit + # uses: ./.github/workflows/push-to-dokku.yml + # with: + # remote_url: ${{ env.DOKKU_REMOTE_URL }} + # private_key: ${{ secrets.DOKKU_PRIVATE_KEY }} + # image_name: "${{ env.IMAGE_NAME }}:${{ github.sha }}" From f86a78a862b6a519d6f1867e8ded6d71658ded7e Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 12:18:31 +0300 Subject: [PATCH 03/29] Test Fix Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/techlabblog-deploy-dev.yml | 24 ++++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index c98fc2103..7a9ce5272 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -23,18 +23,18 @@ jobs: uses: ./.github/workflows/build-docker-image.yml secrets: inherit with: - tags: "${{ env.IMAGE_NAME }}:${{ github.sha }}" + tags: "$env:IMAGE_NAME:$env:github.sha" target: "techlabblog" build_args: | - SENTRY_DSN=${{ secrets.TECHLABBLOG_SENTRY_DSN }} - SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }} - SENTRY_ENVIRONMENT=${{ env.SENTRY_ENVIRONMENT }} - SENTRY_ORG=${{ secrets.SENTRY_ORG }} + SENTRY_DSN=$env:TECHLABBLOG_SENTRY_DSN + SENTRY_AUTH_TOKEN=$env:SENTRY_AUTH_TOKEN + SENTRY_ENVIRONMENT=$env:SENTRY_ENVIRONMENT + SENTRY_ORG: $secrets:SENTRY_ORG - # push-to-dokku: - # secrets: inherit - # uses: ./.github/workflows/push-to-dokku.yml - # with: - # remote_url: ${{ env.DOKKU_REMOTE_URL }} - # private_key: ${{ secrets.DOKKU_PRIVATE_KEY }} - # image_name: "${{ env.IMAGE_NAME }}:${{ github.sha }}" + push-to-dokku: + secrets: inherit + uses: ./.github/workflows/push-to-dokku.yml + with: + remote_url: "ssh://azureuser@ui-1.dev.codeforafrica.org/techlabblog" + private_key: $secrets.DOKKU_PRIVATE_KEY + image_name: "codeforafrica/techlabblog:${{ github.sha }}" From 56f5a5b2ffdd8ea9871152d770ef1a4c3ec863ea Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 12:23:48 +0300 Subject: [PATCH 04/29] Run sequentially Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/techlabblog-deploy-dev.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index 7a9ce5272..c166e1268 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -23,7 +23,7 @@ jobs: uses: ./.github/workflows/build-docker-image.yml secrets: inherit with: - tags: "$env:IMAGE_NAME:$env:github.sha" + tags: "codeforafrica/techlabblog:${{ github.sha }}" target: "techlabblog" build_args: | SENTRY_DSN=$env:TECHLABBLOG_SENTRY_DSN @@ -32,6 +32,7 @@ jobs: SENTRY_ORG: $secrets:SENTRY_ORG push-to-dokku: + needs: [build-docker-image] secrets: inherit uses: ./.github/workflows/push-to-dokku.yml with: From 03587cfb98d0d04d914991d30580b5f6fcd00901 Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 12:54:17 +0300 Subject: [PATCH 05/29] Build docker image Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- Dockerfile | 74 ++++++++++++++++++++++++++++++++++++++++++++++ Makefile | 3 ++ docker-compose.yml | 55 ++++++++++++++++++++++------------ 3 files changed, 113 insertions(+), 19 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4310757e4..6ac4102b9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -813,4 +813,78 @@ USER nextjs # https://nextjs.org/docs/pages/api-reference/next-config-js/output CMD ["node", "apps/vpnmanager/server.js"] +# ============================================================================ +# Techlab Blog +# ============================================================================ + +# +# techlabblog-deps: image with all techlabblog dependencies +# ----------------------------------------------------- + +FROM base-deps AS techlabblog-deps + +COPY apps/techlabblog/package.json ./apps/techlabblog/package.json + +# Use virtual store: https://pnpm.io/cli/fetch#usage-scenario +RUN pnpm --filter "./apps/techlabblog" install --offline --frozen-lockfile + +# +# techlabblog-builder: image that uses deps to build shippable output +# ------------------------------------------------------------------ + +FROM base-builder AS techlabblog-builder + +ARG NEXT_TELEMETRY_DISABLED \ + # Next.js / Payload (build time) + PORT \ + # Next.js (runtime) + NEXT_PUBLIC_APP_NAME="Techlab Blog" \ + NEXT_PUBLIC_APP_URL \ + NEXT_PUBLIC_SENTRY_DSN \ + NEXT_PUBLIC_SEO_DISABLED \ + NEXT_PUBLIC_GOOGLE_ANALYTICS \ + # Sentry (build time) + SENTRY_AUTH_TOKEN \ + SENTRY_ENVIRONMENT \ + SENTRY_ORG \ + SENTRY_PROJECT + +# This is in app-builder instead of base-builder just incase app-deps adds deps +COPY --from=techlabblog-deps /workspace/node_modules ./node_modules + +COPY --from=techlabblog-deps /workspace/apps/techlabblog/node_modules ./apps/techlabblog/node_modules + +COPY apps/techlabblog ./apps/techlabblog + +RUN pnpm --filter "./apps/techlabblog" build + +# +# techlabblog-runner: final deployable image +# ----------------------------------------- + +FROM base-runner AS techlabblog-runner + +RUN set -ex \ + # Create nextjs cache dir w/ correct permissions + && mkdir -p ./apps/techlabblog/.next \ + && chown nextjs:nodejs ./apps/techlabblog/.next + +# PNPM +# symlink some dependencies +COPY --from=techlabblog-builder --chown=nextjs:nodejs /workspace/node_modules ./node_modules + +# Next.js +# Public assets +COPY --from=techlabblog-builder --chown=nextjs:nodejs /workspace/apps/techlabblog/public ./apps/techlabblog/public + +# Automatically leverage output traces to reduce image size +# https://nextjs.org/docs/advanced-features/output-file-tracing +COPY --from=techlabblog-builder --chown=nextjs:nodejs /workspace/apps/techlabblog/.next/standalone ./apps/techlabblog +COPY --from=techlabblog-builder --chown=nextjs:nodejs /workspace/apps/techlabblog/.next/static ./apps/techlabblog/.next/static +USER nextjs + +# server.js is created by next build from the standalone output +# https://nextjs.org/docs/pages/api-reference/next-config-js/output +CMD ["node", "apps/techlabblog/server.js"] + diff --git a/Makefile b/Makefile index 17e7a31f3..13ef6f030 100644 --- a/Makefile +++ b/Makefile @@ -35,3 +35,6 @@ roboshield: vpnmanager: $(COMPOSE_BUILD_ENV) $(COMPOSE) --env-file apps/vpnmanager/.env.local up vpnmanager --build + +techlabblog: + $(COMPOSE_BUILD_ENV) $(COMPOSE) --env-file apps/techlabblog/.env.local up techlabblog --build diff --git a/docker-compose.yml b/docker-compose.yml index c39e1ed87..48beae10f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -92,6 +92,27 @@ services: ports: - 3000:3000 + mongodb: + image: mongo:6.0.13 + environment: + MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME:-root} + MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD:-rootpassword} + ports: + - 27017:27017 + volumes: + - db_data:/data/db + - ./mongo-keyfile:/etc/mongo-keyfile + extra_hosts: + - "host.docker.internal:host-gateway" + healthcheck: + # https://medium.com/workleap/the-only-local-mongodb-replica-set-with-docker-compose-guide-youll-ever-need-2f0b74dd8384 + test: echo "try { rs.status() } catch (err) { rs.initiate({_id:'rs0',members:[{_id:0,host:'host.docker.internal:27017'}]}) }" | mongosh --port 27017 --quiet + interval: 5s + timeout: 30s + start_period: 0s + retries: 30 + command: + ["--replSet", "rs0", "--bind_ip_all", "--keyFile", "/etc/mongo-keyfile"] pesayetu: build: context: . @@ -142,27 +163,23 @@ services: ports: - 3000:3000 - mongodb: - image: mongo:6.0.13 + techlabblog: + build: + context: . + target: techlabblog-runner + args: + - SENTRY_AUTH_TOKEN + - SENTRY_ORG + - SENTRY_ENV + - SENTRY_PROJECT environment: - MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME:-root} - MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD:-rootpassword} + PAYLOAD_SECRET: ${PAYLOAD_SECRET} + SENTRY_AUTH_TOKEN: ${SENTRY_AUTH_TOKEN} + SENTRY_ORG: ${SENTRY_ORG} + SENTRY_ENVIRONMENT: ${SENTRY_ENVIRONMENT} + SENTRY_PROJECT: ${SENTRY_PROJECT} ports: - - 27017:27017 - volumes: - - db_data:/data/db - - ./mongo-keyfile:/etc/mongo-keyfile - extra_hosts: - - "host.docker.internal:host-gateway" - healthcheck: - # https://medium.com/workleap/the-only-local-mongodb-replica-set-with-docker-compose-guide-youll-ever-need-2f0b74dd8384 - test: echo "try { rs.status() } catch (err) { rs.initiate({_id:'rs0',members:[{_id:0,host:'host.docker.internal:27017'}]}) }" | mongosh --port 27017 --quiet - interval: 5s - timeout: 30s - start_period: 0s - retries: 30 - command: - ["--replSet", "rs0", "--bind_ip_all", "--keyFile", "/etc/mongo-keyfile"] + - 3000:3000 vpnmanager: build: From bc32beb8f66eeaa02e1af087c9173808d7275200 Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 13:13:57 +0300 Subject: [PATCH 06/29] Setup variables Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/techlabblog-deploy-dev.yml | 41 +++++++++++++++----- 1 file changed, 32 insertions(+), 9 deletions(-) diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index c166e1268..a7991c8ea 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -19,23 +19,46 @@ env: SENTRY_ENVIRONMENT: "development" jobs: + env-setup: + runs-on: ubuntu-latest + outputs: + DOKKU_REMOTE_URL: ${{ steps.env-setup.outputs.DOKKU_REMOTE_URL }} + DOKKU_PRIVATE_KEY: ${{ steps.env-setup.outputs.DOKKU_PRIVATE_KEY }} + IMAGE_NAME: ${{ steps.env-setup.outputs.IMAGE_NAME }} + SENTRY_ORG: ${{ steps.env-setup.outputs.SENTRY_ORG }} + SENTRY_AUTH_TOKEN: ${{ steps.env-setup.outputs.SENTRY_AUTH_TOKEN }} + SENTRY_DSN: ${{ steps.env-setup.outputs.SENTRY_DSN }} + SENTRY_ENVIRONMENT: ${{ steps.env-setup.outputs.SENTRY_ENVIRONMENT }} + steps: + - name: Environment Setup + id: env-setup + run: | + echo ${{ env.DOKKU_REMOTE_URL }} >> $GITHUB_ENV + echo ${{ secrets.SSH_PRIVATE_KEY }} >> $GITHUB_ENV + echo ${{ env.IMAGE_NAME }} >> $GITHUB_ENV + echo ${{ secrets.SENTRY_ORG }} >> $GITHUB_ENV + echo ${{ secrets.SENTRY_AUTH_TOKEN }} >> $GITHUB_ENV + echo ${{ secrets.TECHLABBLOG_SENTRY_DSN }} >> $GITHUB_ENV + echo ${{ env.SENTRY_ENVIRONMENT }} >> $GITHUB_ENV + build-docker-image: + needs: [env-setup] uses: ./.github/workflows/build-docker-image.yml secrets: inherit with: - tags: "codeforafrica/techlabblog:${{ github.sha }}" + tags: ${{needs.env-setup.outputs.IMAGE_NAME}}:${{ github.sha }} target: "techlabblog" build_args: | - SENTRY_DSN=$env:TECHLABBLOG_SENTRY_DSN - SENTRY_AUTH_TOKEN=$env:SENTRY_AUTH_TOKEN - SENTRY_ENVIRONMENT=$env:SENTRY_ENVIRONMENT - SENTRY_ORG: $secrets:SENTRY_ORG + SENTRY_DSN=${{ needs.env-setup.outputs.SENTRY_DSN }} + SENTRY_AUTH_TOKEN=${{ needs.env-setup.outputs.SENTRY_AUTH_TOKEN }} + SENTRY_ENVIRONMENT=${{ needs.env-setup.outputs.SENTRY_ENVIRONMENT }} + SENTRY_ORG: ${{ needs.env-setup.outputs.SENTRY_ORG }} push-to-dokku: - needs: [build-docker-image] + needs: [build-docker-image, env-setup] secrets: inherit uses: ./.github/workflows/push-to-dokku.yml with: - remote_url: "ssh://azureuser@ui-1.dev.codeforafrica.org/techlabblog" - private_key: $secrets.DOKKU_PRIVATE_KEY - image_name: "codeforafrica/techlabblog:${{ github.sha }}" + remote_url: ${{ needs.env-setup.outputs.DOKKU_REMOTE_URL }} + private_key: ${{ needs.env-setup.outputs.DOKKU_PRIVATE_KEY }} + image_name: ${{needs.env-setup.outputs.IMAGE_NAME}}:${{ github.sha }} From 8e8b92fe9897796b29d85174a82457927c59fd54 Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 13:17:52 +0300 Subject: [PATCH 07/29] Fix env variables Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/techlabblog-deploy-dev.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index a7991c8ea..718e669be 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -33,13 +33,13 @@ jobs: - name: Environment Setup id: env-setup run: | - echo ${{ env.DOKKU_REMOTE_URL }} >> $GITHUB_ENV - echo ${{ secrets.SSH_PRIVATE_KEY }} >> $GITHUB_ENV - echo ${{ env.IMAGE_NAME }} >> $GITHUB_ENV - echo ${{ secrets.SENTRY_ORG }} >> $GITHUB_ENV - echo ${{ secrets.SENTRY_AUTH_TOKEN }} >> $GITHUB_ENV - echo ${{ secrets.TECHLABBLOG_SENTRY_DSN }} >> $GITHUB_ENV - echo ${{ env.SENTRY_ENVIRONMENT }} >> $GITHUB_ENV + echo "DOKKU_REMOTE_URL=ssh://azureuser@ui-1.dev.codeforafrica.org/techlabblog" >> $GITHUB_ENV + echo "SSH_PRIVATE_KEY=${{ secrets.SSH_PRIVATE_KEY }}" >> $GITHUB_ENV + echo "IMAGE_NAME=${{ env.IMAGE_NAME }}" >> $GITHUB_ENV + echo "SENTRY_ORG=${{ secrets.SENTRY_ORG }}" >> $GITHUB_ENV + echo "SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}" >> $GITHUB_ENV + echo "TECHLABBLOG_SENTRY_DSN=${{ secrets.TECHLABBLOG_SENTRY_DSN }}" >> $GITHUB_ENV + echo "SENTRY_ENVIRONMENT=${{ env.SENTRY_ENVIRONMENT }}" >> $GITHUB_ENV build-docker-image: needs: [env-setup] From 11e5ec2813d7096ffaaf42fbd679c02dc12692e1 Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 13:28:47 +0300 Subject: [PATCH 08/29] Test Github env Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/techlabblog-deploy-dev.yml | 14 +++++++------- apps/techlabblog/package.json | 1 + pnpm-lock.yaml | 9 ++++++--- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index 718e669be..5faeddf06 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -33,13 +33,13 @@ jobs: - name: Environment Setup id: env-setup run: | - echo "DOKKU_REMOTE_URL=ssh://azureuser@ui-1.dev.codeforafrica.org/techlabblog" >> $GITHUB_ENV - echo "SSH_PRIVATE_KEY=${{ secrets.SSH_PRIVATE_KEY }}" >> $GITHUB_ENV - echo "IMAGE_NAME=${{ env.IMAGE_NAME }}" >> $GITHUB_ENV - echo "SENTRY_ORG=${{ secrets.SENTRY_ORG }}" >> $GITHUB_ENV - echo "SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}" >> $GITHUB_ENV - echo "TECHLABBLOG_SENTRY_DSN=${{ secrets.TECHLABBLOG_SENTRY_DSN }}" >> $GITHUB_ENV - echo "SENTRY_ENVIRONMENT=${{ env.SENTRY_ENVIRONMENT }}" >> $GITHUB_ENV + echo "DOKKU_REMOTE_URL=${{env.DOKKU_REMOTE_URL}}" >> "$GITHUB_ENV" + echo "SSH_PRIVATE_KEY=${{ secrets.SSH_PRIVATE_KEY }}" >> "$GITHUB_ENV" + echo "IMAGE_NAME=${{ env.IMAGE_NAME }}" >> "$GITHUB_ENV" + echo "SENTRY_ORG=${{ secrets.SENTRY_ORG }}" >> "$GITHUB_ENV" + echo "SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}" >> "$GITHUB_ENV" + echo "TECHLABBLOG_SENTRY_DSN=${{ secrets.TECHLABBLOG_SENTRY_DSN }}" >> "$GITHUB_ENV" + echo "SENTRY_ENVIRONMENT=${{ env.SENTRY_ENVIRONMENT }}" >> "$GITHUB_ENV" build-docker-image: needs: [env-setup] diff --git a/apps/techlabblog/package.json b/apps/techlabblog/package.json index 28c2156f2..bcd9e5b63 100644 --- a/apps/techlabblog/package.json +++ b/apps/techlabblog/package.json @@ -22,6 +22,7 @@ "@mui/material-nextjs": "catalog:", "@mui/utils": "catalog:", "@next/mdx": "catalog:", + "@next/third-parties": "catalog:", "date-fns": "catalog:", "gray-matter": "catalog:", "@types/mdx": "catalog:", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 543a60b19..3cc916324 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -870,7 +870,7 @@ importers: version: 14.2.8 '@next/third-parties': specifier: 'catalog:' - version: 14.2.8(next@14.2.8(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.69.4))(react@18.3.1) + version: 14.2.8(next@14.2.8(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.69.4))(react@18.3.1) '@payloadcms/bundler-webpack': specifier: 'catalog:' version: 1.0.7(@swc/core@1.7.23(@swc/helpers@0.5.5))(ajv@8.17.1)(payload@2.28.0(@swc/helpers@0.5.5)(@types/react@18.3.5)(encoding@0.1.13)(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.7.23(@swc/helpers@0.5.5))))(sass@1.69.4) @@ -1919,7 +1919,7 @@ importers: version: 14.2.8 '@next/third-parties': specifier: 'catalog:' - version: 14.2.8(next@14.2.8(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.69.4))(react@18.3.1) + version: 14.2.8(next@14.2.8(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.69.4))(react@18.3.1) '@payloadcms/bundler-webpack': specifier: 'catalog:' version: 1.0.7(@swc/core@1.7.23(@swc/helpers@0.5.5))(ajv@8.17.1)(payload@2.28.0(@swc/helpers@0.5.5)(@types/react@18.3.5)(encoding@0.1.13)(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.7.23(@swc/helpers@0.5.5))))(sass@1.69.4) @@ -2095,6 +2095,9 @@ importers: '@next/mdx': specifier: 'catalog:' version: 14.2.8(@mdx-js/loader@3.0.1(webpack@5.93.0))(@mdx-js/react@3.0.1(@types/react@18.3.5)(react@18.3.1)) + '@next/third-parties': + specifier: 'catalog:' + version: 14.2.8(next@14.2.8(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.69.4))(react@18.3.1) '@types/mdx': specifier: 'catalog:' version: 2.0.13 @@ -17855,7 +17858,7 @@ snapshots: '@next/swc-win32-x64-msvc@14.2.8': optional: true - '@next/third-parties@14.2.8(next@14.2.8(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.69.4))(react@18.3.1)': + '@next/third-parties@14.2.8(next@14.2.8(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.69.4))(react@18.3.1)': dependencies: next: 14.2.8(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(@playwright/test@1.46.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.69.4) react: 18.3.1 From c5072167c49cc7845f4d6ba227f9c6f9a52052a8 Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 13:35:00 +0300 Subject: [PATCH 09/29] Remove sentry dsn Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/techlabblog-deploy-dev.yml | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index 5faeddf06..ef861d74e 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -27,19 +27,17 @@ jobs: IMAGE_NAME: ${{ steps.env-setup.outputs.IMAGE_NAME }} SENTRY_ORG: ${{ steps.env-setup.outputs.SENTRY_ORG }} SENTRY_AUTH_TOKEN: ${{ steps.env-setup.outputs.SENTRY_AUTH_TOKEN }} - SENTRY_DSN: ${{ steps.env-setup.outputs.SENTRY_DSN }} SENTRY_ENVIRONMENT: ${{ steps.env-setup.outputs.SENTRY_ENVIRONMENT }} steps: - name: Environment Setup id: env-setup run: | - echo "DOKKU_REMOTE_URL=${{env.DOKKU_REMOTE_URL}}" >> "$GITHUB_ENV" - echo "SSH_PRIVATE_KEY=${{ secrets.SSH_PRIVATE_KEY }}" >> "$GITHUB_ENV" - echo "IMAGE_NAME=${{ env.IMAGE_NAME }}" >> "$GITHUB_ENV" - echo "SENTRY_ORG=${{ secrets.SENTRY_ORG }}" >> "$GITHUB_ENV" - echo "SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}" >> "$GITHUB_ENV" - echo "TECHLABBLOG_SENTRY_DSN=${{ secrets.TECHLABBLOG_SENTRY_DSN }}" >> "$GITHUB_ENV" - echo "SENTRY_ENVIRONMENT=${{ env.SENTRY_ENVIRONMENT }}" >> "$GITHUB_ENV" + echo "DOKKU_REMOTE_URL=${{env.DOKKU_REMOTE_URL}}" >> $GITHUB_ENV + echo "SSH_PRIVATE_KEY=${{ secrets.SSH_PRIVATE_KEY }}" >> $GITHUB_ENV + echo "IMAGE_NAME=${{ env.IMAGE_NAME }}" >> $GITHUB_ENV + echo "SENTRY_ORG=${{ secrets.SENTRY_ORG }}" >> $GITHUB_ENV + echo "SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}" >> $GITHUB_ENV + echo "SENTRY_ENVIRONMENT=${{ env.SENTRY_ENVIRONMENT }}" >> $GITHUB_ENV build-docker-image: needs: [env-setup] @@ -49,7 +47,6 @@ jobs: tags: ${{needs.env-setup.outputs.IMAGE_NAME}}:${{ github.sha }} target: "techlabblog" build_args: | - SENTRY_DSN=${{ needs.env-setup.outputs.SENTRY_DSN }} SENTRY_AUTH_TOKEN=${{ needs.env-setup.outputs.SENTRY_AUTH_TOKEN }} SENTRY_ENVIRONMENT=${{ needs.env-setup.outputs.SENTRY_ENVIRONMENT }} SENTRY_ORG: ${{ needs.env-setup.outputs.SENTRY_ORG }} From e6497def9dd97326163a129fbf3c759fa5e51b53 Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 13:37:22 +0300 Subject: [PATCH 10/29] test multiline Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/techlabblog-deploy-dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index ef861d74e..0268c3560 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -23,7 +23,7 @@ jobs: runs-on: ubuntu-latest outputs: DOKKU_REMOTE_URL: ${{ steps.env-setup.outputs.DOKKU_REMOTE_URL }} - DOKKU_PRIVATE_KEY: ${{ steps.env-setup.outputs.DOKKU_PRIVATE_KEY }} + DOKKU_PRIVATE_KEY: "ssh-private-key" IMAGE_NAME: ${{ steps.env-setup.outputs.IMAGE_NAME }} SENTRY_ORG: ${{ steps.env-setup.outputs.SENTRY_ORG }} SENTRY_AUTH_TOKEN: ${{ steps.env-setup.outputs.SENTRY_AUTH_TOKEN }} From 8d051c19577c0c0702e9a7986e8a937e26506214 Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 13:40:29 +0300 Subject: [PATCH 11/29] Handle multiline string Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/techlabblog-deploy-dev.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index 0268c3560..6634f44fe 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -23,7 +23,7 @@ jobs: runs-on: ubuntu-latest outputs: DOKKU_REMOTE_URL: ${{ steps.env-setup.outputs.DOKKU_REMOTE_URL }} - DOKKU_PRIVATE_KEY: "ssh-private-key" + DOKKU_PRIVATE_KEY: ${{ steps.env-setup.outputs.DOKKU_PRIVATE_KEY }} IMAGE_NAME: ${{ steps.env-setup.outputs.IMAGE_NAME }} SENTRY_ORG: ${{ steps.env-setup.outputs.SENTRY_ORG }} SENTRY_AUTH_TOKEN: ${{ steps.env-setup.outputs.SENTRY_AUTH_TOKEN }} @@ -33,7 +33,10 @@ jobs: id: env-setup run: | echo "DOKKU_REMOTE_URL=${{env.DOKKU_REMOTE_URL}}" >> $GITHUB_ENV - echo "SSH_PRIVATE_KEY=${{ secrets.SSH_PRIVATE_KEY }}" >> $GITHUB_ENV + # Multi-line string: https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions#multiline-strings + echo "SSH_PRIVATE_KEY<> $GITHUB_ENV + echo "${{ secrets.SSH_PRIVATE_KEY }}" >> $GITHUB_ENV + echo "EOF" >> $GITHUB_ENV echo "IMAGE_NAME=${{ env.IMAGE_NAME }}" >> $GITHUB_ENV echo "SENTRY_ORG=${{ secrets.SENTRY_ORG }}" >> $GITHUB_ENV echo "SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}" >> $GITHUB_ENV From d4821c321bdd196a036f4113da558786d0f58888 Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 13:44:40 +0300 Subject: [PATCH 12/29] Fix image tag Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/techlabblog-deploy-dev.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index 6634f44fe..9e90832d9 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -26,6 +26,7 @@ jobs: DOKKU_PRIVATE_KEY: ${{ steps.env-setup.outputs.DOKKU_PRIVATE_KEY }} IMAGE_NAME: ${{ steps.env-setup.outputs.IMAGE_NAME }} SENTRY_ORG: ${{ steps.env-setup.outputs.SENTRY_ORG }} + SENTRY_DSN: ${{ steps.env-setup.outputs.SENTRY_DSN }} SENTRY_AUTH_TOKEN: ${{ steps.env-setup.outputs.SENTRY_AUTH_TOKEN }} SENTRY_ENVIRONMENT: ${{ steps.env-setup.outputs.SENTRY_ENVIRONMENT }} steps: @@ -39,6 +40,7 @@ jobs: echo "EOF" >> $GITHUB_ENV echo "IMAGE_NAME=${{ env.IMAGE_NAME }}" >> $GITHUB_ENV echo "SENTRY_ORG=${{ secrets.SENTRY_ORG }}" >> $GITHUB_ENV + echo "SENTRY_DSN=${{ secrets.TECHLABBLOG_SENTRY_DSN }}" >> $GITHUB_ENV echo "SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}" >> $GITHUB_ENV echo "SENTRY_ENVIRONMENT=${{ env.SENTRY_ENVIRONMENT }}" >> $GITHUB_ENV @@ -47,12 +49,13 @@ jobs: uses: ./.github/workflows/build-docker-image.yml secrets: inherit with: - tags: ${{needs.env-setup.outputs.IMAGE_NAME}}:${{ github.sha }} + tags: "${{needs.env-setup.outputs.IMAGE_NAME}}:${{ github.sha }}" target: "techlabblog" build_args: | SENTRY_AUTH_TOKEN=${{ needs.env-setup.outputs.SENTRY_AUTH_TOKEN }} SENTRY_ENVIRONMENT=${{ needs.env-setup.outputs.SENTRY_ENVIRONMENT }} SENTRY_ORG: ${{ needs.env-setup.outputs.SENTRY_ORG }} + SENTRY_DSN: ${{ needs.env-setup.outputs.SENTRY_DSN }} push-to-dokku: needs: [build-docker-image, env-setup] From 2cc31b6eba70e1098421ecf031b2211d5f1955ce Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 13:49:43 +0300 Subject: [PATCH 13/29] Fix tag name Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/techlabblog-deploy-dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index 9e90832d9..faa747a23 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -49,7 +49,7 @@ jobs: uses: ./.github/workflows/build-docker-image.yml secrets: inherit with: - tags: "${{needs.env-setup.outputs.IMAGE_NAME}}:${{ github.sha }}" + tags: ${{needs.env-setup.outputs.IMAGE_NAME}}-${{ github.sha }} target: "techlabblog" build_args: | SENTRY_AUTH_TOKEN=${{ needs.env-setup.outputs.SENTRY_AUTH_TOKEN }} From eb0bc616f7cfa935d0fc384ab39022fb962225e4 Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 13:51:30 +0300 Subject: [PATCH 14/29] Test tag name Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/techlabblog-deploy-dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index faa747a23..6feebaaf9 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -49,7 +49,7 @@ jobs: uses: ./.github/workflows/build-docker-image.yml secrets: inherit with: - tags: ${{needs.env-setup.outputs.IMAGE_NAME}}-${{ github.sha }} + tags: ${{ github.sha }} target: "techlabblog" build_args: | SENTRY_AUTH_TOKEN=${{ needs.env-setup.outputs.SENTRY_AUTH_TOKEN }} From 632bc48127c75ce3443329be385a914d6f64dccb Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 13:54:05 +0300 Subject: [PATCH 15/29] Update target Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/techlabblog-deploy-dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index 6feebaaf9..a8c5b12e9 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -50,7 +50,7 @@ jobs: secrets: inherit with: tags: ${{ github.sha }} - target: "techlabblog" + target: "techlabblog-runner" build_args: | SENTRY_AUTH_TOKEN=${{ needs.env-setup.outputs.SENTRY_AUTH_TOKEN }} SENTRY_ENVIRONMENT=${{ needs.env-setup.outputs.SENTRY_ENVIRONMENT }} From 7a21ed4d88eaf06757e183256afde578bb8d8e8b Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 15:04:19 +0300 Subject: [PATCH 16/29] Standalone output Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- apps/techlabblog/next.config.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/techlabblog/next.config.mjs b/apps/techlabblog/next.config.mjs index 378cf0147..289f50824 100644 --- a/apps/techlabblog/next.config.mjs +++ b/apps/techlabblog/next.config.mjs @@ -2,6 +2,7 @@ import createMDX from "@next/mdx"; /** @type {import('next').NextConfig} */ const nextConfig = { + output: "standalone", pageExtensions: ["mdx", "tsx"], reactStrictMode: true, transpilePackages: ["@commons-ui/core", "@commons-ui/next"], From c08cd20467aecab73a2558e2ba64f7163ce74bf2 Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 15:11:12 +0300 Subject: [PATCH 17/29] Update image name Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/techlabblog-deploy-dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index a8c5b12e9..64aba6506 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -49,7 +49,7 @@ jobs: uses: ./.github/workflows/build-docker-image.yml secrets: inherit with: - tags: ${{ github.sha }} + tags: "${{needs.env-setup.outputs.IMAGE_NAME}}:${{ github.sha }}" target: "techlabblog-runner" build_args: | SENTRY_AUTH_TOKEN=${{ needs.env-setup.outputs.SENTRY_AUTH_TOKEN }} From 073e8ce85d00489e7ed0375037d5002435ddf5a9 Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 15:22:30 +0300 Subject: [PATCH 18/29] Fix image name Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/techlabblog-deploy-dev.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index 64aba6506..fd1061a3e 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -49,7 +49,7 @@ jobs: uses: ./.github/workflows/build-docker-image.yml secrets: inherit with: - tags: "${{needs.env-setup.outputs.IMAGE_NAME}}:${{ github.sha }}" + tags: "codeforafrica/techlabblog:${{ github.sha }}" target: "techlabblog-runner" build_args: | SENTRY_AUTH_TOKEN=${{ needs.env-setup.outputs.SENTRY_AUTH_TOKEN }} @@ -64,4 +64,4 @@ jobs: with: remote_url: ${{ needs.env-setup.outputs.DOKKU_REMOTE_URL }} private_key: ${{ needs.env-setup.outputs.DOKKU_PRIVATE_KEY }} - image_name: ${{needs.env-setup.outputs.IMAGE_NAME}}:${{ github.sha }} + image_name: "codeforafrica/techlabblog:${{ github.sha }}" From aa3c340bf2b574dad41c9ddd8eb551f6459f4777 Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 15:29:02 +0300 Subject: [PATCH 19/29] Use correct image tage Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/techlabblog-deploy-dev.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index fd1061a3e..cee173069 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -15,7 +15,6 @@ concurrency: env: DOKKU_REMOTE_URL: "ssh://azureuser@ui-1.dev.codeforafrica.org/techlabblog" - IMAGE_NAME: "codeforafrica/techlabblog" SENTRY_ENVIRONMENT: "development" jobs: @@ -24,7 +23,6 @@ jobs: outputs: DOKKU_REMOTE_URL: ${{ steps.env-setup.outputs.DOKKU_REMOTE_URL }} DOKKU_PRIVATE_KEY: ${{ steps.env-setup.outputs.DOKKU_PRIVATE_KEY }} - IMAGE_NAME: ${{ steps.env-setup.outputs.IMAGE_NAME }} SENTRY_ORG: ${{ steps.env-setup.outputs.SENTRY_ORG }} SENTRY_DSN: ${{ steps.env-setup.outputs.SENTRY_DSN }} SENTRY_AUTH_TOKEN: ${{ steps.env-setup.outputs.SENTRY_AUTH_TOKEN }} @@ -38,7 +36,6 @@ jobs: echo "SSH_PRIVATE_KEY<> $GITHUB_ENV echo "${{ secrets.SSH_PRIVATE_KEY }}" >> $GITHUB_ENV echo "EOF" >> $GITHUB_ENV - echo "IMAGE_NAME=${{ env.IMAGE_NAME }}" >> $GITHUB_ENV echo "SENTRY_ORG=${{ secrets.SENTRY_ORG }}" >> $GITHUB_ENV echo "SENTRY_DSN=${{ secrets.TECHLABBLOG_SENTRY_DSN }}" >> $GITHUB_ENV echo "SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}" >> $GITHUB_ENV From 14c87671c32dd7ccc3c3981cdefa883100738267 Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 15:50:37 +0300 Subject: [PATCH 20/29] Update private key Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/techlabblog-deploy-dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index cee173069..df81b897c 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -33,7 +33,7 @@ jobs: run: | echo "DOKKU_REMOTE_URL=${{env.DOKKU_REMOTE_URL}}" >> $GITHUB_ENV # Multi-line string: https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions#multiline-strings - echo "SSH_PRIVATE_KEY<> $GITHUB_ENV + echo "DOKKU_PRIVATE_KEY<> $GITHUB_ENV echo "${{ secrets.SSH_PRIVATE_KEY }}" >> $GITHUB_ENV echo "EOF" >> $GITHUB_ENV echo "SENTRY_ORG=${{ secrets.SENTRY_ORG }}" >> $GITHUB_ENV From 749b69f20fb537d10e4dc2f5a32e670527c1ffd0 Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 16:18:56 +0300 Subject: [PATCH 21/29] Hardcode url Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/push-to-dokku.yml | 2 +- .github/workflows/techlabblog-deploy-dev.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/push-to-dokku.yml b/.github/workflows/push-to-dokku.yml index a3d8dfa56..9915eb3f0 100644 --- a/.github/workflows/push-to-dokku.yml +++ b/.github/workflows/push-to-dokku.yml @@ -25,5 +25,5 @@ jobs: uses: dokku/github-action@v1.4.0 with: git_remote_url: ${{ inputs.remote_url }} - ssh_private_key: ${{ inputs.private_key }} + ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }} deploy_docker_image: ${{ inputs.image_name }} diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index df81b897c..f64eff55e 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -59,6 +59,6 @@ jobs: secrets: inherit uses: ./.github/workflows/push-to-dokku.yml with: - remote_url: ${{ needs.env-setup.outputs.DOKKU_REMOTE_URL }} + remote_url: "ssh://azureuser@ui-1.dev.codeforafrica.org/techlabblog" private_key: ${{ needs.env-setup.outputs.DOKKU_PRIVATE_KEY }} image_name: "codeforafrica/techlabblog:${{ github.sha }}" From c014f04cf192083e3c039c135d6b42b276333dad Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 16:23:40 +0300 Subject: [PATCH 22/29] Revert url Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/techlabblog-deploy-dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index f64eff55e..df81b897c 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -59,6 +59,6 @@ jobs: secrets: inherit uses: ./.github/workflows/push-to-dokku.yml with: - remote_url: "ssh://azureuser@ui-1.dev.codeforafrica.org/techlabblog" + remote_url: ${{ needs.env-setup.outputs.DOKKU_REMOTE_URL }} private_key: ${{ needs.env-setup.outputs.DOKKU_PRIVATE_KEY }} image_name: "codeforafrica/techlabblog:${{ github.sha }}" From 06cae88a4fc2d469641abf94436c3f6a1c0c31c0 Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 16:28:54 +0300 Subject: [PATCH 23/29] Test ssh key Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/push-to-dokku.yml | 2 +- .github/workflows/techlabblog-deploy-dev.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/push-to-dokku.yml b/.github/workflows/push-to-dokku.yml index 9915eb3f0..7af41fffe 100644 --- a/.github/workflows/push-to-dokku.yml +++ b/.github/workflows/push-to-dokku.yml @@ -25,5 +25,5 @@ jobs: uses: dokku/github-action@v1.4.0 with: git_remote_url: ${{ inputs.remote_url }} - ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }} + ssh_private_key: ${{ secrets.private_key }} deploy_docker_image: ${{ inputs.image_name }} diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index df81b897c..f64eff55e 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -59,6 +59,6 @@ jobs: secrets: inherit uses: ./.github/workflows/push-to-dokku.yml with: - remote_url: ${{ needs.env-setup.outputs.DOKKU_REMOTE_URL }} + remote_url: "ssh://azureuser@ui-1.dev.codeforafrica.org/techlabblog" private_key: ${{ needs.env-setup.outputs.DOKKU_PRIVATE_KEY }} image_name: "codeforafrica/techlabblog:${{ github.sha }}" From 2a72cda5aed4d46357b292e986242bfaf15d1997 Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 20 Sep 2024 16:36:09 +0300 Subject: [PATCH 24/29] Use secrets Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/push-to-dokku.yml | 6 +----- .github/workflows/techlabblog-deploy-dev.yml | 9 +-------- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/.github/workflows/push-to-dokku.yml b/.github/workflows/push-to-dokku.yml index 7af41fffe..133b07dd6 100644 --- a/.github/workflows/push-to-dokku.yml +++ b/.github/workflows/push-to-dokku.yml @@ -7,10 +7,6 @@ on: required: true type: string description: "The remote URL to push to" - private_key: - required: true - type: string - description: "The name of the app to push to" image_name: required: true type: string @@ -25,5 +21,5 @@ jobs: uses: dokku/github-action@v1.4.0 with: git_remote_url: ${{ inputs.remote_url }} - ssh_private_key: ${{ secrets.private_key }} + ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }} deploy_docker_image: ${{ inputs.image_name }} diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index f64eff55e..c9bb8ccab 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -14,7 +14,6 @@ concurrency: cancel-in-progress: true env: - DOKKU_REMOTE_URL: "ssh://azureuser@ui-1.dev.codeforafrica.org/techlabblog" SENTRY_ENVIRONMENT: "development" jobs: @@ -31,11 +30,6 @@ jobs: - name: Environment Setup id: env-setup run: | - echo "DOKKU_REMOTE_URL=${{env.DOKKU_REMOTE_URL}}" >> $GITHUB_ENV - # Multi-line string: https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions#multiline-strings - echo "DOKKU_PRIVATE_KEY<> $GITHUB_ENV - echo "${{ secrets.SSH_PRIVATE_KEY }}" >> $GITHUB_ENV - echo "EOF" >> $GITHUB_ENV echo "SENTRY_ORG=${{ secrets.SENTRY_ORG }}" >> $GITHUB_ENV echo "SENTRY_DSN=${{ secrets.TECHLABBLOG_SENTRY_DSN }}" >> $GITHUB_ENV echo "SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}" >> $GITHUB_ENV @@ -56,9 +50,8 @@ jobs: push-to-dokku: needs: [build-docker-image, env-setup] - secrets: inherit uses: ./.github/workflows/push-to-dokku.yml + secrets: inherit with: remote_url: "ssh://azureuser@ui-1.dev.codeforafrica.org/techlabblog" - private_key: ${{ needs.env-setup.outputs.DOKKU_PRIVATE_KEY }} image_name: "codeforafrica/techlabblog:${{ github.sha }}" From cdef85ce7bc89b02962c117a3992367442ef3f13 Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Wed, 25 Sep 2024 09:45:34 +0300 Subject: [PATCH 25/29] PR Review update Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/techlabblog-deploy-dev.yml | 11 +++++++---- docker-compose.yml | 1 - 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index c9bb8ccab..978eb54f4 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -2,7 +2,7 @@ name: Techlab Blog | Deploy Dev on: push: - branches: [ft/techlabblog-workflow] + branches: [main] paths: - "apps/techlabblog/**" - "Dockerfile" @@ -15,6 +15,9 @@ concurrency: env: SENTRY_ENVIRONMENT: "development" + SENTRY_ORG: "codeforafrica" + SENTRY_DSN: ${{ secrets.TECHLABBLOG_SENTRY_DSN }} + SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} jobs: env-setup: @@ -30,9 +33,9 @@ jobs: - name: Environment Setup id: env-setup run: | - echo "SENTRY_ORG=${{ secrets.SENTRY_ORG }}" >> $GITHUB_ENV - echo "SENTRY_DSN=${{ secrets.TECHLABBLOG_SENTRY_DSN }}" >> $GITHUB_ENV - echo "SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}" >> $GITHUB_ENV + echo "SENTRY_ORG=${{ env.SENTRY_ORG }}" >> $GITHUB_ENV + echo "SENTRY_DSN=${{ env.TECHLABBLOG_SENTRY_DSN }}" >> $GITHUB_ENV + echo "SENTRY_AUTH_TOKEN=${{ env.SENTRY_AUTH_TOKEN }}" >> $GITHUB_ENV echo "SENTRY_ENVIRONMENT=${{ env.SENTRY_ENVIRONMENT }}" >> $GITHUB_ENV build-docker-image: diff --git a/docker-compose.yml b/docker-compose.yml index 48beae10f..1932969de 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -173,7 +173,6 @@ services: - SENTRY_ENV - SENTRY_PROJECT environment: - PAYLOAD_SECRET: ${PAYLOAD_SECRET} SENTRY_AUTH_TOKEN: ${SENTRY_AUTH_TOKEN} SENTRY_ORG: ${SENTRY_ORG} SENTRY_ENVIRONMENT: ${SENTRY_ENVIRONMENT} From 77994216d5dc6f9ca2c5023c81efdf0375c21f90 Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Wed, 25 Sep 2024 17:38:51 +0300 Subject: [PATCH 26/29] Fix sentry variables Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/techlabblog-deploy-dev.yml | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index 978eb54f4..1aa5c33d2 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -2,7 +2,7 @@ name: Techlab Blog | Deploy Dev on: push: - branches: [main] + branches: [ft/techlabblog-workflow] paths: - "apps/techlabblog/**" - "Dockerfile" @@ -15,27 +15,18 @@ concurrency: env: SENTRY_ENVIRONMENT: "development" - SENTRY_ORG: "codeforafrica" - SENTRY_DSN: ${{ secrets.TECHLABBLOG_SENTRY_DSN }} - SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} jobs: env-setup: runs-on: ubuntu-latest outputs: - DOKKU_REMOTE_URL: ${{ steps.env-setup.outputs.DOKKU_REMOTE_URL }} - DOKKU_PRIVATE_KEY: ${{ steps.env-setup.outputs.DOKKU_PRIVATE_KEY }} - SENTRY_ORG: ${{ steps.env-setup.outputs.SENTRY_ORG }} - SENTRY_DSN: ${{ steps.env-setup.outputs.SENTRY_DSN }} SENTRY_AUTH_TOKEN: ${{ steps.env-setup.outputs.SENTRY_AUTH_TOKEN }} SENTRY_ENVIRONMENT: ${{ steps.env-setup.outputs.SENTRY_ENVIRONMENT }} steps: - name: Environment Setup id: env-setup run: | - echo "SENTRY_ORG=${{ env.SENTRY_ORG }}" >> $GITHUB_ENV - echo "SENTRY_DSN=${{ env.TECHLABBLOG_SENTRY_DSN }}" >> $GITHUB_ENV - echo "SENTRY_AUTH_TOKEN=${{ env.SENTRY_AUTH_TOKEN }}" >> $GITHUB_ENV + echo "SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}" >> $GITHUB_ENV echo "SENTRY_ENVIRONMENT=${{ env.SENTRY_ENVIRONMENT }}" >> $GITHUB_ENV build-docker-image: @@ -48,8 +39,8 @@ jobs: build_args: | SENTRY_AUTH_TOKEN=${{ needs.env-setup.outputs.SENTRY_AUTH_TOKEN }} SENTRY_ENVIRONMENT=${{ needs.env-setup.outputs.SENTRY_ENVIRONMENT }} - SENTRY_ORG: ${{ needs.env-setup.outputs.SENTRY_ORG }} - SENTRY_DSN: ${{ needs.env-setup.outputs.SENTRY_DSN }} + SENTRY_ORG: ${{ vars.SENTRY_ORG }} + SENTRY_DSN: ${{ vars.TECHLABBLOG_SENTRY_DSN }} push-to-dokku: needs: [build-docker-image, env-setup] From 62ccf5f371c28c6204c33ad45e51f8e9237bfb11 Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Wed, 25 Sep 2024 17:52:07 +0300 Subject: [PATCH 27/29] Improve build args Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/build-docker-image.yml | 5 ++++- .github/workflows/techlabblog-deploy-dev.yml | 7 +++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml index b43837b07..452d12382 100644 --- a/.github/workflows/build-docker-image.yml +++ b/.github/workflows/build-docker-image.yml @@ -50,7 +50,10 @@ jobs: - name: Build Docker image uses: docker/build-push-action@v5 with: - build-args: ${{ inputs.build_args }} + build-args: | + ${{ inputs.build_args }} + SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }} + SENTRY_ORG=${{ vars.SENTRY_ORG }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new context: . diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index 1aa5c33d2..c932bf9fc 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -18,18 +18,18 @@ env: jobs: env-setup: + name: Environment Setup runs-on: ubuntu-latest outputs: - SENTRY_AUTH_TOKEN: ${{ steps.env-setup.outputs.SENTRY_AUTH_TOKEN }} SENTRY_ENVIRONMENT: ${{ steps.env-setup.outputs.SENTRY_ENVIRONMENT }} steps: - name: Environment Setup id: env-setup run: | - echo "SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}" >> $GITHUB_ENV echo "SENTRY_ENVIRONMENT=${{ env.SENTRY_ENVIRONMENT }}" >> $GITHUB_ENV build-docker-image: + name: Build Docker Image needs: [env-setup] uses: ./.github/workflows/build-docker-image.yml secrets: inherit @@ -37,12 +37,11 @@ jobs: tags: "codeforafrica/techlabblog:${{ github.sha }}" target: "techlabblog-runner" build_args: | - SENTRY_AUTH_TOKEN=${{ needs.env-setup.outputs.SENTRY_AUTH_TOKEN }} SENTRY_ENVIRONMENT=${{ needs.env-setup.outputs.SENTRY_ENVIRONMENT }} - SENTRY_ORG: ${{ vars.SENTRY_ORG }} SENTRY_DSN: ${{ vars.TECHLABBLOG_SENTRY_DSN }} push-to-dokku: + name: Push to Dokku needs: [build-docker-image, env-setup] uses: ./.github/workflows/push-to-dokku.yml secrets: inherit From 4afbf4487cec5a2e6b9c7fb6a2bf5b49069e631e Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 27 Sep 2024 10:27:44 +0300 Subject: [PATCH 28/29] PR reviews Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/push-to-dokku.yml | 8 +++---- .github/workflows/techlabblog-deploy-dev.yml | 25 ++++---------------- Makefile | 5 ++-- 3 files changed, 12 insertions(+), 26 deletions(-) diff --git a/.github/workflows/push-to-dokku.yml b/.github/workflows/push-to-dokku.yml index 133b07dd6..0e81a7cf1 100644 --- a/.github/workflows/push-to-dokku.yml +++ b/.github/workflows/push-to-dokku.yml @@ -3,11 +3,11 @@ name: Push to Dokku on: workflow_call: inputs: - remote_url: + git_remote_url: required: true type: string description: "The remote URL to push to" - image_name: + deploy_docker_image: required: true type: string description: "The name of the image to push" @@ -20,6 +20,6 @@ jobs: - name: Push uses: dokku/github-action@v1.4.0 with: - git_remote_url: ${{ inputs.remote_url }} + git_remote_url: ${{ inputs.git_remote_url }} ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }} - deploy_docker_image: ${{ inputs.image_name }} + deploy_docker_image: ${{ inputs.deploy_docker_image }} diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index c932bf9fc..fa6c9a2ad 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -1,4 +1,4 @@ -name: Techlab Blog | Deploy Dev +name: Techlab Blog | Dev | Deploy on: push: @@ -13,38 +13,23 @@ concurrency: group: "${{ github.workflow }} @ ${{ github.ref }}" cancel-in-progress: true -env: - SENTRY_ENVIRONMENT: "development" - jobs: - env-setup: - name: Environment Setup - runs-on: ubuntu-latest - outputs: - SENTRY_ENVIRONMENT: ${{ steps.env-setup.outputs.SENTRY_ENVIRONMENT }} - steps: - - name: Environment Setup - id: env-setup - run: | - echo "SENTRY_ENVIRONMENT=${{ env.SENTRY_ENVIRONMENT }}" >> $GITHUB_ENV - build-docker-image: name: Build Docker Image - needs: [env-setup] uses: ./.github/workflows/build-docker-image.yml secrets: inherit with: tags: "codeforafrica/techlabblog:${{ github.sha }}" target: "techlabblog-runner" build_args: | - SENTRY_ENVIRONMENT=${{ needs.env-setup.outputs.SENTRY_ENVIRONMENT }} + SENTRY_ENVIRONMENT=development SENTRY_DSN: ${{ vars.TECHLABBLOG_SENTRY_DSN }} push-to-dokku: name: Push to Dokku - needs: [build-docker-image, env-setup] + needs: [build-docker-image] uses: ./.github/workflows/push-to-dokku.yml secrets: inherit with: - remote_url: "ssh://azureuser@ui-1.dev.codeforafrica.org/techlabblog" - image_name: "codeforafrica/techlabblog:${{ github.sha }}" + git_remote_url: "ssh://azureuser@ui-1.dev.codeforafrica.org/techlabblog-ui" + deploy_docker_image: "codeforafrica/techlabblog:${{ github.sha }}" diff --git a/Makefile b/Makefile index 13ef6f030..ecdbd18f5 100644 --- a/Makefile +++ b/Makefile @@ -33,8 +33,9 @@ pesayetu: roboshield: $(COMPOSE_BUILD_ENV) $(COMPOSE) --env-file apps/roboshield/.env.local up roboshield --build +techlabblog: + $(COMPOSE_BUILD_ENV) $(COMPOSE) --env-file apps/techlabblog/.env.local up techlabblog --build + vpnmanager: $(COMPOSE_BUILD_ENV) $(COMPOSE) --env-file apps/vpnmanager/.env.local up vpnmanager --build -techlabblog: - $(COMPOSE_BUILD_ENV) $(COMPOSE) --env-file apps/techlabblog/.env.local up techlabblog --build From b066c17ea3d6695cc74e81724069d37ed7117b69 Mon Sep 17 00:00:00 2001 From: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> Date: Fri, 27 Sep 2024 10:36:46 +0300 Subject: [PATCH 29/29] Target Main Signed-off-by: Kipruto <43873157+kelvinkipruto@users.noreply.github.com> --- .github/workflows/techlabblog-deploy-dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/techlabblog-deploy-dev.yml b/.github/workflows/techlabblog-deploy-dev.yml index fa6c9a2ad..81b273aab 100644 --- a/.github/workflows/techlabblog-deploy-dev.yml +++ b/.github/workflows/techlabblog-deploy-dev.yml @@ -2,7 +2,7 @@ name: Techlab Blog | Dev | Deploy on: push: - branches: [ft/techlabblog-workflow] + branches: [main] paths: - "apps/techlabblog/**" - "Dockerfile"