From f16e88e2f061963a7eeaf47fbe7cf3089184dea1 Mon Sep 17 00:00:00 2001 From: blaisadmin Date: Sun, 24 May 2026 21:48:42 -0400 Subject: [PATCH] Validate builds before deploy --- .gitea/workflows/deploy.yml | 50 +++++++++++++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index bbafae4..3fc2944 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -15,12 +15,35 @@ jobs: volumes: - /docker/FlockPal-dev:/docker/FlockPal-dev steps: - - name: Deploy dev + - name: Update dev checkout run: | set -e cd /docker/FlockPal-dev git fetch --all --prune git pull --ff-only + + - name: Validate backend + run: | + set -e + cd /docker/FlockPal-dev + docker run --rm -v "$PWD/backend:/src:ro" -w /tmp/app node:22-alpine sh -lc "cp -a /src/. /tmp/app && npm ci && npm run build && npm test" + + - name: Validate frontend + run: | + set -e + cd /docker/FlockPal-dev + docker run --rm -v "$PWD/frontend:/src:ro" -w /tmp/app node:22-alpine sh -lc "cp -a /src/. /tmp/app && npm ci && npm run build" + + - name: Validate dev compose config + run: | + set -e + cd /docker/FlockPal-dev + docker compose -f docker-compose.dev.yaml config --quiet + + - name: Deploy dev + run: | + set -e + cd /docker/FlockPal-dev docker compose -f docker-compose.dev.yaml up -d --build deploy-prod: @@ -30,10 +53,33 @@ jobs: volumes: - /docker/FlockPal:/docker/FlockPal steps: - - name: Deploy prod + - name: Update prod checkout run: | set -e cd /docker/FlockPal git fetch --all --prune git pull --ff-only + + - name: Validate backend + run: | + set -e + cd /docker/FlockPal + docker run --rm -v "$PWD/backend:/src:ro" -w /tmp/app node:22-alpine sh -lc "cp -a /src/. /tmp/app && npm ci && npm run build && npm test" + + - name: Validate frontend + run: | + set -e + cd /docker/FlockPal + docker run --rm -v "$PWD/frontend:/src:ro" -w /tmp/app node:22-alpine sh -lc "cp -a /src/. /tmp/app && npm ci && npm run build" + + - name: Validate prod compose config + run: | + set -e + cd /docker/FlockPal + docker compose -f docker-compose.prod.yml config --quiet + + - name: Deploy prod + run: | + set -e + cd /docker/FlockPal docker compose -f docker-compose.prod.yml up -d --build