diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 91b6462..3fc2944 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -13,14 +13,37 @@ jobs: runs-on: ubuntu-latest container: volumes: - - /docker/FlockPal-dev:/deploy/FlockPal-dev + - /docker/FlockPal-dev:/docker/FlockPal-dev steps: + - 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 /deploy/FlockPal-dev - git fetch --all --prune - git pull --ff-only + cd /docker/FlockPal-dev docker compose -f docker-compose.dev.yaml up -d --build deploy-prod: @@ -28,12 +51,35 @@ jobs: runs-on: ubuntu-latest container: volumes: - - /docker/FlockPal:/deploy/FlockPal + - /docker/FlockPal:/docker/FlockPal steps: + - 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 /deploy/FlockPal - git fetch --all --prune - git pull --ff-only + cd /docker/FlockPal docker compose -f docker-compose.prod.yml up -d --build