Repository navigation
docs(agents): run the compile-only check in the tag's derived data #13033
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
18d94a6
4a20299
89921cb
6fdcf91
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -25,19 +25,21 @@ Other variants: `reloadp.sh` (Release), `reloads.sh` (Release as isolated "cmux | |||||
|
|
||||||
| Every healthy slot in the canonical Mac fleet is general-purpose. Builds, iOS archives, tests, profiling, simulator and UI verification, and any other resource-intensive workload may use any available slot. Do not wait for an AWS-only builder or infer capacity from a workload label. Use the shared lease state and slot-isolated paths supplied by the fleet tooling. | ||||||
|
|
||||||
| Compile-only check, no launch: | ||||||
| Compile-only check, no launch. Point it at the derived data `reload.sh` uses for the tag, so the check reuses that build instead of starting a second cold one: | ||||||
|
|
||||||
| ```bash | ||||||
| xcodebuild -project cmux.xcodeproj -scheme cmux -configuration Debug -destination 'platform=macOS' -derivedDataPath /tmp/cmux-<tag> build | ||||||
| xcodebuild -project cmux.xcodeproj -scheme cmux -configuration Debug -destination 'platform=macOS' -derivedDataPath "$HOME/Library/Developer/Xcode/DerivedData/cmux-<tag>" build | ||||||
| ``` | ||||||
|
|
||||||
| `<tag>` here is the slug `reload.sh` makes from your tag: lowercased, with every run of other characters turned into `-` (`Fix/ABC-1` becomes `fix-abc-1`). A raw tag that differs from its slug points at a different, empty directory. | ||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. π― Functional Correctness | π‘ Minor | β‘ Quick win Document all The note omits three sanitizer behaviors: it trims edge hyphens, collapses repeated separators, and returns Suggested wording-`<tag>` here is the slug `reload.sh` makes from your tag: lowercased, with every run of other characters turned into `-` (`Fix/ABC-1` becomes `fix-abc-1`). A raw tag that differs from its slug points at a different, empty directory.
+`<tag>` here is the slug `reload.sh` makes from your tag: lowercased, with each run of non-alphanumeric characters replaced by `-`, edge `-` characters removed, and an empty result changed to `agent` (`Fix/ABC-1` becomes `fix-abc-1`). A raw tag that differs from its slug points at a different, empty directory.This follows the sanitizer behavior shown in the supplied π Committable suggestion
Suggested change
π€ Prompt for AI Agents |
||||||
|
|
||||||
| Rebuild GhosttyKit.xcframework with Release optimizations: | ||||||
|
|
||||||
| ```bash | ||||||
| cd ghostty && zig build -Demit-xcframework=true -Dxcframework-target=universal -Doptimize=ReleaseFast | ||||||
| ``` | ||||||
|
|
||||||
| Clean up older tags you started this session (quit the app, remove its `/tmp` socket and derived data) before launching a new one. | ||||||
| Clean up older tags you started this session (quit the app, remove its `/tmp` socket) before launching a new one. Remove a tag's derived data only when no active task needs it; the next build of that tag is a full cold build without it. | ||||||
|
|
||||||
| ### Intel Macs, Xcode 16.2, Swift 6.0 | ||||||
|
|
||||||
|
|
||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -10,9 +10,11 @@ Proves the app target built. Proves nothing about `cmuxTests`, `cmuxUITests`, pa | |
|
|
||
| ```bash | ||
| xcodebuild -project cmux.xcodeproj -scheme cmux-unit -configuration Debug \ | ||
| -destination 'platform=macOS' -derivedDataPath /tmp/cmux-<tag> build | ||
| -destination 'platform=macOS' -derivedDataPath /tmp/cmux-<tag> build-for-testing | ||
| ``` | ||
|
|
||
| Use `build-for-testing`, not `build`: the scheme builds `cmuxTests` only for testing, so `build` compiles the app, skips every test file, and still reports success. Keep this in its own derived data path rather than the tag's (`~/Library/Developer/Xcode/DerivedData/cmux-<tag>`): a test build that fails leaves an unsigned `cmuxTests.xctest` inside the app bundle, and the next `reload.sh` for that tag then fails at CodeSign until the bundle is removed. | ||
|
teamleaderleo marked this conversation as resolved.
Comment on lines
12
to
+16
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. π― Functional Correctness | π‘ Minor | β‘ Quick win π Supported by static analysisπ Script executed: sed -n '1,35p' skills/cmux-testing/references/local-vs-ci-validation.md
sed -n '900,945p' scripts/reload.sh
sed -n '980,1020p' scripts/reload.sh
sed -n '1245,1280p' scripts/reload.sh
sed -n '1665,1710p' scripts/reload.sh
rg -n 'cmux-unit|derivedDataPath|/tmp/cmux-|cmux_attach__slug_raw|ln -s|symlink' skills/cmux-testing/references/local-vs-ci-validation.md scripts/reload.sh scripts/cmux-debug-cli.shRepository: manaflow-ai/cmux Length of output: 12899 π Script executed: sed -n '1400,1475p' scripts/reload.sh
sed -n '1475,1535p' scripts/reload.sh
sed -n '1668,1702p' scripts/reload.sh
rg -n 'trap|XCODEBUILD_OUTPUT_VALID|xcodebuild|BUILD_PRODUCTS_DEBUG_DIR|DERIVED_DATA' scripts/reload.sh | head -80Repository: manaflow-ai/cmux Length of output: 9679 Use a dedicated, non-symlinked DerivedData path for π€ Prompt for AI Agents |
||
|
|
||
| For `cmuxApp` or `AppDelegate` churn, add the repo's GlobalISel workaround flag if current project instructions require it. | ||
|
|
||
| ## E2E and UI tests | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.