Skip to content

Bugifx/validate screens pipeline runner#22

Merged
unbrokenclayman merged 7 commits into
mainfrom
bugifx/validate-screens-pipeline-runner
May 11, 2026
Merged

Bugifx/validate screens pipeline runner#22
unbrokenclayman merged 7 commits into
mainfrom
bugifx/validate-screens-pipeline-runner

Conversation

@anesvijskij
Copy link
Copy Markdown
Collaborator

@anesvijskij anesvijskij commented May 7, 2026

## Problem

Screen validation could only be run comfortably from inside VS Code. For pipeline use, we need command-line entry points for both HTML and TypeScript validation that still execute the existing validators inside the VS Code Extension Host.

TypeScript validation also depends on backend connection settings that normally live in the user's VS Code profile, but the test Extension Host runs with an isolated profile and cannot read those settings.

The runner also needed to be resilient to local VS Code update state on Windows, where downloaded test builds can fail with `Code is currently being updated`.

## Fix

Added pipeline-friendly validation runners for HTML and TypeScript screen validation. The runners still start a VS Code Extension Host, but now use a lightweight command runner that activates AcuMate and directly invokes non-interactive extension commands instead of wrapping validation in Mocha tests.

Added non-interactive validation commands that return structured results for pipeline use, including diagnostic counts and start/end diagnostic ranges. TypeScript validation can now receive backend settings explicitly from CLI flags or environment variables.

On Windows, the runner prepares the cached VS Code test copy before launch and disables the versioned-update mutex check for that local `.vscode-test` copy only.

## Changes

- Added `npm run validate:screens` support for targeted HTML screen validation.
- Added `npm run validate:screens:ts` support for targeted TypeScript screen validation.
- Added direct Extension Host command runner for pipeline validation.
- Added non-interactive extension commands for HTML and TypeScript validation.
- Added CLI/env options for roots, workspace root, VS Code version/executable, compile skipping, full-suite mode, and fail-on-diagnostics mode.
- Added explicit backend settings support for TypeScript validation via `ACUMATE_BACKEND_*` env vars and `--backend-*` flags.
- Added diagnostic output with start/end `line:column` ranges for HTML and TypeScript diagnostics.
- Added Windows `.vscode-test` update-mutex workaround.
- Added tests for runner argument parsing, command-runner wiring, backend settings, default VS Code version handling, and Windows update-mutex patching.
- Expanded `readme.md` with detailed command reference, parameters, environment variables, and examples.

@unbrokenclayman unbrokenclayman merged commit c6e6b11 into main May 11, 2026
1 check passed
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.

2 participants