[2026-10-16] eagle: work/projects/vscode-migration/tech-design-xcode-build-server.md work/projects/vscode-migration/vscode-migration.md work/projects/vscode-migration/xcode-build-server.md
This commit is contained in:
1 parent
37f97cb127
commit
74029cefab
3 files changed
+8
-8
No files matched your search
@@ -1,6 +1,6 @@
|
||||
# VS Code via Xcode build server (sourcekit-xcode-bsp)
|
||||
|
||||
Status: **generic harness extracted to ~/Developer/xcode-editor-tools and deployed; 97 existing worktrees preserved + fresh hook experiment verified; nothing committed or published** · 2026-10-16
|
||||
Status: **generic harness published at mallexxx/xcode-editor-tools; deployed to 97 existing worktrees plus a verified fresh experiment** · 2026-10-16
|
||||
**Parent:** [[projects/vscode-migration/vscode-migration]]
|
||||
**Tech design:** [[projects/vscode-migration/tech-design-xcode-build-server]]
|
||||
|
||||
@@ -13,7 +13,7 @@ An alternative to the [[projects/vscode-migration/tech-design-spm-browser-packag
|
||||
|
||||
| What | Where |
|
||||
|---|---|
|
||||
| Standalone harness repository | `/Users/admin/Developer/xcode-editor-tools` — generic source, README, configuration reference, examples, tests, MIT license, CI workflow; initialized on `main`, no commits, staged files, remote or publication |
|
||||
| Standalone harness repository | `/Users/admin/Developer/xcode-editor-tools` — generic source, README, configuration reference, examples, tests, MIT license, CI workflow; published at [mallexxx/xcode-editor-tools](https://github.com/mallexxx/xcode-editor-tools), branch `main`, commit `b4a839b92f60ec09cd33982014f4b593161d2673`; local checkout clean and tracking `origin/main` |
|
||||
| Integration instructions | `/Users/admin/Developer/xcode-editor-tools/README.md` and `CONFIGURATION.md` |
|
||||
| Private Apple browser profile | `/Users/admin/DuckDuckGo/apple-browsers.git/.git/xcode-editor/config.json` |
|
||||
| Active shared Git hook | `/Users/admin/DuckDuckGo/apple-browsers.git/.git/xcode-editor/hooks/post-checkout` |
|
||||
@@ -29,7 +29,7 @@ An alternative to the [[projects/vscode-migration/tech-design-spm-browser-packag
|
||||
|
||||
## Standalone harness extraction and deployment — 2026-10-16
|
||||
|
||||
The harness now lives in **`~/Developer/xcode-editor-tools`**, ready for public publication as source but **not committed or published**. Its source contains no workstation paths, Apple browser names, schemes, product paths or private target filters. Those values are in the private Git profile above. The default editor workspace filename is derived from the configured Xcode container; an ordinary project, bare repository and externally located linked worktrees are supported. There are no third-party patches, binaries, package checkouts or local logs in the new repository. The separate BSP fork remains the public pinned dependency.
|
||||
The harness now lives in **`~/Developer/xcode-editor-tools`**, published as [mallexxx/xcode-editor-tools](https://github.com/mallexxx/xcode-editor-tools) on 2026-10-16 at commit `b4a839b92f60ec09cd33982014f4b593161d2673`. Its source contains no workstation paths, Apple browser names, schemes, product paths or private target filters. Those values are in the private Git profile above. The default editor workspace filename is derived from the configured Xcode container; an ordinary project, bare repository and externally located linked worktrees are supported. There are no third-party patches, binaries, package checkouts or local logs in the new repository. The separate BSP fork remains the public pinned dependency.
|
||||
|
||||
The deployed hook now runs that repository's CLI. All **97 existing worktrees** were refreshed from the generic implementation. A fresh experimental worktree, `/Users/admin/DuckDuckGo/apple-browsers.git/vscode-editor-tools-check`, was then created through ordinary `git worktree add --detach … main` and bootstrapped automatically: **19 generated files**, clean Git status, and zero rewrites on another apply. There are now **98 registered checked-out worktrees** including that experiment.
|
||||
|
||||
@@ -84,7 +84,7 @@ Edit the private profile, then run `apply --all` to propagate profile changes. `
|
||||
- **47 unit tests** passed across the bootstrap and runtime suites. They cover ordinary/bare repositories, external and relocated worktrees, hook chaining/removal/adoption, ownership, path quoting, ignore metacharacters, platform persistence, build parameters, exit status, CAS/debug mapping and the original helper API.
|
||||
- An unrelated minimal **OrbitSample** macOS application built and ran through the new wrapper; the actual installed BSP discovered its target. This used Xcode 27.1 and exposed/fixed Foundation's `/private` temporary-path spelling difference when locating DerivedData.
|
||||
- The actual deployed hook generated the fresh browser experiment automatically; its folder-open setup command also verified `buildServer.json` was already current.
|
||||
- Public source scan: no local paths or project names; Python/JSON/shell syntax and whitespace checks passed. CI is configured but has not run remotely. No new full browser build, editor UI walkthrough or indexing run was performed in every worktree.
|
||||
- Public source scan: no local paths or project names; Python/JSON/shell syntax and whitespace checks passed. CI was configured during extraction; hosted results are available under [GitHub Actions](https://github.com/mallexxx/xcode-editor-tools/actions). No new full browser build, editor UI walkthrough or indexing run was performed in every worktree.
|
||||
|
||||
The first rollout had written 1,526 files across 97 worktrees and preserved 45 existing/tracked entries. Its diagnostics remain in `.vscode-local/backfill-*.json` and `backfill.log`. The old configurations in `exp` and `sweetpad` were backed up at `.vscode-local/backups/backfill-20261015T185058Z/{exp,sweetpad}/buildServer.json` before migration. **`exp/buildServer.json` was already tracked** and remains its earlier intentional uncommitted modification. A branch checkout may restore its tracked legacy config; the explicit folder-open setup command refreshes it. The extraction introduced no new tracked changes.
|
||||
|
||||
@@ -92,7 +92,7 @@ Extraction evidence: `/Users/admin/DuckDuckGo/apple-browsers.git/.vscode-local/e
|
||||
|
||||
### Publication scope
|
||||
|
||||
The new generic harness has README integration instructions, a configuration reference, minimal and two-platform examples, MIT license, dependency/license notice, contributor instructions, automated tests and a CI workflow. It has **no commits, staged changes or Git remote**; nothing was posted or published. The separate BSP fork is already public; its earlier 58 tests and strict SwiftLint validation remain recorded. A DuckDuckGo-owned fork, team deployment and upstream PRs remain proposed.
|
||||
The new generic harness has README integration instructions, a configuration reference, minimal and two-platform examples, MIT license, dependency/license notice, contributor instructions, automated tests and a CI workflow. At the user's request, it is now **public at [mallexxx/xcode-editor-tools](https://github.com/mallexxx/xcode-editor-tools)**. The 35 audited source files were committed and pushed to `main` as `b4a839b92f60ec09cd33982014f4b593161d2673`; GitHub's remote SHA and public visibility were verified. The public commit uses `365498+mallexxx@users.noreply.github.com` for author/committer, with no private workstation identity. Local `main` tracks `origin/main` and is clean. README includes the actual clone command. The source/privacy audit found no local paths, private project identifiers, embedded credentials or secret patterns. The separate BSP fork is already public; its earlier 58 tests and strict SwiftLint validation remain recorded. A DuckDuckGo-owned fork, team deployment and upstream PRs remain proposed.
|
||||
|
||||
## Files (`scripts/vscode/`)
|
||||
|
||||
@@ -168,7 +168,7 @@ Not verified: VS Code/Cursor UI itself; Xcode IDE reading our index / no-rebuild
|
||||
- [ ] Check Xcode IDE: open a worktree indexed/built from VS Code — no reindex, no rebuild.
|
||||
- [x] Publish tested fixes to [mallexxx/sourcekit-xcode-bsp](https://github.com/mallexxx/sourcekit-xcode-bsp), pinned at `afd0e3dd026b3ee3619e2271809debee25fec96f`.
|
||||
- [x] Deploy shared local hook and backfill all 97 registered worktrees (2026-10-16).
|
||||
- [x] Extract reusable harness into `~/Developer/xcode-editor-tools`, migrate all existing worktrees and verify an unrelated Xcode app plus a fresh deployed-hook experiment (2026-10-16); source remains uncommitted/unpublished.
|
||||
- [x] Extract reusable harness into `~/Developer/xcode-editor-tools`, migrate all existing worktrees and verify an unrelated Xcode app plus a fresh deployed-hook experiment (2026-10-16); published to [mallexxx/xcode-editor-tools](https://github.com/mallexxx/xcode-editor-tools) at the user's request, commit `b4a839b`.
|
||||
- [ ] Establish a DuckDuckGo-owned fork/team rollout if approved.
|
||||
- [ ] Offer the build-server fixes upstream (no upstream PR opened).
|
||||
- [ ] Upstream issue: duplicate outputs/stray `.o` when all targets are configured; lldb-dap attach with `program`/`attachCommands` to simulator processes.
|
||||
|
||||
Reference in new issue
Block a user