Refactor README to streamline transaction evidence section #69
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 / CD | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - 'copilot/**' | |
| pull_request: | |
| branches: | |
| - main | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| # ──────────────────────────────────────────────────────────────── | |
| lint-and-type-check: | |
| name: Lint & Type-check | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up pnpm | |
| uses: pnpm/action-setup@v4 | |
| - name: Set up Node 22 | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| cache: 'pnpm' | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Lint | |
| run: pnpm run lint | |
| - name: Type-check | |
| run: pnpm exec tsc --noEmit | |
| # ──────────────────────────────────────────────────────────────── | |
| build: | |
| name: Production Build | |
| runs-on: ubuntu-latest | |
| needs: lint-and-type-check | |
| permissions: | |
| contents: read | |
| env: | |
| # Provide stub env vars so Next.js can build without real secrets | |
| NEXT_PUBLIC_SUPABASE_URL: https://placeholder.supabase.co | |
| NEXT_PUBLIC_SUPABASE_ANON_KEY: placeholder_anon_key | |
| NEXT_PUBLIC_STELLAR_NETWORK: testnet | |
| NEXT_PUBLIC_HORIZON_URL: https://horizon-testnet.stellar.org | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up pnpm | |
| uses: pnpm/action-setup@v4 | |
| - name: Set up Node 22 | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| cache: 'pnpm' | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Build | |
| run: pnpm run build | |
| - name: Upload build artefact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: next-build-${{ github.sha }} | |
| path: .next/ | |
| retention-days: 7 | |
| # ──────────────────────────────────────────────────────────────── | |
| docker-build: | |
| name: Docker Image Build | |
| runs-on: ubuntu-latest | |
| needs: build | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Build Docker image (no push) | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| push: false | |
| tags: agentforge:${{ github.sha }} | |
| cache-from: type=gha | |
| cache-to: type=gha,mode=max | |
| # ──────────────────────────────────────────────────────────────── | |
| # Optional: deploy to Vercel via Vercel CLI when pushing to main | |
| # Uncomment and add VERCEL_TOKEN / VERCEL_ORG_ID / VERCEL_PROJECT_ID | |
| # to repository secrets. | |
| # | |
| # deploy-preview: | |
| # name: Deploy to Vercel | |
| # runs-on: ubuntu-latest | |
| # needs: build | |
| # if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
| # steps: | |
| # - uses: actions/checkout@v4 | |
| # - uses: actions/setup-node@v4 | |
| # with: | |
| # node-version: '22' | |
| # cache: 'npm' | |
| # - run: npm ci | |
| # - run: npx vercel --prod --token=${{ secrets.VERCEL_TOKEN }} | |
| # env: | |
| # VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} | |
| # VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} |