Skip to content

chore: add cloudflare deploy script wrapper, add post-deploy smoke check, run TS helper scripts with tsx#47

Closed
toddeTV wants to merge 5 commits into
mainfrom
fix/cloudflare-deploy-wrapper-and-smoke-check
Closed

chore: add cloudflare deploy script wrapper, add post-deploy smoke check, run TS helper scripts with tsx#47
toddeTV wants to merge 5 commits into
mainfrom
fix/cloudflare-deploy-wrapper-and-smoke-check

Conversation

@toddeTV
Copy link
Copy Markdown
Owner

@toddeTV toddeTV commented May 23, 2026

Summary by CodeRabbit

  • New Features

    • Added automated post-deployment health checks to verify the application is accessible after each Cloudflare Pages deployment.
  • Chores

    • Enhanced deployment process with validation of credentials and build artifacts before deployment.
    • Updated build and verification scripts to use TypeScript execution.

Review Change Stack

@toddeTV toddeTV self-assigned this May 23, 2026
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/cloudflare-deploy.yml:
- Around line 58-61: Replace the hardcoded CLOUDFLARE_PAGES_PROJECT_NAME value
with the GitHub Variable mapping; update the workflow env entry for
CLOUDFLARE_PAGES_PROJECT_NAME to use ${{ vars.CLOUDFLARE_PAGES_PROJECT_NAME }}
so it follows the repo's env-var naming convention (match .env.example) instead
of the literal "todde-tv".
- Around line 63-73: The post-deploy-smoke-test job currently only runs the
command "vp run verify:cloudflare:smoke" in the "Verify public routes" step;
update the job to first checkout the repo, install/setup the vp CLI, and install
project dependencies before running that command. Specifically add an
actions/checkout step, a step to install or setup "vp" (or use the appropriate
setup action/binary install for vp), and a dependency install step (e.g., npm ci
/ pnpm install / yarn install matching the project) placed before the step that
runs "vp run verify:cloudflare:smoke", ensuring the "Verify public routes" step
runs in a checked-out workspace with vp available and dependencies installed.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: f8b72e50-1752-409e-97c1-a0c674365b4e

📥 Commits

Reviewing files that changed from the base of the PR and between 3838749 and 33327a9.

📒 Files selected for processing (5)
  • .github/workflows/cloudflare-deploy.yml
  • package.json
  • scripts/check-cloudflare-smoke.ts
  • scripts/deploy-cloudflare.ts
  • scripts/generate-redirects.ts

@toddeTV toddeTV changed the title fix: add cloudflare deploy script wrapper, add post-deploy smoke check, run TS helper scripts with tsx chore: add cloudflare deploy script wrapper, add post-deploy smoke check, run TS helper scripts with tsx May 23, 2026
coderabbitai[bot]

This comment was marked as outdated.

Repository owner deleted a comment from coderabbitai Bot May 23, 2026
Repository owner deleted a comment from coderabbitai Bot May 23, 2026
Repository owner deleted a comment from coderabbitai Bot May 23, 2026
Repository owner deleted a comment from coderabbitai Bot May 23, 2026
@toddeTV toddeTV force-pushed the fix/cloudflare-deploy-wrapper-and-smoke-check branch from c9aa4ba to ea98e38 Compare May 23, 2026 14:35
Repository owner deleted a comment from coderabbitai Bot May 23, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 23, 2026

Caution

Failed to replace (edit) comment. This is likely due to insufficient permissions or the comment being deleted.

