Wire Jumbo (lomi. Pos) into monorepo CI, audit, and docs #60
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: lomi · security · dependency audit | |
| # Full installs are expensive: run on lockfile changes, weekly, or manually. | |
| # dashboard/checkout/jumbo live in private submodule repos — check them out explicitly. | |
| on: | |
| push: | |
| branches: [main, develop] | |
| paths: | |
| - "apps/api" | |
| - "apps/dashboard/pnpm-lock.yaml" | |
| - "apps/checkout/pnpm-lock.yaml" | |
| - "apps/jumbo/pnpm-lock.yaml" | |
| - ".github/workflows/app-security-audit.yml" | |
| pull_request: | |
| branches: [main] | |
| paths: | |
| - "apps/api" | |
| - "apps/dashboard/pnpm-lock.yaml" | |
| - "apps/checkout/pnpm-lock.yaml" | |
| - "apps/jumbo/pnpm-lock.yaml" | |
| - ".github/workflows/app-security-audit.yml" | |
| schedule: | |
| - cron: "30 8 * * 1" | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| audit-api: | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: apps/api | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Checkout API submodule | |
| uses: actions/checkout@v5 | |
| with: | |
| repository: lomiafrica/api | |
| ref: main | |
| token: ${{ secrets.REPO_CHECKOUT_PAT }} | |
| path: apps/api | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22" | |
| - name: pnpm audit (high and critical) | |
| run: pnpm --ignore-workspace audit --audit-level high | |
| audit-dashboard: | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: apps/dashboard | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Checkout dashboard submodule | |
| uses: actions/checkout@v5 | |
| with: | |
| repository: lomiafrica/dashboard | |
| ref: main | |
| token: ${{ secrets.REPO_CHECKOUT_PAT }} | |
| path: apps/dashboard | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22" | |
| - name: pnpm audit (high and critical) | |
| run: pnpm --ignore-workspace audit --audit-level high | |
| audit-checkout: | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: apps/checkout | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Checkout checkout submodule | |
| uses: actions/checkout@v5 | |
| with: | |
| repository: lomiafrica/checkout | |
| ref: main | |
| token: ${{ secrets.REPO_CHECKOUT_PAT }} | |
| path: apps/checkout | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22" | |
| - name: pnpm audit (high and critical) | |
| run: pnpm --ignore-workspace audit --audit-level high | |
| audit-jumbo: | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: apps/jumbo | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Checkout jumbo submodule | |
| uses: actions/checkout@v5 | |
| with: | |
| repository: lomiafrica/jumbo | |
| ref: main | |
| token: ${{ secrets.REPO_CHECKOUT_PAT }} | |
| path: apps/jumbo | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22" | |
| - name: pnpm audit (high and critical) | |
| run: pnpm --ignore-workspace audit --audit-level high |