feat(local-testing): one-command launcher for a pinned IDE + dbt Power User + dbt-core - #2001
feat(local-testing): one-command launcher for a pinned IDE + dbt Power User + dbt-core#2001dev-punia-altimate wants to merge 2 commits into
Conversation
…n + dbt-core Reproduce a customer environment locally without installing anything on the host. - docker-setup/launch-pinned.sh: one command brings up code-server (VS Code in the browser) in a throwaway container with an EXACT dbt Power User version, dbt-core version, and optional code-server version. Installs the published extension from OpenVSX, pins dbt-core, copies the sample dbt projects in (fixing ownership + the require-dbt-version guard), and prints a ready URL. Each run is a clean install. - docker-setup/Dockerfile: add CS_TAG build arg to pin the code-server version (default 'latest' — backward compatible with deploy.sh / vsix-smoke.sh). - test-matrix/version-install.mjs: native (no-Docker) equivalent — downloads a specific VS Code build via @vscode/test-electron and installs a pinned extension (+ optional pinned dbt-core venv), fully isolated from your real editor. - docker-setup/README.md: usage docs. Verified: extension 0.61.5 + dbt-core 1.10.18 -> jaffle-shop 'dbt build' PASS=28, ERROR=0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
VSIX Install + Update Matrix — target
|
| Runtime | linux | windows | macos |
|---|---|---|---|
| vscode | ✅ | ✅ | ✅ |
| vscode-insiders | ✅ | — | — |
| cursor | ✅ | — | — |
| windsurf | ✅ | — | — |
| kiro | ✅ | — | — |
| code-server | ✅ | — | — |
Users on target 0.61.6 (share of running base): linux 7.9% · windows 12.7% · macos 16.2%.
Update matrix — upgrade to latest
Existing install on an older version is updated directly to latest (VS Code upgrades in one hop — it does not step through intermediate versions). Each cell: result + share of the live user base on that version×OS = who a broken upgrade hits.
vscode — upgrade from each version → latest
| from \ OS | linux | windows | macos |
|---|---|---|---|
0.61.5 |
✅ 5.5% | ✅ 10.3% | ✅ 13.3% |
0.61.4 |
✅ 2.1% | ✅ 4.1% | ✅ 4.8% |
0.61.3 |
✅ 1.0% | ✅ 1.6% | ✅ 1.8% |
0.61.2 |
✅ 1.5% | ✅ 2.7% | ✅ 2.9% |
0.60.7 |
✅ 0.3% | ✅ 0.6% | ✅ 0.8% |
Forks & code-server — upgrade from latest-minus-one → latest
| Runtime | OS | From | Result | Users on that version×OS |
|---|---|---|---|---|
| cursor | linux | 0.61.5 |
✅ | 5.5% |
| windsurf | linux | 0.61.5 |
✅ | 5.5% |
| kiro | linux | 0.61.5 |
✅ | 5.5% |
| code-server | linux | 0.61.4 |
✅ | 2.1% |
…CCES) The MCP/'Altimate Code' onboarding runs 'npm install -g altimate-code' in the code-server terminal, which failed with EACCES: code-server runs as non-root 'coder' but npm's global prefix was the root-owned /usr, so the install could never write /usr/lib/node_modules. - Point npm's global prefix at a coder-owned dir (NPM_CONFIG_PREFIX) and add its bin to PATH (ENV for the extension host + shell profiles for the login-shell integrated terminal, which otherwise resets PATH). - Pre-install the altimate-code CLI so the web IDE is ready out of the box. Verified in a rebuilt image: altimate-code 0.8.6 resolves in both non-login and login shells; ms-python/jinjahtml/vscode-altimate-mcp-server extensions intact. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
✅ Tests — All Passed |
What
Local tooling to reproduce a specific customer environment — an exact VS Code / code-server version, dbt Power User version, and dbt-core version — without installing anything on your machine. Sibling to the CI install/update matrix (PR #1987); this is the local counterpart.
Docker (browser VS Code) —
docker-setup/launch-pinned.shbash docker-setup/launch-pinned.sh --extension 0.61.5 --dbt 1.10.18 # optional: --code-server <tag> to pin the IDE version, --port <n>Spins up code-server in a throwaway container: installs the published extension from OpenVSX, pins dbt-core, copies the sample dbt projects in (fixing ownership + the
require-dbt-versionguard so they build under the pinned dbt), and prints a ready URL. Each run is a clean install (docker rm -f→ fresh container → fresh installs). Stop withdocker rm -f dbt-pu-demo.Native (no Docker) —
test-matrix/version-install.mjsDownloads the exact VS Code build via
@vscode/test-electronand installs a pinned extension into isolated temp dirs (+ optional pinned dbt-core venv). Your installed editor/extensions/settings are never touched.How to use
Check out this branch and run one of the commands above. You only need Docker + this repo cloned — the IDE, extension, dbt, and the jaffle-shop project all live in the container.
Also
docker-setup/Dockerfile: adds aCS_TAGbuild arg to pin the code-server version (defaultlatest, backward-compatible withdeploy.sh/vsix-smoke.sh).Verified
extension
0.61.5+ dbt-core1.10.18→ jaffle-shopdbt buildPASS=28, ERROR=0; code-server serving on :3001.🤖 Generated with Claude Code