Skip to content
This repository was archived by the owner on Oct 28, 2026. It is now read-only.

Stop syncing cw_cache/ contents between hosts - #30

Merged
Zippybonzo merged 1 commit into
mainfrom
claude/deployment-composer-merge-plugins-1hk6gi
Aug 24, 2026
Merged

Zippybonzo merged 1 commit into
mainfrom
claude/deployment-composer-merge-plugins-1hk6gi

Conversation

@Zippybonzo

@Zippybonzo Zippybonzo commented Aug 24, 2026 •

Copy link
Copy Markdown
Member

cw_cache/ is generated per host rather than deployed, but it was not in the rsync exclude list. A full-tree sync therefore shipped staging's copy over each appserver's, and --delete-after removed any entry only that host had.

It now sits alongside cache/*, images/* and l10n_cache/* in RSYNC_EXCLUDES. Two details worth being explicit about:

  • The directory itself still lands; only its contents are skipped.
  • --delete-excluded is not passed, so each receiver's own cw_cache files are protected from --delete — appservers keep what they generated instead of having it deleted for not being on staging.

vendor/ stays synced deliberately, and the new test pins that: it is gitignored, so an appserver has no other route to it.

Shim bumped to 2.2.1. The version paragraph in docs/SALT-INTEGRATION.md and the "excludes carried over unchanged" claim in docs/OPEN-QUESTIONS.md are corrected to match.

Verification

New shim test asserts the four per-host excludes are present, vendor is absent, and --delete-excluded stays off. Shim suite 112 tests, 109 passing — the 3 failures are the pre-existing DependencyInstallTest rsync cases that cannot run in my container (command not found: rsync, no package access); CI installs rsync, so they run there. PHP suite 236/236 green, Pint clean.

Not included

SCAN_IGNORED — the tree-scan's "never a checkout" set — does not list cw_cache either, so discovery still walks it. Different code path from the sync, and out of scope for this change; happy to follow up if wanted.


Generated by Claude Code

Summary by CodeRabbit

  • Bug Fixes

    • Prevented host-generated cw_cache/ contents from being synchronized or deleted across hosts.
    • Preserved the cw_cache/ directory while excluding its generated contents from deployments.
    • Continued syncing .git data as intended.
  • Documentation

    • Updated the required deployment shim version to 2.2.1.
    • Clarified synchronization exclusions and host-specific cache behavior.

cw_cache/ is generated per host, not deployed, but it was not in the rsync
exclude list: a full-tree sync shipped staging's copy over each appserver's,
and --delete-after removed any entry only that host had. Now excluded the
same way cache/, images/ and l10n_cache/ already are — the directory still
lands, only its contents are skipped, and since --delete-excluded is not
passed the receiver's own files there are protected.

vendor/ stays synced deliberately: it is gitignored, so an appserver has no
other way to get it.

Shim 2.2.1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QKzD8eUV1sT45NMNnjKSAg
@coderabbitai

coderabbitai Bot commented Aug 24, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: ac7213a3-645a-4695-a112-344de92db880

📥 Commits

Reviewing files that changed from the base of the PR and between bfe0334 and d8fb884.

📒 Files selected for processing (4)
  • docs/OPEN-QUESTIONS.md
  • docs/SALT-INTEGRATION.md
  • shim/mwdeploy_shim.py
  • shim/tests/test_mwdeploy_shim.py

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

Changes

cw_cache synchronization

Layer / File(s) Summary
Shim exclusion behavior
shim/mwdeploy_shim.py, shim/tests/test_mwdeploy_shim.py
The shim version changes to 2.2.1. Rsync excludes cw_cache/*, and tests verify host-generated directory exclusions and deletion behavior.
Documentation alignment
docs/OPEN-QUESTIONS.md, docs/SALT-INTEGRATION.md
The documentation describes the cw_cache/* exception and requires shim version 2.2.1.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to d8fb8

The change limits synchronization to the directory contents while preserving each host’s generated cache files, with targeted tests covering the exclude and deletion behavior. No actionable merge-blocking risk remains beyond normal checks and review.

Suggested reviewers: claude

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the primary change: excluding cw_cache/ contents from synchronization between hosts.
Docstring Coverage ✅ Passed Docstring check was indeterminate for this PR — some files could not be analyzed in time. Not blocking.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/deployment-composer-merge-plugins-1hk6gi

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Zippybonzo
Zippybonzo merged commit 5c5766c into main Aug 24, 2026
3 of 4 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants