Skip to content

ci: GitHub Actions release pipeline — build & publish .vsix on merge to main - #226

Merged
pajoma merged 6 commits into
developfrom
feat/225-release-pipeline
May 19, 2026
Merged

ci: GitHub Actions release pipeline — build & publish .vsix on merge to main#226
pajoma merged 6 commits into
developfrom
feat/225-release-pipeline

Conversation

@pajoma

@pajoma pajoma commented May 19, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds .github/workflows/release.yml triggered on push to main
  • Full build + test gate (compilecompile-testsxvfb-run npm test) before packaging
  • Reads version from package.json, tags release v<version>, attaches .vsix as asset
  • Uses softprops/action-gh-release pinned to SHA 3bb1273 (reviewed: floating v2 risk noted in plan)

References

Test plan

  • Merge to main → Actions tab shows Release workflow run → GitHub Release v<version> created with .vsix attached
  • Introduce compile error → workflow fails before release step → no release created
  • Push to developRelease workflow does NOT trigger (only CI triggers)

🤖 Generated with Claude Code

pajoma and others added 6 commits May 19, 2026 09:18
…al state

Introduces IWorkspaceConfigReader seam so Configuration and Ctrl
can be constructed without a live vscode.WorkspaceConfiguration.
Blocked by #198.
7-step plan: IWorkspaceConfigReader interface → Configuration/Ctrl
constructor update → FakeWorkspaceConfig test double → refactor 14
test files to eliminate config.update/ConfigurationTarget. Blocked
by #198.
Builds and publishes .vsix to a GitHub Release on every merge to main.
Full build + test gate runs before packaging — no release on failure.
Version read from package.json; release tagged v<version>.

Build steps intentionally duplicate ci.yml (no composite action).
Acceptable at this scale; extract reusable workflow if steps diverge.

softprops/action-gh-release pinned to SHA (3bb1273) to avoid floating-v2 risk.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@pajoma

pajoma commented May 19, 2026

Copy link
Copy Markdown
Owner Author

Brooks-Lint Review

Mode: PR Review
Scope: .github/workflows/release.yml, docs/plans/*, docs/specs/*
Health Score: 98/100

The PR faithfully implements the release pipeline as per the approved plan and includes thorough documentation for upcoming decoupling tasks.


Findings

🟢 Suggestion

Dependency Disorder — Verification of commit SHA for softprops/action-gh-release
Symptom: The workflow uses softprops/action-gh-release@3bb12739c298aeb8a4eeaf626c5b8d85266b0e65.
Source: Winters et al. — Software Engineering at Google (Ch. 21: Dependency Management)
Consequence: While pinning to a SHA is a major improvement over a floating tag, ensure this SHA corresponds to the intended v2 release to prevent accidental pinning to a non-stable commit.
Remedy: Add a comment in the YAML (as already done: # v2) to maintain the link between the human-readable version and the immutable SHA.


Summary

The implementation of the release pipeline is "Deep" and strategically sound. By pinning the release action to a specific SHA and maintaining a single-job gate, the PR preserves "Conceptual Integrity" while addressing the sustainability concerns raised during the plan review. The addition of specs for issue #202 shows excellent proactive planning for reducing tech debt.

@pajoma
pajoma merged commit 71a16bf into develop May 19, 2026
2 checks passed
@pajoma
pajoma deleted the feat/225-release-pipeline branch May 19, 2026 18:11
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.

ci: GitHub Actions release pipeline — build & publish .vsix on merge to main

1 participant