Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 74 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,10 @@ jobs:
node-version: 20
cache: npm
cache-dependency-path: invofi/apps/frontend/package-lock.json
- run: npm ci
- run: npm ci --legacy-peer-deps
- run: npm run lint
- run: npm run type-check
- run: node ../../../scripts/check-sdk-parity.js

frontend-test:
name: Frontend / Unit Tests
Expand All @@ -40,7 +41,7 @@ jobs:
node-version: 20
cache: npm
cache-dependency-path: invofi/apps/frontend/package-lock.json
- run: npm ci
- run: npm ci --legacy-peer-deps
- run: npm test

frontend-build:
Expand Down Expand Up @@ -69,9 +70,44 @@ jobs:
node-version: 20
cache: npm
cache-dependency-path: invofi/apps/frontend/package-lock.json
- run: npm ci
- run: npm ci --legacy-peer-deps
- run: npm run build

frontend-bundle-and-smoke:
name: Frontend / Bundle Budget & Route Smoke
runs-on: ubuntu-latest
needs: frontend-build
defaults:
run:
working-directory: invofi/apps/frontend
env:
NEXT_PUBLIC_SUPABASE_URL: https://placeholder.supabase.co
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY: placeholder-anon-key
NEXT_PUBLIC_REGISTRY_CONTRACT_ID: CAXNTWSKDVSB3GPJMU3RTSDTAIFF4A6FFRAAI35B4AE7LZLLI4VXMCF7
NEXT_PUBLIC_FINANCING_CONTRACT_ID: CBGRA3457ZFXYZNEQLO4YGUQ3OBEWOE6US6ZREHK6NF2DLZYBO73IFVW
NEXT_PUBLIC_REPAYMENT_CONTRACT_ID: CCDATW5GMVDOPK55Q4MLXV5SGA3VLXPD67ABLBNMHWFF6BLL2IZBUVEP
NEXT_PUBLIC_STELLAR_NETWORK: testnet
NEXT_PUBLIC_RPC_URL: https://soroban-testnet.stellar.org
NEXT_PUBLIC_HORIZON_URL: https://horizon-testnet.stellar.org
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
# The workflow only reads the repository; do not leave the GitHub
# token in the runner's git config for the npm ci / build steps.
persist-credentials: false
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
with:
node-version: 20
cache: npm
cache-dependency-path: invofi/apps/frontend/package-lock.json
- run: npm ci --legacy-peer-deps
# Rebuild so the budget check compares against a fresh per-route table.
- run: npm run build 2>&1 | tee next-build.log
- name: Bundle size budget
run: node ../../../scripts/check-bundle-budget.mjs --log next-build.log
- name: Route smoke check
run: node ../../../scripts/route-smoke-check.mjs --port 3100 < next-build.log

commitlint:
name: Conventional Commits
runs-on: ubuntu-latest
Expand All @@ -86,5 +122,40 @@ jobs:
fetch-depth: 0
- uses: wagoid/commitlint-github-action@b948419dd99f3fd78a6548d48f94e3df7f6bf3ed # v6

frontend-a11y:
name: Frontend / A11y Scan (axe-core)
runs-on: ubuntu-latest
defaults:
run:
working-directory: invofi/apps/frontend
env:
NEXT_PUBLIC_SUPABASE_URL: https://placeholder.supabase.co
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY: placeholder-anon-key
NEXT_PUBLIC_REGISTRY_CONTRACT_ID: CAXNTWSKDVSB3GPJMU3RTSDTAIFF4A6FFRAAI35B4AE7LZLLI4VXMCF7
NEXT_PUBLIC_FINANCING_CONTRACT_ID: CBGRA3457ZFXYZNEQLO4YGUQ3OBEWOE6US6ZREHK6NF2DLZYBO73IFVW
NEXT_PUBLIC_REPAYMENT_CONTRACT_ID: CCDATW5GMVDOPK55Q4MLXV5SGA3VLXPD67ABLBNMHWFF6BLL2IZBUVEP
NEXT_PUBLIC_STELLAR_NETWORK: testnet
NEXT_PUBLIC_RPC_URL: https://soroban-testnet.stellar.org
NEXT_PUBLIC_HORIZON_URL: https://horizon-testnet.stellar.org
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
with:
node-version: 20
cache: npm
cache-dependency-path: invofi/apps/frontend/package-lock.json
- run: npm ci --legacy-peer-deps
- name: Install Playwright Chromium + system deps
run: npx playwright install --with-deps chromium
- name: Run axe-core accessibility scan
run: npm run test:a11y
- name: Upload Playwright report
if: failure()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: a11y-playwright-report
path: invofi/apps/frontend/playwright-report
retention-days: 14

# Smart contract tests and WASM builds moved to Stellar-VaultLink/invofi-contracts
# (Rust-only CI) as part of the two-repo topology migration.
Loading