diff --git a/.woodpecker.yml b/.woodpecker.yml new file mode 100644 index 0000000..cf8ba89 --- /dev/null +++ b/.woodpecker.yml @@ -0,0 +1,62 @@ +# 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 + commands: + - > + curl -fsSX GET "$COOLIFY_WEBHOOK" + && 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 + commands: + - > + curl -fsSX GET "$COOLIFY_WEBHOOK" + && echo "Coolify deploy triggered (develop)" + || echo "WARNING: Coolify webhook failed" + when: + - event: push + branch: develop