fix(shared,client,agent): harden vault crowdfunding flow #223
Workflow file for this run
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: Admin | |
| on: | |
| push: | |
| branches: [main, develop] | |
| paths: | |
| - "package.json" | |
| - "bun.lock" | |
| - "biome.json" | |
| - ".env.schema" | |
| - "playwright.config.ts" | |
| - "tests/**" | |
| - "packages/admin/**" | |
| - "packages/shared/**" | |
| - "packages/contracts/src/**" | |
| - "packages/contracts/abis/**" | |
| - "packages/contracts/deployments/**" | |
| - "scripts/ops/upload-sourcemaps.js" | |
| - ".github/workflows/admin.yml" | |
| pull_request: | |
| branches: [main, develop] | |
| paths: | |
| - "package.json" | |
| - "bun.lock" | |
| - "biome.json" | |
| - ".env.schema" | |
| - "playwright.config.ts" | |
| - "tests/**" | |
| - "packages/admin/**" | |
| - "packages/shared/**" | |
| - "packages/contracts/src/**" | |
| - "packages/contracts/abis/**" | |
| - "packages/contracts/deployments/**" | |
| - "scripts/ops/upload-sourcemaps.js" | |
| - ".github/workflows/admin.yml" | |
| workflow_dispatch: | |
| inputs: | |
| operation: | |
| description: "Admin operation to run" | |
| required: true | |
| type: choice | |
| options: | |
| - ci | |
| - lighthouse | |
| - all | |
| default: ci | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| name: Test | |
| if: github.event_name != 'workflow_dispatch' || inputs.operation == 'ci' || inputs.operation == 'all' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: "22" | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: 1.3.10 | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Run admin tests with coverage | |
| working-directory: packages/admin | |
| run: bun run test:coverage | |
| env: | |
| CI: true | |
| lint-build: | |
| name: Lint And Build | |
| if: github.event_name != 'workflow_dispatch' || inputs.operation == 'ci' || inputs.operation == 'all' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: "22" | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: 1.3.10 | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Run admin lint | |
| working-directory: packages/admin | |
| run: bun run lint | |
| - name: Check formatting | |
| run: bun run format:check | |
| - name: Build admin | |
| working-directory: packages/admin | |
| run: bun run build | |
| env: | |
| VITE_CHAIN_ID: "11155111" | |
| VITE_WALLETCONNECT_PROJECT_ID: ${{ secrets.VITE_WALLETCONNECT_PROJECT_ID || 'test' }} | |
| VITE_PIMLICO_API_KEY: ${{ secrets.VITE_PIMLICO_API_KEY || 'test' }} | |
| VITE_ENVIO_INDEXER_URL: ${{ secrets.VITE_ENVIO_INDEXER_URL || 'http://localhost:3006/v1/graphql' }} | |
| VITE_PINATA_GATEWAY_URL: ${{ vars.VITE_PINATA_GATEWAY_URL || 'https://greengoods.mypinata.cloud' }} | |
| VITE_PINATA_API_URL: ${{ vars.VITE_PINATA_API_URL || 'https://api.pinata.cloud' }} | |
| sourcemaps: | |
| name: Upload Admin Source Maps | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
| needs: lint-build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: "22" | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: 1.3.10 | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Upload admin source maps | |
| run: node scripts/ops/upload-sourcemaps.js --app admin --env production --version "${{ github.sha }}" | |
| env: | |
| CI: true | |
| POSTHOG_CLI_TOKEN: ${{ secrets.POSTHOG_CLI_TOKEN }} | |
| POSTHOG_ADMIN_ENV_ID: ${{ secrets.POSTHOG_ADMIN_ENV_ID }} | |
| VITE_CHAIN_ID: "42161" | |
| VITE_WALLETCONNECT_PROJECT_ID: ${{ secrets.VITE_WALLETCONNECT_PROJECT_ID || 'test' }} | |
| VITE_PIMLICO_API_KEY: ${{ secrets.VITE_PIMLICO_API_KEY || 'test' }} | |
| VITE_ENVIO_INDEXER_URL: ${{ secrets.VITE_ENVIO_INDEXER_URL || 'http://localhost:3006/v1/graphql' }} | |
| VITE_PINATA_GATEWAY_URL: ${{ vars.VITE_PINATA_GATEWAY_URL || 'https://greengoods.mypinata.cloud' }} | |
| VITE_PINATA_API_URL: ${{ vars.VITE_PINATA_API_URL || 'https://api.pinata.cloud' }} | |
| e2e: | |
| name: Playwright Admin CI | |
| if: github.event_name != 'workflow_dispatch' || inputs.operation == 'ci' || inputs.operation == 'all' | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: "22" | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: 1.3.10 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v6 | |
| with: | |
| version: 9 | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Setup indexer generated code | |
| working-directory: packages/indexer | |
| run: | | |
| bun run codegen | |
| bun run setup-generated | |
| - name: Install Playwright Chromium | |
| run: bunx playwright install --with-deps chromium | |
| - name: Run admin Playwright project | |
| run: PLAYWRIGHT_APP=admin APP_ENV=test bunx playwright test --project=admin-ci | |
| env: | |
| CI: true | |
| SKIP_INDEXER: "true" | |
| VITE_CHAIN_ID: "11155111" | |
| VITE_WALLETCONNECT_PROJECT_ID: ${{ secrets.VITE_WALLETCONNECT_PROJECT_ID || 'test' }} | |
| VITE_PIMLICO_API_KEY: ${{ secrets.VITE_PIMLICO_API_KEY || 'test' }} | |
| VITE_ENVIO_INDEXER_URL: ${{ secrets.VITE_ENVIO_INDEXER_URL || 'http://localhost:3006/v1/graphql' }} | |
| VITE_PINATA_GATEWAY_URL: ${{ vars.VITE_PINATA_GATEWAY_URL || 'https://greengoods.mypinata.cloud' }} | |
| VITE_PINATA_API_URL: ${{ vars.VITE_PINATA_API_URL || 'https://api.pinata.cloud' }} | |
| - name: Upload Playwright report | |
| uses: actions/upload-artifact@v7 | |
| if: always() | |
| with: | |
| name: admin-playwright-report | |
| path: tests/playwright-report/ | |
| retention-days: 14 | |
| - name: Upload test results | |
| uses: actions/upload-artifact@v7 | |
| if: always() | |
| with: | |
| name: admin-playwright-results | |
| path: tests/test-results/ | |
| retention-days: 14 | |
| lighthouse: | |
| name: Lighthouse Admin Advisory | |
| if: github.event_name == 'workflow_dispatch' && (inputs.operation == 'lighthouse' || inputs.operation == 'all') | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| continue-on-error: true | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: "22" | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: 1.3.10 | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Run Lighthouse advisory | |
| run: bun run lighthouse:admin | |
| env: | |
| VITE_CHAIN_ID: "11155111" | |
| VITE_WALLETCONNECT_PROJECT_ID: ${{ secrets.VITE_WALLETCONNECT_PROJECT_ID || 'test' }} | |
| VITE_PIMLICO_API_KEY: ${{ secrets.VITE_PIMLICO_API_KEY || 'test' }} | |
| VITE_ENVIO_INDEXER_URL: ${{ secrets.VITE_ENVIO_INDEXER_URL || 'http://localhost:3006/v1/graphql' }} | |
| VITE_PINATA_GATEWAY_URL: ${{ vars.VITE_PINATA_GATEWAY_URL || 'https://greengoods.mypinata.cloud' }} | |
| VITE_PINATA_API_URL: ${{ vars.VITE_PINATA_API_URL || 'https://api.pinata.cloud' }} | |
| LHCI_GITHUB_APP_TOKEN: ${{ secrets.LHCI_GITHUB_APP_TOKEN }} | |
| - name: Upload Lighthouse results | |
| if: always() | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: lighthouse-admin-results | |
| path: packages/admin/.lighthouseci/ | |
| retention-days: 30 |