fix(cli): wmill sync pull updates wmill-lock.yaml for raw apps#9289
Conversation
|
Claude finished @hugocasa's task in 1m 31s —— View job Good to merge FindingsThe one-line change is correct and minimal. Signature trace — Why the old Sibling parity — the normal-apps loop right below ( Push side is unaffected — the push-side pass 1 ( AGENTS.md complianceNo violations — single-line behavior fix, no new public surface, no module placement concerns. Test coverage
|
|
The PR is a single-line, one-character fix. The change is clearly correct based on the function's logic:
No AGENTS.md violations, no new public surfaces, no security concerns. Pi ReviewGood to merge Test coverageCLI (TypeScript) — the codebase has no test infrastructure for the CLI sync module ( Manual verification — the PR body already describes the manual test plan: in a workspace with a raw app, edit a backend runnable on the remote, run |
Deploying windmill with
|
| Latest commit: |
42de9b6
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://aae9bd8b.windmill.pages.dev |
| Branch Preview URL: | https://sync-pull-wmill-locks-raw-ap.windmill.pages.dev |
Codex ReviewGood to merge No issues found. Checked for bugs, security, AGENTS.md compliance, public surfaces, and test coverage. Test coverageThe diff does not add automated coverage for this raw-app pull lockfile path; that is not a merge blocker for the one-line fix, but a regression case in the existing CLI raw-app sync tests would be useful. Manual verification still needed: run |
Summary
wmill sync pullwas failing to refreshwmill-lock.yamlentries for raw apps. The hashes for raw-app inline scripts/backend runnables stayed stale after pulling remote changes, even though the loop was visibly loggingUpdating lock metadata for raw app ….The raw-apps loop in
pull()was passingdryRun: truetogenerateAppLocksInternal, which makes the function return without ever callingupdateMetadataGlobalLock. The sibling normal-apps loop directly below already passesdryRun: false— this was a copy/paste leftover from the push side, wheredryRun: trueis intentional (push only consumes the staleness return value).History: commit
99b1ae2e0introduced the buggydryRun: true;cd4151a84later fixed the siblingrawAppflag but misseddryRun.Changes
dryRunfromtruetofalsein the raw-apps loop ofpull()(cli/src/commands/sync/sync.ts:2861) so locks are actually written.Test plan
wmill sync pulllocally, and confirm the raw app's hash inwmill-lock.yamlchanges.wmill sync push --dry-runand confirm the raw app is reported as up-to-date (no stale-lock warning).Summary by cubic
Fixes
wmill sync pullnot updatingwmill-lock.yamlfor raw apps. Lock metadata now persists, so hashes for inline scripts and backend runnables refresh after pulling and subsequent pushes show up-to-date.dryRun: falsewhen callinggenerateAppLocksInternalfor raw apps during pull, ensuringupdateMetadataGlobalLockruns and writes the lock.Written for commit 42de9b6. Summary will update on new commits. Review in cubic