blog: expand secure research collaboration post with social-structure… #236
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] | |
| permissions: | |
| contents: read | |
| # Required by wrangler-action for OIDC / deployments comment posting. | |
| deployments: write | |
| # Required so the post-deploy step can comment the preview URL on the PR. | |
| pull-requests: write | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - run: npm ci | |
| - name: Check plain (machine UI) coverage | |
| run: npm run check:plain | |
| - name: Build site | |
| run: npm run build | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: site-build | |
| path: dist/ | |
| retention-days: 7 | |
| # Deploy to Cloudflare Pages: | |
| # - push to main → production (pilotprotocol.pages.dev) | |
| # - PR from internal branch → preview (<branch>.pilotprotocol.pages.dev) | |
| # - PR from a fork → skipped (no secret access on forks) | |
| - name: Deploy to Cloudflare Pages | |
| id: deploy | |
| if: | | |
| github.event_name == 'push' || | |
| (github.event_name == 'pull_request' && | |
| github.event.pull_request.head.repo.full_name == github.repository) | |
| uses: cloudflare/wrangler-action@v3 | |
| with: | |
| apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} | |
| accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} | |
| # Cloudflare treats branch=main as production, anything else | |
| # as a preview environment with a branch-keyed subdomain. | |
| command: >- | |
| pages deploy dist | |
| --project-name=pilotprotocol | |
| --branch=${{ github.event_name == 'push' && 'main' || github.head_ref }} | |
| --commit-dirty=true | |
| # Sticky comment so subsequent pushes update the same comment | |
| # instead of stacking — keeps the PR thread clean. Header value | |
| # must be unique per comment kind on this repo. | |
| - name: Comment preview URL on PR | |
| if: | | |
| github.event_name == 'pull_request' && | |
| steps.deploy.outputs.deployment-url | |
| uses: marocchino/sticky-pull-request-comment@v2 | |
| with: | |
| header: cloudflare-pages-preview | |
| message: | | |
| 🚀 **Preview deployed to Cloudflare Pages** | |
| - Commit deploy URL: ${{ steps.deploy.outputs.deployment-url }} | |
| - Branch alias: `https://${{ github.head_ref }}.pilotprotocol.pages.dev` (may take ~30s to propagate) | |
| - Commit: `${{ github.event.pull_request.head.sha }}` |