Switch to branch deployments in one-click deployments
Ditches the release tag based deployments on one-click deployments, and rather uses branches instead. This means target repository doesn't need to have releases anymore.
Summary by CodeRabbit
-
New Features
- Branch-based deployments: detect branches from repo URLs, load/validate branches and add a branch selector in deploy flows.
- Quick deploy via URL to create sites/functions and start deployments automatically.
- Environment variable parsing supports KEY and KEY=VALUE pairs with prefilled values.
-
Bug Fixes / Improvements
- Default runtime updated to Node22; removed tag-based deployment paths in favor of branches.
- Improved error handling, user notifications and billing/project-limit UI guards; payload now exposes parsed env vars.
βοΈ Tip: You can customize this high-level summary in your review settings.
Console (appwrite/console)
Project ID: 688b7bf400350cbd60e9
Sites (1)
| Site | Status | Logs | Preview | QR |
|---|---|---|---|---|
Β console-stage688b7cf6003b1842c9dc |
![]() |
View Logs | Preview URL |
[!TIP] Messaging handles push notifications, emails, and SMS through one unified API
Walkthrough
Replaced tag-based deployment flows with branch-based flows across console and public pages for functions and sites. Added Git helpers: getBranchFromUrl, getBranches, validateBranch, and loadAndSelectBranch; removed some getLatestTag usages and certain console.error logs. Pages now load/validate branches, expose selectedBranch/branches, and create deployments with Type.Branch referencing the selected branch. Introduced parseEnvParam and a structured envVars: Array<{ key: string; value: string }> while keeping envKeys for backward compatibility. Added quick-deploy automations that create resources, domain rules, environment variables, and deployments, adjusted load signatures/returns, and bumped default function runtime to Runtime.Node22.
Estimated code review effort
π― 4 (Complex) | β±οΈ ~60 minutes
Areas requiring extra attention:
- New Git helpers and branch-loading API interactions (
getBranchFromUrl,getBranches,validateBranch,loadAndSelectBranch) β URL parsing, fetch/error handling, and fallback semantics. -
parseEnvParamand compatibility mapping betweenenvVarsand legacyenvKeys. - Async branch-loading and validation flows in Svelte pages (onMount and load handlers) β potential race conditions and UI disabled states.
- Quick-deploy flows that create resources, domain rules, environment variables, and deployments, plus redirect/error handling.
- Changes to load function signatures and returned payloads consumed by multiple routes (ensure callers handle
envVarsand optionalbranch).
Pre-merge checks and finishing touches
β Failed checks (1 warning)
| Check name | Status | Explanation | Resolution |
|---|---|---|---|
| Docstring Coverage | β οΈ Warning | Docstring coverage is 22.22% which is insufficient. The required threshold is 80.00%. | You can run @coderabbitai generate docstrings to improve docstring coverage. |
β Passed checks (2 passed)
| Check name | Status | Explanation |
|---|---|---|
| Description Check | β Passed | Check skipped - CodeRabbitβs high-level summary is enabled. |
| Title check | β Passed | The title 'Switch to branch deployments in one-click deployments' accurately and specifically summarizes the primary change: replacing release tag-based deployments with branch-based deployments across one-click deployment flows. |
β¨ Finishing touches
- [ ] π Generate docstrings
π§ͺ Generate unit tests (beta)
- [ ] Create PR with unit tests
- [ ] Post copyable unit tests in a comment
- [ ] Commit unit tests in branch
one-click-updates
π Recent review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
π₯ Commits
Reviewing files that changed from the base of the PR and between 7bc21f2a4715d78633b615652d5a67639c283d9a and 6e2724bbe4b27dbd7d6af31ed68bea9084fb24c0.
π Files selected for processing (1)
-
src/lib/helpers/github.ts(2 hunks)
π§ Files skipped from review as they are similar to previous changes (1)
- src/lib/helpers/github.ts
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.
Comment @coderabbitai help to get the list of available commands and usage tips.
