# Woodpecker CI — CityGame monorepo # https://woodpecker-ci.org/docs # # Image CI : ci/Dockerfile (Java 21 Maven + Node 20 + pnpm 10) # Rebuild & push when ci/Dockerfile changes: # docker build -f ci/Dockerfile -t git.forge.pele.cam/forgeadmin/citygame-ci:latest . # docker push git.forge.pele.cam/forgeadmin/citygame-ci:latest variables: - &ci_image "git.forge.pele.cam/forgeadmin/citygame-ci:latest" when: - event: [push, pull_request] branch: [main, develop] - event: pull_request steps: # ── Build & Test ────────────────────────────────────────────── - name: build-and-test image: *ci_image pull: true environment: CI: "true" HOME: /woodpecker/src commands: - export HOME=/woodpecker/src - mkdir -p .m2 reports/apps/frontend - pnpm install --frozen-lockfile - pnpm exec nx run-many -t build --parallel=2 - pnpm exec nx run-many -t test --parallel=2 when: - event: [push, pull_request] # ── Notify Coolify (deploy webhook) — main only ─────────────── - name: deploy-main image: curlimages/curl:latest environment: COOLIFY_WEBHOOK: from_secret: COOLIFY_WEBHOOK_MAIN COOLIFY_TOKEN: from_secret: COOLIFY_TOKEN commands: - > curl -fsSX GET "$COOLIFY_WEBHOOK" -H "Authorization: Bearer $COOLIFY_TOKEN" && echo "Coolify deploy triggered (main)" || echo "WARNING: Coolify webhook failed" when: - event: push branch: main # ── Notify Coolify (deploy webhook) — develop only ──────────── - name: deploy-develop image: curlimages/curl:latest environment: COOLIFY_WEBHOOK: from_secret: COOLIFY_WEBHOOK_DEVELOP COOLIFY_TOKEN: from_secret: COOLIFY_TOKEN commands: - > curl -fsSX GET "$COOLIFY_WEBHOOK" -H "Authorization: Bearer $COOLIFY_TOKEN" && echo "Coolify deploy triggered (develop)" || echo "WARNING: Coolify webhook failed" when: - event: push branch: develop