Skip to content

Comments

feat: move GitHub webhook processing into Restate#5099

Draft
Flo4604 wants to merge 2 commits intofeat/webhook-out-of-order-guardfrom
feat/webhook-restate
Draft

feat: move GitHub webhook processing into Restate#5099
Flo4604 wants to merge 2 commits intofeat/webhook-out-of-order-guardfrom
feat/webhook-restate

Conversation

@Flo4604
Copy link
Member

@Flo4604 Flo4604 commented Feb 19, 2026

What does this PR do?

Fixes # (issue)

If there is not an issue for this, please create one first. This is used to tracking purposes and also helps us understand why this PR exists

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • Chore (refactoring code, technical debt, workflow improvements)
  • Enhancement (small improvements)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How should this be tested?

  • Test A
  • Test B

Checklist

Required

  • Filled out the "How to test" section in this PR
  • Read Contributing Guide
  • Self-reviewed my own code
  • Commented on my code in hard-to-understand areas
  • Ran pnpm build
  • Ran pnpm fmt
  • Ran make fmt on /go directory
  • Checked for warnings, there are none
  • Removed all console.logs
  • Merged the latest changes from main onto my branch with git pull origin main
  • My changes don't cause any responsiveness issues

Appreciated

  • If a UI change was made: Added a screen recording or screenshots to this PR
  • Updated the Unkey Docs if changes were necessary

@vercel
Copy link

vercel bot commented Feb 19, 2026

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

Project Deployment Actions Updated (UTC)
dashboard Ready Ready Preview, Comment Feb 20, 2026 0:22am
engineering Ready Ready Preview, Comment Feb 20, 2026 0:22am

Request Review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 19, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/webhook-restate

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Member Author

Flo4604 commented Feb 19, 2026

@Flo4604 Flo4604 changed the base branch from feat/webhook-dedup to graphite-base/5099 February 19, 2026 22:18
@Flo4604 Flo4604 force-pushed the feat/webhook-restate branch from 5c98b6f to 26c30cf Compare February 19, 2026 22:18
@Flo4604 Flo4604 force-pushed the feat/webhook-restate branch from 26c30cf to 95cbcaf Compare February 20, 2026 04:46
@Flo4604 Flo4604 changed the base branch from graphite-base/5099 to feat/webhook-out-of-order-guard February 20, 2026 04:46
@Flo4604 Flo4604 force-pushed the feat/webhook-out-of-order-guard branch from 9abe5bd to c810ba7 Compare February 20, 2026 04:54
@Flo4604 Flo4604 force-pushed the feat/webhook-restate branch from 95cbcaf to ef4aafd Compare February 20, 2026 04:54
@Flo4604 Flo4604 force-pushed the feat/webhook-out-of-order-guard branch from c810ba7 to d1856a5 Compare February 20, 2026 08:26
@Flo4604 Flo4604 force-pushed the feat/webhook-restate branch from ef4aafd to 7aef4ae Compare February 20, 2026 08:26
@Flo4604 Flo4604 force-pushed the feat/webhook-out-of-order-guard branch from d1856a5 to ecacf4a Compare February 20, 2026 10:34
Thins the HTTP handler to: validate signature → parse payload → send to
Restate → return 200. All DB work moves into a new GitHubWebhookService
(VIRTUAL_OBJECT keyed by installation_id/repo_id) that serializes
processing per repository and retries automatically on failure.

X-GitHub-Delivery is passed as the Restate idempotency key for natural
deduplication of retried deliveries.
Replace FindAppByProjectAndSlug("default") with FindAppById(repo.AppID)
for app-scoped deployments. Change all per-connection error paths from
return nil,err to continue with logging, so one bad connection cannot
prevent other connections from deploying.
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