fix: CI ENS update + admin auth secret mismatch #179
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| typecheck: | |
| name: Type Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - name: Install dependencies | |
| run: pnpm install --no-frozen-lockfile --shamefully-hoist | |
| - name: Build packages (required for project references) | |
| run: | | |
| pnpm --filter @workspace/db exec tsc --build . | |
| pnpm --filter @workspace/api-zod exec tsc --build . | |
| pnpm --filter @workspace/api-client-react exec tsc --build . | |
| pnpm --filter @workspace/integrations-openai-ai-server exec tsc --build . | |
| - name: Type check all packages | |
| run: pnpm -r --if-present run typecheck | |
| build-frontend: | |
| name: Build Frontend | |
| runs-on: ubuntu-latest | |
| needs: typecheck | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - name: Install dependencies | |
| run: pnpm install --no-frozen-lockfile --shamefully-hoist | |
| - name: Build packages | |
| run: | | |
| pnpm --filter @workspace/db exec tsc --build . | |
| pnpm --filter @workspace/api-zod exec tsc --build . | |
| pnpm --filter @workspace/api-client-react exec tsc --build . | |
| - name: Build frontend | |
| run: pnpm --filter @workspace/subframe exec vite build | |
| env: | |
| NODE_ENV: production | |
| PORT: "3001" | |
| BASE_PATH: / | |
| VITE_API_BASE_URL: https://subframe.network | |
| deploy-pages: | |
| name: Deploy to GitHub Pages | |
| runs-on: ubuntu-latest | |
| needs: typecheck | |
| if: github.ref == 'refs/heads/main' && github.event_name == 'push' | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| concurrency: | |
| group: pages | |
| cancel-in-progress: true | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - name: Install dependencies | |
| run: pnpm install --no-frozen-lockfile --shamefully-hoist | |
| - name: Build packages | |
| run: | | |
| pnpm --filter @workspace/db exec tsc --build . | |
| pnpm --filter @workspace/api-zod exec tsc --build . | |
| pnpm --filter @workspace/api-client-react exec tsc --build . | |
| - name: Build frontend | |
| run: pnpm --filter @workspace/subframe exec vite build | |
| env: | |
| NODE_ENV: production | |
| PORT: "3001" | |
| BASE_PATH: / | |
| VITE_API_BASE_URL: https://subframe.network | |
| - name: Create 404.html for SPA routing | |
| run: cp frontend/dist/public/index.html frontend/dist/public/404.html | |
| - name: Setup Pages | |
| uses: actions/configure-pages@v5 | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: frontend/dist/public | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 | |
| deploy-ipfs-ens: | |
| name: Pin to IPFS & Update ENS | |
| runs-on: ubuntu-latest | |
| needs: typecheck | |
| if: github.ref == 'refs/heads/main' && github.event_name == 'push' | |
| concurrency: | |
| group: ipfs-ens | |
| cancel-in-progress: true | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - name: Install dependencies | |
| run: pnpm install --no-frozen-lockfile --shamefully-hoist | |
| - name: Build packages | |
| run: | | |
| pnpm --filter @workspace/db exec tsc --build . | |
| pnpm --filter @workspace/api-zod exec tsc --build . | |
| pnpm --filter @workspace/api-client-react exec tsc --build . | |
| - name: Build frontend | |
| run: pnpm --filter @workspace/subframe exec vite build | |
| env: | |
| NODE_ENV: production | |
| PORT: "3001" | |
| BASE_PATH: / | |
| VITE_API_BASE_URL: https://subframe.network | |
| - name: Pin to IPFS & update ENS contenthash | |
| run: node frontend/scripts/pin-to-ipfs.mjs | |
| env: | |
| PINATA_JWT: ${{ secrets.PINATA_JWT }} | |
| ADMIN_SECRET: ${{ secrets.ADMIN_SECRET }} | |
| API_URL: https://subframe.network | |
| build-backend: | |
| name: Build Backend | |
| runs-on: ubuntu-latest | |
| needs: typecheck | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - name: Install dependencies | |
| run: pnpm install --no-frozen-lockfile --shamefully-hoist | |
| - name: Build packages | |
| run: | | |
| pnpm --filter @workspace/db exec tsc --build . | |
| pnpm --filter @workspace/api-zod exec tsc --build . | |
| - name: Build backend | |
| run: pnpm --filter @workspace/api-server run build |