Repository navigation
Conversation
commit: |
|
| mean | stddev | min | max | |
|---|---|---|---|---|
| PR | 317.2 ms | 3.5 ms | 312.9 ms | 326.6 ms |
| base | 317.1 ms | 3.4 ms | 313.1 ms | 325.4 ms |
Δ (PR vs base): — +0.2 ms (+0.1%)
Measured with hyperfine on ubuntu-latest (3 warmup runs, 20 timed runs). CI numbers carry ±a few ms of runner jitter; treat small deltas as noise.
| analyseBundle: undefined, | ||
| })); | ||
| } | ||
| if (versionId === null && !argv["dry-run"]) { |
There was a problem hiding this comment.
versionId is nullable for successful deploys too: deploy-helpers declares it as string | null and its Workers for Platforms completion path accepts and logs a null value. This check therefore makes a successfully uploaded legacy/dispatch Worker exit 1, skips image cleanup, and omits the success message. The strict non-interactive abort path already sets process.exitCode = 1 before returning its null result, so key the new failure path to that signal instead.
| if (versionId === null && !argv["dry-run"]) { | |
| if (versionId === null && !argv["dry-run"] && process.exitCode === 1) { | |
| throw new CliExit(1); | |
| } |
|
🤖 I've done a thorough review of your PR. Adds
|
| describe: "Deploy a worker to Cloudflare", | ||
| builder, | ||
| handler: async (argv) => { | ||
| if (argv.force) { |
There was a problem hiding this comment.
--dry-run makes no upload or remote conflict checks, so this warning incorrectly says the invocation may overwrite remote Worker changes. Suppress it when no deployment can occur.
| if (argv.force) { | |
| if (argv.force && !argv["dry-run"]) { |
|
🤖 I've done a thorough review of your PR. Adds
|
|
|
||
| Add `--force` to `cf deploy` for CI conflict overrides | ||
|
|
||
| Use `cf deploy --force` to upload a Worker when its last deployment came from the script API or its remote configuration conflicts with the local Build Output. Deploys remain strict by default. An aborted upload now exits without a success message, and the conflict error points to the supported `--force` option. |
There was a problem hiding this comment.
The current @cloudflare/deploy-helpers strict CI path still emits its hard-coded Wrangler advice to remove --strict; cf does not expose that flag. This changeset therefore promises behavior that this PR does not ship. Remove the claim until the upstream dependency and strictModeAbortMessage wiring are included.
| Use `cf deploy --force` to upload a Worker when its last deployment came from the script API or its remote configuration conflicts with the local Build Output. Deploys remain strict by default. An aborted upload now exits without a success message, and the conflict error points to the supported `--force` option. | |
| Use `cf deploy --force` to upload a Worker when its last deployment came from the script API or its remote configuration conflicts with the local Build Output. Deploys remain strict by default. An aborted upload now exits without a success message. |
|
🤖 I've done a thorough review of your PR. Adds
|
7eae8ac to
67e9976
Compare
|
No new concerns since the last review |
67e9976 to
7dda200
Compare
|
No new concerns since the last review |
7dda200 to
c616bc5
Compare
|
No new concerns since the last review |
Summary
--force(-f) tocf deployso CI can upload despite conflicting remote Worker changes. The default remains strict.--forcemay overwrite remote changes during a real upload. A strict CI abort returns failure without printingDeploy complete.mainand its conflicts are resolved.With
--force, deploy-helpers accepts conflicts governed by strict mode, including dashboard configuration, remote secrets, and workflows.Upstream dependency
Draft workers-sdk PR cloudflare/workers-sdk#16020 adds an injectable strict-mode abort message to deploy-helpers. Once that API is released,
cfcan pass guidance forcf deploy --forcedirectly. The current published deploy-helpers package still prints Wrangler's--strictguidance on a strict CI abort; this draft PR should remain open until the upstream release is integrated.Validation
git diff --check.esbuildunavailable locally.Addresses #69. The override is scoped to
cf deploy.