Skip to content

feat(local-testing): one-command launcher for a pinned IDE + dbt Power User + dbt-core - #2001

Closed
dev-punia-altimate wants to merge 2 commits into
matrix/cursor-lane-p2from
feat/local-pinned-ide-testing
Closed

feat(local-testing): one-command launcher for a pinned IDE + dbt Power User + dbt-core#2001
dev-punia-altimate wants to merge 2 commits into
matrix/cursor-lane-p2from
feat/local-pinned-ide-testing

Conversation

@dev-punia-altimate

Copy link
Copy Markdown
Contributor

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.sh

bash 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-version guard 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 with docker rm -f dbt-pu-demo.

Native (no Docker) — test-matrix/version-install.mjs

node test-matrix/version-install.mjs --vscode 1.117.0 --extension 0.61.5 --dbt 1.10.18

Downloads the exact VS Code build via @vscode/test-electron and 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 a CS_TAG build arg to pin the code-server version (default latest, backward-compatible with deploy.sh / vsix-smoke.sh).

Verified

extension 0.61.5 + dbt-core 1.10.18 → jaffle-shop dbt build PASS=28, ERROR=0; code-server serving on :3001.

🤖 Generated with Claude Code

…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>
@coderabbitai

coderabbitai Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 692339dc-ffa9-4018-aad9-44f08446f752

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/local-pinned-ide-testing

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 and usage tips.

@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown

VSIX Install + Update Matrix — target 0.61.6 (pr-build) (pull_request)

All green · 27/27 cells passed

Legend: ✅ pass · ❌ blocking failure (fails the release gate) · ⚠️ non-blocking issue (forks/Insiders — informational) · ⏭️ skipped · — not run. Percentages are the share of the live user base on that version×OS.

Install matrix (fresh install of target)

Scenario: clean install of the latest published build (no prior version).

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>
@dev-punia-altimate

Copy link
Copy Markdown
Contributor Author

✅ Tests — All Passed

cc @dev-punia-altimate

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant