Add optimized icon and build/test CI matrix (follow-up to #36)#39
Merged
Conversation
Icon: the Marketplace renders the icon at 128x128 but images/logo.png was 1362x1362 / 1.1 MB, dominating the VSIX. Add a 256x256 images/icon.png (hi-DPI crisp, ~77 KB) and point the manifest at it; keep logo.png as the full-res master in the repo but exclude it from the package via .vscodeignore. VSIX drops from ~1.15 MB to ~149 KB. CI: the workflow only ran pre-commit. Add a `build` job across ubuntu/macos/windows that runs npm ci, compile, lint, and the integration tests (xvfb-run on Linux, which needs a display for the VS Code instance). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Fab-Cat
previously approved these changes
May 30, 2026
Address actionlint/checkov findings in main.yml: - Add top-level `permissions: contents: read` (checkov CKV2_GHA_1). - Bump actions/setup-python@v4 -> v5 (actionlint: runner too old). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Fab-Cat
approved these changes
May 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Addresses the two follow-ups noted in #36.
Icon
The Marketplace renders the extension icon at 128×128, but
images/logo.pngwas 1362×1362 / 1.1 MB — i.e. ~95% of the VSIX was an oversized icon.images/icon.pngat 256×256 (hi-DPI crisp, ~77 KB) and pointedpackage.json"icon"at it.images/logo.pngas the full-res master in the repo, but excluded it from the package via.vscodeignore.Result: VSIX drops from ~1.15 MB → ~149 KB, and the
vsce"file is large" warning is gone.CI
The workflow previously ran only pre-commit — it never compiled, linted, or tested the extension. Added a
buildjob:fail-fast: false.npm ci→npm run compile→npm run lint→ tests.xvfb-run -a npm test; macOS/Windows runnpm testdirectly. (CI doesn't setELECTRON_RUN_AS_NODE, so plainnpm testworks there.)Verification
npm run package→ 149.2 KB, 9 files;icon.pngpresent,logo.pngabsent.npm run compile/npm run lintpass locally.pre-commit,build.Note
images/iwyu.png(54 KB) appears unreferenced (the README uses a remote URL) and still ships. Left untouched here — can prune separately if desired.🤖 Generated with Claude Code