Pipeline re-working v2

This commit is contained in:
2026-01-31 12:33:34 -03:00
parent df7e2b2bcc
commit 31052d2d9d
5 changed files with 36 additions and 25 deletions

View File

@@ -104,8 +104,10 @@ mifi-ventures-landing/
│ ├── devcontainer.json # Dev container config (extensions)
│ └── Dockerfile # Dev container image (Node)
├── .woodpecker/ # CI/CD pipelines (see below)
│ ├── lint-and-build.yaml # PR: lint, test, build (no deploy)
── deploy.yaml # main: lint, test, build, Docker, push, webhook
│ ├── lint.yaml # install + lint (runs on PR, main, manual)
── build.yaml # build (after lint)
│ ├── test.yaml # test (after lint + build)
│ └── deploy.yaml # Docker → push → webhook (main only, after lint/build/test)
├── Dockerfile # Production container (nginx:alpine)
├── nginx.conf # nginx web server configuration
├── svelte.config.js # SvelteKit config (adapter-static)
@@ -140,10 +142,10 @@ mifi-ventures-landing/
### Pipeline Overview
Woodpecker uses two workflows (`.woodpecker/lint-and-build.yaml` and `.woodpecker/deploy.yaml`):
Woodpecker uses four workflows (`.woodpecker/lint.yaml`, `build.yaml`, `test.yaml`, `deploy.yaml`):
- **Pull requests**: Opening or updating a PR runs **lint** (ESLint + Stylelint), **tests** (Vitest), and a **test build** (SvelteKit + Critters) on the branch. No Docker image or deploy.
- **Push to main** (or tag / manual run): Runs the same lint, test, and build, then:
- **Pull requests** (and **push/tag/manual on main**): Run **lint** **build****test** in order (shared workspace). No Docker or deploy on PRs.
- **Push to main** (or tag / manual on main): After lint, build, and test succeed, **deploy** runs:
1. **Build** — Builds Docker image tagged with commit SHA + `latest`
2. **Push** — Pushes images to private Docker registry