Skip to content

feat(github): add bounded activity backfills - #85

Merged
f0rr0 merged 2 commits into
nextfrom
f0rr0/automate-supabase-migrations
Aug 29, 2026
Merged

feat(github): add bounded activity backfills#85
f0rr0 merged 2 commits into
nextfrom
f0rr0/automate-supabase-migrations

Conversation

@f0rr0

@f0rr0 f0rr0 commented Aug 29, 2026

Copy link
Copy Markdown
Owner

Summary

  • add a manually dispatched Backfill GitHub activity Action with inclusive UTC start/end dates, credential selection, optional opaque repository ID, and configurable immediate worker passes
  • queue durable, idempotent closed Git history windows through a dedicated authenticated production endpoint
  • teach commit history acquisition to use GraphQL history(since:, until:) without requiring a historical page to end at the repository current head
  • split large requests into 31-day windows, collapse refs sharing a head, batch database writes and worker processing, and cap one dispatch at 366 days / 5,000 observations
  • add migration 0010 for observation-specific history bounds and keep automatic production migration delivery through Vercel
  • centralize application, Drizzle, and maintenance-script configuration in the existing T3 Env schema
  • tune the routine worker batch from 2 to 4 while retaining the backfill batch of 8, the 90-second worker deadline, and the shared 120-second Supabase Cron request bound
  • make the 30-day open-PR reconciliation horizon a reviewed code policy instead of an environment variable

Security and operations

  • the Action receives no database URL and no GitHub account tokens
  • it uses only the dedicated ACTIVITY_BACKFILL_SECRET, already mirrored to production as GITHUB_BACKFILL_SECRET
  • targeted private repositories use a numeric repository ID so their names do not appear in public workflow inputs or summaries
  • rerunning a completed range is a no-op; deferred or unavailable observations are requeued
  • the normal five-minute worker completes any work left after the selected immediate passes
  • environment variables are limited to secrets, connection URLs, and platform-provided deployment values; schedules, batches, windows, retry counts, and provider ceilings stay in code

Validation

  • 126 tests passing, including PostgreSQL migration/persistence coverage
  • bun run typecheck
  • bun run lint
  • bunx drizzle-kit check
  • actionlint
  • production bun run build
  • authenticated GitHub GraphQL proof that a closed since/until window returns historical commits without requiring the current ref head

@vercel

vercel Bot commented Aug 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
f0rr0-github-io Ready Ready Preview Aug 29, 2026 5:11pm

@f0rr0
f0rr0 merged commit 519d3d7 into next Aug 29, 2026
3 checks passed
@f0rr0
f0rr0 deleted the f0rr0/automate-supabase-migrations branch August 29, 2026 17:14
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