Skip to content

docs: git releases rfc#1014

Merged
adityachoudhari26 merged 1 commit into
mainfrom
git-release-rfc
Apr 20, 2026
Merged

docs: git releases rfc#1014
adityachoudhari26 merged 1 commit into
mainfrom
git-release-rfc

Conversation

@adityachoudhari26
Copy link
Copy Markdown
Member

@adityachoudhari26 adityachoudhari26 commented Apr 20, 2026

Summary by CodeRabbit

  • Documentation
    • Added RFC documentation outlining automatic deployment version creation from GitHub release webhooks. The guide details the end-to-end flow for webhook processing, deployment selection via metadata selectors, and version creation using release tags.

Copilot AI review requested due to automatic review settings April 20, 2026 21:19
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 20, 2026

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

A new RFC document was added that describes an approach to auto-create deployment versions from GitHub release webhooks using CEL selectors stored in deployment metadata, including end-to-end flow specifications, webhook verification, selector evaluation logic, and error handling behavior.

Changes

Cohort / File(s) Summary
RFC Documentation
docs/rfc/0011-github-releases.mdx
New RFC defining the mechanism for auto-creating deployment versions from GitHub release webhooks, including webhook routing, signature verification, CEL selector evaluation against deployment metadata, version creation logic, required GitHub App permissions, and error handling specifications.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 A releases RFC hops into view,
With selectors and webhooks and CEL shining through,
GitHub's releases now trigger deployment cheer,
Versions auto-created—no manual gear!
Documentation drafted, the path now is clear! 🚀

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'docs: git releases rfc' directly describes the main change—adding a new RFC document about GitHub releases—and is clear and specific about the documentation addition.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch git-release-rfc

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@adityachoudhari26 adityachoudhari26 merged commit c16a998 into main Apr 20, 2026
8 of 9 checks passed
@adityachoudhari26 adityachoudhari26 deleted the git-release-rfc branch April 20, 2026 21:21
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a draft RFC describing a proposed GitHub release webhook integration that auto-creates Ctrlplane deployment versions by evaluating a CEL selector stored in deployment metadata.

Changes:

  • Introduces RFC 0011 documenting the problem of mapping GitHub releases to deployments (especially for monorepos).
  • Proposes a single git/release-selector CEL metadata key and an evaluation flow for release events.
  • Defines the intended CEL evaluation context and outlines basic error-handling behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +39 to +45
previousTag: string | null // compare API
changedPaths: string[] // compare API
commits: { sha, message, author }[] // compare API
```

Only the bottom block requires an API call (`GET /repos/{o}/{r}/compare/{prev}...{tag}`).

Comment on lines +25 to +29
1. `release` webhook hits `apps/api/src/routes/github/release.ts`.
2. Verify signature, resolve installation.
3. Build CEL context.
4. For every deployment with `git/release-selector` in metadata, evaluate.
5. Match → create deployment version with `release.tag_name` as the version.
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.

2 participants