Error details
{"name":"HttpError","status":404,"request":{"method":"PATCH","url":"https://api.github.com/repos/toddeTV/todde.tv/issues/comments/4525681843","headers":{"accept":"application/vnd.github.v3+json","user-agent":"octokit.js/0.0.0-development octokit-core.js/7.0.6 Node.js/24","authorization":"token [REDACTED]","content-type":"application/json; charset=utf-8"},"body":{"body":"<!-- This is an auto-generated comment: summarize by coderabbit.ai -->\n<!-- walkthrough_start -->\n\n<details>\n<summary>📝 Walkthrough</summary>\n\n## Walkthrough\n\nReplaces the Cloudflare Pages deployment workflow with custom scripts: a new deploy script validates credentials and Pages project existence before invoking Wrangler, and a new smoke-test script performs post-deployment URL verification with retry logic. npm scripts are updated to execute TypeScript via `vp dlx tsx@4.21.0`, and the workflow now runs deploy and smoke-test jobs sequentially with environment variable wiring.\n\n## Changes\n\n**Cloudflare Deployment and Validation Pipeline**\n\n|Layer / File(s)|Summary|\n|---|---|\n|**Cloudflare deployment script with credential and project validation** <br> `scripts/deploy-cloudflare.ts`|Validates required Cloudflare env vars (`CLOUDFLARE_API_TOKEN`, `CLOUDFLARE_ACCOUNT_ID`, `CLOUDFLARE_PAGES_PROJECT_NAME`), verifies the local `.output/public` build artifact exists, confirms the Pages project is accessible via Cloudflare API with timeout handling and error formatting, rejects `--project-name` CLI args, and executes Wrangler Pages deploy with telemetry disabled.|\n|**Post-deployment smoke testing with retry orchestration** <br> `scripts/check-cloudflare-smoke.ts`|Resolves `BASE_URL` from env with fallback to `https://todde.tv`, defines fixed public paths (`/` and `/humans.txt`), fetches each URL in parallel with request and total timeout enforcement, validates status `200` and non-empty body, logs per-attempt diagnostics, retries on failures up to the total deadline, and exits with success on all URLs passing.|\n|**Script registration, npm wiring, and workflow orchestration** <br> `package.json`, `scripts/generate-redirects.ts`, `.github/workflows/cloudflare-deploy.yml`|Updates `build:ssg` and `test:redirects` scripts to run TypeScript via `vp dlx tsx@4.21.0` instead of `node`, adds `verify:cloudflare:smoke` script, updates redirect error messages to reference the new command format, replaces the workflow's `cloudflare/wrangler-action` deploy step with `vp run deploy:cloudflare:page` using env var wiring, and adds a dependent `post-deploy-smoke-test` job that runs post-deployment verification.|\n\n## Sequence Diagram(s)\n\n```mermaid\nsequenceDiagram\n  participant Entrypoint as main()\n  participant Resolve as resolveBaseUrl\n  participant BuildURLs as buildSmokeUrls\n  participant RetryLoop as RetryLoop\n  participant Check as checkUrl (parallel)\n  participant Log as Logger\n\n  Entrypoint->>Resolve: read BASE_URL\n  Resolve-->>Entrypoint: URL\n  Entrypoint->>BuildURLs: map paths to URLs\n  BuildURLs-->>Entrypoint: URL[]\n  Entrypoint->>RetryLoop: start attempts\n  RetryLoop->>Check: fetch all URLs in parallel\n  Check-->>RetryLoop: SmokeCheckResult[]\n  alt all ok\n    RetryLoop->>Log: log successes and exit\n  else failures\n    RetryLoop->>Log: log failures\n    alt deadline exceeded\n      Log-->>RetryLoop: throw timeout error\n    else wait and retry\n      RetryLoop->>RetryLoop: wait RETRY_DELAY_MS\n    end\n  end\n```\n\n## Estimated code review effort\n\n🎯 3 (Moderate) | ⏱️ ~25 minutes\n\n## Possibly related PRs\n\n- [toddeTV/todde.tv#46](https://github.com/toddeTV/todde.tv/pull/46): Both PRs modify the Cloudflare deployment workflow to use Vite+/vp tooling instead of pnpm/wrangler-action.\n- [toddeTV/todde.tv#39](https://github.com/toddeTV/todde.tv/pull/39): Updates redirect generation tooling to run via `vp dlx tsx@4.21.0` and adjusts regeneration error messages, overlapping with this PR's script and npm script changes.\n\n</details>\n\n<!-- walkthrough_end -->\n<!-- pre_merge_checks_walkthrough_start -->\n\n<details>\n<summary>🚥 Pre-merge checks | ✅ 5</summary>\n\n<details>\n<summary>✅ Passed checks (5 passed)</summary>\n\n|         Check name         | Status   | Explanation                                                                                                                                                                             |\n| :------------------------: | :------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n|      Description Check     | ✅ Passed | Check skipped - CodeRabbit’s high-level summary is enabled.                                                                                                                             |\n|         Title check        | ✅ Passed | The title accurately summarizes the main changes: adding a Cloudflare deploy script wrapper, a post-deploy smoke check, and running TypeScript helper scripts with tsx instead of node. |\n|     Docstring Coverage     | ✅ Passed | Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.                                                                                                    |\n|     Linked Issues check    | ✅ Passed | Check skipped because no linked issues were found for this pull request.                                                                                                                |\n| Out of Scope Changes check | ✅ Passed | Check skipped because no linked issues were found for this pull request.                                                                                                                |\n\n</details>\n\n<sub>✏️ Tip: You can configure your own custom pre-merge checks in the settings.</sub>\n\n</details>\n\n<!-- pre_merge_checks_walkthrough_end -->\n<!-- tips_start -->\n\n---\n\n\n\n\n<sub>Comment `@coderabbitai help` to get the list of available commands and usage tips.</sub>\n\n<!-- tips_end -->\n<!-- internal state start -->\n\n\n<!-- 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= -->\n\n<!-- internal state end -->"},"request":{"retryCount":1,"signal":{}}},"response":{"url":"https://api.github.com/repos/toddeTV/todde.tv/issues/comments/4525681843","status":404,"headers":{"access-control-allow-origin":"*","access-control-expose-headers":"ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset, Warning","content-encoding":"gzip","content-security-policy":"default-src 'none'","content-type":"application/json; charset=utf-8","date":"Sat, 23 May 2026 14:38:33 GMT","referrer-policy":"origin-when-cross-origin, strict-origin-when-cross-origin","server":"github.com","strict-transport-security":"max-age=31536000; includeSubdomains; preload","transfer-encoding":"chunked","vary":"Accept-Encoding, Accept, X-Requested-With","x-accepted-github-permissions":"issues=write; pull_requests=write","x-content-type-options":"nosniff","x-frame-options":"deny","x-github-api-version-selected":"2022-11-28","x-github-media-type":"github.v3; format=json","x-github-request-id":"0589:2BAFBF:AE1EEAD:29E0C275:6A11BBE8","x-ratelimit-limit":"5000","x-ratelimit-remaining":"4887","x-ratelimit-reset":"1779548689","x-ratelimit-resource":"core","x-ratelimit-used":"113","x-xss-protection":"0"},"data":{"message":"Not Found","documentation_url":"https://docs.github.com/rest/issues/comments#update-an-issue-comment","status":"404"}}}

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
.github/workflows/cloudflare-deploy.yml (1)

