[codex] add quota-triggered Deno 2 app GC#19
Conversation
cdb031f to
1c742bd
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1c742bd00a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| return generatedAfterUosApp.test(slug) || /^pr-\d+-/.test(slug) || /-pr-\d+(?:-|$)/.test(slug); | ||
| } | ||
|
|
||
| const client = new Client(); |
There was a problem hiding this comment.
Provide org to quota GC Client initialization
run_deno2_quota_gc creates the SDK client with new Client() but never passes the organization slug, even though the @deno/sandbox BaseClientOptions docs state org is required when using a personal access token. In repos that use PAT-based DENO_DEPLOY_TOKEN (the same workflows already pass --org to deno deploy commands), this GC path will fail before it can list/delete candidates, so quota-triggered retries do not work when app creation hits the limit.
Useful? React with 👍 / 👎.
1c742bd to
015dcfd
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 015dcfd093
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| # shellcheck disable=SC2016 | ||
| GC_TARGET_APP="$project" \ | ||
| GC_PROJECT="${PROJECT:-}" \ | ||
| GC_PREVIEW_PROJECT="${PREVIEW_PROJECT:-}" \ |
There was a problem hiding this comment.
Protect the resolved preview slug during quota GC
Pass the computed preview project slug here instead of ${PREVIEW_PROJECT}. When callers omit preview_project (the common/default case), PREVIEW_PROJECT is empty and the workflow derives the preview slug earlier in Determine target project; because this value is not forwarded into GC_PREVIEW_PROJECT, the active preview app is not added to protectedApps. If deno2_quota_gc_candidate_prefixes is configured broadly (for example to match p-... branch/preview naming), the GC path can delete the current preview app even though it is intended to be protected.
Useful? React with 👍 / 👎.
169e9ab to
7eee9d2
Compare
|
@codex review |
|
Codex Review: Didn't find any major issues. Keep it up! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
7eee9d2 to
ae8b8e7
Compare
|
@coderabbitai review |
|
@codex review |
✅ Actions performedReview triggered.
|
|
Warning Rate limit exceeded
To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe pull request introduces Deno 2 quota garbage-collection functionality to the deployment workflow. Three new configurable inputs are added: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Review rate limit: 0/1 reviews remaining, refill in 52 minutes and 3 seconds.Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: e75bfb10-f73a-4ed2-81e4-7ebaf3223e86
📒 Files selected for processing (2)
.github/workflows/deno-deploy-reusable.ymlREADME.md
|
Codex Review: Didn't find any major issues. Bravo. ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
ae8b8e7 to
7e5940b
Compare
|
@coderabbitai review |
|
@codex review |
✅ Actions performedReview triggered.
|
|
Codex Review: Didn't find any major issues. 🚀 ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Dismissed after addressing CodeRabbit feedback on the latest PR head. The quota matcher now requires APP_LIMIT_EXCEEDED as a standalone token, the CodeRabbit thread is resolved, Codex reported no major issues, and CI is green.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7e5940b4f2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| echo "Attempting Deno 2 quota GC before retrying app creation." | ||
| # shellcheck disable=SC2016 | ||
| GC_TARGET_APP="$project" \ | ||
| GC_PROJECT="${PROJECT:-}" \ |
There was a problem hiding this comment.
Protect resolved production slug during quota GC
Use the resolved production slug here instead of the raw PROJECT input. When callers omit project (the default path), PROJECT is empty, and in preview mode GC_TARGET_APP/GC_PREVIEW_PROJECT both point to the preview app, so the production app never enters protectedApps (protectedApps is built from target, project, previewProject, and custom entries). With a broad deno2_quota_gc_candidate_prefixes value, the GC filter can then select and delete the production app, contradicting the documented guarantee that production is always protected.
Useful? React with 👍 / 👎.
Summary
Behavior
deno deploy createfails with Deno's app quota error code.APP_LIMIT_EXCEEDED, not the human message text.Validation
ACTIONLINT_PATHS=. ./scripts/lint-actions.shgit diff --check400,APP_LIMIT_EXCEEDEDAPP_LIMIT_EXCEEDEDai-ubq-fi-codex-fix-responses-deas a current GC candidate