From 9c8ceba461868a58789f8152c421e6b44d7fec40 Mon Sep 17 00:00:00 2001 From: Ryan Moon Date: Wed, 1 Apr 2026 21:47:20 -0500 Subject: [PATCH 01/11] fix: only run CI on pull requests, not on push to main --- .gitea/workflows/ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index fd66b3e..ebefc40 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -1,8 +1,6 @@ name: CI on: - push: - branches: [main] pull_request: branches: [main] workflow_dispatch: From ddabcf19d1754eb6c28afc16997529933c735710 Mon Sep 17 00:00:00 2001 From: Ryan Moon Date: Wed, 1 Apr 2026 21:52:37 -0500 Subject: [PATCH 02/11] fix: rebase before pushing version bump to avoid race with CI --- .gitea/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 2b9fb5d..a8b36b1 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -52,6 +52,7 @@ jobs: git remote set-url origin https://lunarfront-bot:${{ secrets.BOT_TOKEN }}@git.lunarfront.tech/ryan/lunarfront-app.git git add packages/backend/package.json git commit -m "chore: bump version to v${{ steps.version.outputs.version }}" + git pull --rebase origin main git push origin main - name: Install Docker CLI From 1df4bb15a869b3e135e3d7b6398022c6ec6d6307 Mon Sep 17 00:00:00 2001 From: Ryan Moon Date: Wed, 1 Apr 2026 21:55:58 -0500 Subject: [PATCH 03/11] =?UTF-8?q?fix:=20remove=20redundant=20Docker=20CLI?= =?UTF-8?q?=20install=20=E2=80=94=20catthehacker=20image=20includes=20it?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/build.yml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index a8b36b1..c1d2333 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -55,16 +55,6 @@ jobs: git pull --rebase origin main git push origin main - - name: Install Docker CLI - run: | - apt-get update -qq - apt-get install -y ca-certificates curl - install -m 0755 -d /etc/apt/keyrings - curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc - echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo $VERSION_CODENAME) stable" > /etc/apt/sources.list.d/docker.list - apt-get update -qq - apt-get install -y docker-ce-cli - - name: Login to registry run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login registry.lunarfront.tech -u ryan --password-stdin From 67f8881b3ce13702c49dc27610349d3d82812314 Mon Sep 17 00:00:00 2001 From: Ryan Moon Date: Wed, 1 Apr 2026 22:04:29 -0500 Subject: [PATCH 04/11] fix: copy admin package.json in backend Dockerfile for workspace resolution --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index a59a215..2c668e0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,6 +3,7 @@ WORKDIR /app COPY package.json bun.lock ./ COPY packages/shared/package.json packages/shared/ COPY packages/backend/package.json packages/backend/ +COPY packages/admin/package.json packages/admin/ RUN bun install --frozen-lockfile FROM oven/bun:1.3.11-alpine AS build From c236059ce19768985cfbf1cb9c330740e8083835 Mon Sep 17 00:00:00 2001 From: Ryan Moon Date: Wed, 1 Apr 2026 22:10:14 -0500 Subject: [PATCH 05/11] fix: use --filter to install only backend workspace, avoiding missing admin package.json --- Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2c668e0..49b3411 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,8 +3,7 @@ WORKDIR /app COPY package.json bun.lock ./ COPY packages/shared/package.json packages/shared/ COPY packages/backend/package.json packages/backend/ -COPY packages/admin/package.json packages/admin/ -RUN bun install --frozen-lockfile +RUN bun install --frozen-lockfile --filter @lunarfront/backend FROM oven/bun:1.3.11-alpine AS build ARG APP_VERSION=dev From 038ea22068ec7b783710b6f57abfb4e535b06012 Mon Sep 17 00:00:00 2001 From: Ryan Moon Date: Wed, 1 Apr 2026 22:10:54 -0500 Subject: [PATCH 06/11] fix: exclude admin src from Docker context but keep package.json for workspace resolution --- .dockerignore | 1 + Dockerfile | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.dockerignore b/.dockerignore index 2ded820..ff3b5e5 100644 --- a/.dockerignore +++ b/.dockerignore @@ -6,6 +6,7 @@ planning deploy infra packages/admin +!packages/admin/package.json Dockerfile* docker-compose* *.md diff --git a/Dockerfile b/Dockerfile index 49b3411..2c668e0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,8 @@ WORKDIR /app COPY package.json bun.lock ./ COPY packages/shared/package.json packages/shared/ COPY packages/backend/package.json packages/backend/ -RUN bun install --frozen-lockfile --filter @lunarfront/backend +COPY packages/admin/package.json packages/admin/ +RUN bun install --frozen-lockfile FROM oven/bun:1.3.11-alpine AS build ARG APP_VERSION=dev From 8eb116a9a1a912dc7f8bd8a62a5d674c2f21eb94 Mon Sep 17 00:00:00 2001 From: Ryan Moon Date: Wed, 1 Apr 2026 22:14:10 -0500 Subject: [PATCH 07/11] fix: move Docker builds before version bump commit to prevent self-cancellation --- .gitea/workflows/build.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index c1d2333..ac97443 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -45,16 +45,6 @@ jobs: ") echo "version=$VERSION" >> $GITHUB_OUTPUT - - name: Commit version bump - run: | - git config user.name "lunarfront-bot" - git config user.email "bot@lunarfront.tech" - git remote set-url origin https://lunarfront-bot:${{ secrets.BOT_TOKEN }}@git.lunarfront.tech/ryan/lunarfront-app.git - git add packages/backend/package.json - git commit -m "chore: bump version to v${{ steps.version.outputs.version }}" - git pull --rebase origin main - git push origin main - - name: Login to registry run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login registry.lunarfront.tech -u ryan --password-stdin @@ -85,6 +75,16 @@ jobs: docker push registry.lunarfront.tech/ryan/lunarfront-frontend:$SHA docker push registry.lunarfront.tech/ryan/lunarfront-frontend:latest + - name: Commit version bump + run: | + git config user.name "lunarfront-bot" + git config user.email "bot@lunarfront.tech" + git remote set-url origin https://lunarfront-bot:${{ secrets.BOT_TOKEN }}@git.lunarfront.tech/ryan/lunarfront-app.git + git add packages/backend/package.json + git commit -m "chore: bump version to v${{ steps.version.outputs.version }}" + git pull --rebase origin main + git push origin main + - name: Logout if: always() run: docker logout registry.lunarfront.tech From d8213024397b87fa6e60807e2b474196a711b07a Mon Sep 17 00:00:00 2001 From: Ryan Moon Date: Wed, 1 Apr 2026 22:16:23 -0500 Subject: [PATCH 08/11] fix: copy backend package.json in frontend Dockerfile for workspace resolution --- Dockerfile.frontend | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile.frontend b/Dockerfile.frontend index 1da2545..35e7cbc 100644 --- a/Dockerfile.frontend +++ b/Dockerfile.frontend @@ -3,6 +3,7 @@ WORKDIR /app COPY package.json bun.lock ./ COPY packages/shared/package.json packages/shared/ COPY packages/admin/package.json packages/admin/ +COPY packages/backend/package.json packages/backend/ RUN bun install --frozen-lockfile FROM oven/bun:1.3.11-alpine AS build From 75bc10fe3c1216b5265224fa1b252cea8408543d Mon Sep 17 00:00:00 2001 From: Ryan Moon Date: Thu, 2 Apr 2026 06:53:24 -0500 Subject: [PATCH 09/11] fix: add concurrency group to prevent build runs from cancelling each other --- .gitea/workflows/build.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index ac97443..db3334a 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -5,6 +5,10 @@ on: branches: [main] workflow_dispatch: +concurrency: + group: build + cancel-in-progress: false + jobs: build: runs-on: ubuntu-latest From ce3ac3dfc0a95b909ba5707d87cd8aee47a7c001 Mon Sep 17 00:00:00 2001 From: Ryan Moon Date: Thu, 2 Apr 2026 07:01:21 -0500 Subject: [PATCH 10/11] fix: allow backend package.json through frontend dockerignore for workspace resolution --- Dockerfile.frontend.dockerignore | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile.frontend.dockerignore b/Dockerfile.frontend.dockerignore index 23dbfcb..4238987 100644 --- a/Dockerfile.frontend.dockerignore +++ b/Dockerfile.frontend.dockerignore @@ -6,6 +6,7 @@ planning deploy infra packages/backend +!packages/backend/package.json Dockerfile* docker-compose* *.md From 9fc42b7881336c755ca5432ce6299f1a93108bf5 Mon Sep 17 00:00:00 2001 From: Ryan Moon Date: Thu, 2 Apr 2026 19:09:30 -0500 Subject: [PATCH 11/11] fix: set DOCKER_HOST for e2e job to use dind TCP endpoint --- .gitea/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index ebefc40..9006239 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -30,6 +30,8 @@ jobs: e2e: runs-on: ubuntu-latest needs: ci + env: + DOCKER_HOST: tcp://localhost:2375 steps: - name: Checkout