70-89: ⚡ Quick win

Parameterize smoke-test base URL to avoid deploy/verify drift.

The smoke check currently targets a fixed URL, while the deploy target is configurable. This can validate the wrong site if project/domain config changes.

Proposed change
       - name: Verify public routes
         env:
-          BASE_URL: https://todde.tv
+          BASE_URL: ${{ vars.CLOUDFLARE_SMOKE_BASE_URL != '' && vars.CLOUDFLARE_SMOKE_BASE_URL || 'https://todde.tv' }}
         run: vp run verify:cloudflare:smoke
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/cloudflare-deploy.yml around lines 70 - 89, Replace the
hardcoded BASE_URL used for the smoke check with a parameterized value derived
from the workflow/deploy configuration (e.g., a workflow input, environment
variable, or previous job output) so the smoke test targets the same deploy
target; update the job step that sets env BASE_URL and the "vp run
verify:cloudflare:smoke" invocation to consume that variable (replace the
literal BASE_URL=https://todde.tv with BASE_URL from the workflow
input/env/output) and document the new input/env name so deploy and verify
remain in sync.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In @.github/workflows/cloudflare-deploy.yml:
- Around line 70-89: Replace the hardcoded BASE_URL used for the smoke check
with a parameterized value derived from the workflow/deploy configuration (e.g.,
a workflow input, environment variable, or previous job output) so the smoke
test targets the same deploy target; update the job step that sets env BASE_URL
and the "vp run verify:cloudflare:smoke" invocation to consume that variable
(replace the literal BASE_URL=https://todde.tv with BASE_URL from the workflow
input/env/output) and document the new input/env name so deploy and verify
remain in sync.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: ede2a756-09e4-4ee9-9fe2-b645574db63a

📥 Commits

Reviewing files that changed from the base of the PR and between c9aa4ba and ea98e38.

📒 Files selected for processing (1)
  • .github/workflows/cloudflare-deploy.yml

@toddeTV
Copy link
Copy Markdown
Owner Author

toddeTV commented May 23, 2026

Problems with CodeRabbit. I will close this PR and re-create it.
New PR: #48

@toddeTV toddeTV closed this May 23, 2026
Repository owner deleted a comment from coderabbitai Bot May 23, 2026
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