Skip to content

Add end-to-end build pipeline - #1

Merged
stuinfla merged 4 commits into
mainfrom
feature/build-pipeline
Jun 26, 2026
Merged

Add end-to-end build pipeline#1
stuinfla merged 4 commits into
mainfrom
feature/build-pipeline

Conversation

@stuinfla

Copy link
Copy Markdown
Owner

Summary

  • Adds GitHub Actions workflow (build-explainer.yml) with 9-phase pipeline triggered via workflow_dispatch
  • Updates /api/build endpoint to create status gist, fire workflow dispatch, and return build tracking info
  • Creates /api/status endpoint for polling public gist status (no auth needed)
  • Rewrites front-end progress UI: 9-step tracker with real-time polling, exponential backoff, success/failure states
  • Adds optional email notification input and Resend API integration
  • Creates scripts/update-gist-status.sh helper for gist updates from pipeline phases

Test plan

  • Verify /api/build validates URLs correctly (valid repo, invalid URL, private repo, 404 repo)
  • Verify gist is created with correct initial status JSON
  • Verify workflow_dispatch fires on valid submission
  • Verify /api/status returns gist JSON for valid build ID + gist ID
  • Verify front-end polling updates step indicators correctly
  • Verify exponential backoff on network errors
  • Verify success UI shows correct links when pipeline completes
  • Verify failure UI shows error message and Try Again button
  • Verify email input is optional and passes through correctly
  • Verify mobile responsiveness of progress UI

🤖 Generated with Claude Code

Stuart Kerr added 4 commits June 25, 2026 23:19
…, real-time progress UI

- .github/workflows/build-explainer.yml: 9-phase pipeline triggered via workflow_dispatch,
  gist-based progress tracking, Vercel deployment, email notification via Resend
- scripts/update-gist-status.sh: helper to PATCH gist status JSON from each pipeline phase
- www/api/build.js: validates repo, creates status gist, fires workflow_dispatch
- www/api/status.js: polling endpoint that reads public gist (no auth required)
- www/main.js: 9-step progress tracker with polling, exponential backoff, success/failure UIs
- www/index.html: added optional email input for build notifications
- www/styles.css: pipeline output panel styles (timer, error, links)
- www/vercel.json: added GET to CORS methods for status endpoint
…itecture docs

- Phase 7 now invites the target repo owner as collaborator with push access
- README rewritten with: automated pipeline flow diagram, 9-phase table,
  progress tracking architecture, collaborator workflow, required secrets,
  architecture diagram, expanded tech stack
- build-pipeline-flow.svg: 3-column swim lane showing user → Vercel → GitHub Actions flow
- architecture.svg: project structure with internal components and external services
- what-you-get-automated.svg: 5-item delivery checklist (repo, site, issue, email, PR)
- README updated to show SVGs with ASCII art in collapsible details blocks
…us messages

- Each step shows description and estimated duration (visible when active)
- Elapsed timer shows estimated time remaining
- Status bar shows plain-language description of current step
- Graceful fallback when pipeline dispatch isn't live yet
- Success result explains collaborator access
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant