harness: run the pinned wrangler through a deploy, against a stub of the Cloudflare API

Open
#282 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
github-actions, shell
Domain
ci-cd, testing

Research direction

Start by reading the existing preview-cli-install and preview-cloudflare-url harness jobs and the deploy step in preview-cloudflare; the issue also points to wrangler-dist/cli.js for the API base URL and deploy behavior. Check which Pages endpoints the pinned wrangler calls, then assess the effort to stub them and keep the stub aligned with releases. Done means a harness job deploys with the pinned CLI, verifies the output record and both URLs using a stub subdomain different from the project name, and posts no comment.

Written by the indexing model from the issue text.

Description

enhancement low-priority

Found while building #281 (#216), which reads the deploy URL from wrangler's pages-deploy-detailed record.

preview-cli-install shows that the pinned wrangler installs and starts, and preview-cloudflare-url (#216) runs preview-cloudflare's deploy step against a stub of wrangler. But no harness job runs the real wrangler through a deploy. So a Dependabot bump that changes what wrangler pages deploy calls, prints or writes to WRANGLER_OUTPUT_FILE_PATH merges with no signal until the next release's canary. Until then, a change to the record would leave every caller on the fallback warning.

wrangler takes its API base URL from CLOUDFLARE_API_BASE_URL (wrangler-dist/cli.js:25345 in 4.156.1), and the action does not override it. A harness job could serve a stub of the Pages endpoints a direct-upload deploy calls on localhost: the project, the upload token, the asset check and upload, creating the deployment, and its status. It could then run uses: ./preview-cloudflare with that variable in the job's env and a dispatch alias, so that no comment is posted. It would assert that the deploy succeeds with the pinned CLI, that the record is written, and that deploy-url and deployment-url are built from the stub's subdomain, including one that differs from the project's name.

The cost is a stub of about six endpoints, including an upload JWT whose expiry wrangler checks, kept in step with what each wrangler release calls. Whether that is worth it depends on how long preview-cloudflare stays the Cloudflare preview: wrangler 4.156.1 calls a direct Pages deploy "the previous version of Cloudflare Pages" (wrangler-dist/cli.js:308808), and #145 adds preview-workers.

Low priority: the release canary already runs the real wrangler against the live API before v0 moves, so this would move the signal earlier, to the Dependabot pull request, rather than add one that is missing.

Claude Code (on behalf of mmcky), drafted by the mini:actions-cloudflare session and filed by the organiser

Dominant language
Shell
Stars
0
Forks
1
Avg merge
20h 3m
Merged PRs (30d)
48

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from QuantEcon/actions

All issues in QuantEcon/actions

Similar issues

More Shell/Bash issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.