Skip to content

Add optimized icon and build/test CI matrix (follow-up to #36)#39

Merged
helly25 merged 2 commits into
mainfrom
chore/icon-and-ci
May 30, 2026
Merged

Add optimized icon and build/test CI matrix (follow-up to #36)#39
helly25 merged 2 commits into
mainfrom
chore/icon-and-ci

Conversation

@helly25
Copy link
Copy Markdown
Owner

@helly25 helly25 commented May 30, 2026

Addresses the two follow-ups noted in #36.

Icon

The Marketplace renders the extension icon at 128×128, but images/logo.png was 1362×1362 / 1.1 MB — i.e. ~95% of the VSIX was an oversized icon.

  • Added images/icon.png at 256×256 (hi-DPI crisp, ~77 KB) and pointed package.json "icon" at it.
  • Kept images/logo.png as 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.

extension/images/icon.png   (77 KB)   ← shipped
images/logo.png             (1.1 MB)  ← kept in repo, not packaged

CI

The workflow previously ran only pre-commit — it never compiled, linted, or tested the extension. Added a build job:

  • Matrix: ubuntu / macOS / windows, fail-fast: false.
  • Steps: npm cinpm run compilenpm run lint → tests.
  • Integration tests launch a real VS Code, so Linux uses xvfb-run -a npm test; macOS/Windows run npm test directly. (CI doesn't set ELECTRON_RUN_AS_NODE, so plain npm test works there.)

Verification

  • npm run package → 149.2 KB, 9 files; icon.png present, logo.png absent.
  • npm run compile / npm run lint pass locally.
  • Workflow YAML validated; jobs: 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

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>
@helly25 helly25 requested a review from Fab-Cat May 30, 2026 18:35
Fab-Cat
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>
@helly25 helly25 enabled auto-merge (squash) May 30, 2026 18:38
@helly25 helly25 requested a review from Fab-Cat May 30, 2026 18:38
@helly25 helly25 merged commit bb638c1 into main May 30, 2026
5 checks passed
@helly25 helly25 deleted the chore/icon-and-ci branch May 30, 2026 18:43
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