Skip to content

Add Linux E2E tests and improve release notes#239

Merged
jancurn merged 1 commit into
mainfrom
claude/check-release-action-tests-1jhdY
May 20, 2026
Merged

Add Linux E2E tests and improve release notes#239
jancurn merged 1 commit into
mainfrom
claude/check-release-action-tests-1jhdY

Conversation

@jancurn

@jancurn jancurn commented May 20, 2026

Copy link
Copy Markdown
Member

Summary

This PR adds comprehensive end-to-end testing for Linux environments and enhances release documentation by including installation instructions on GitHub release pages.

Key Changes

  • New Linux E2E workflow (e2e-linux.yml):

    • Tests on Node.js 24 with parallel execution (6 workers)
    • Tests on Bun runtime with parallel execution (4 workers)
    • Runs without gnome-keyring to test encrypted file storage fallback
    • Integrated into the release workflow to ensure Linux compatibility before publishing
  • Enhanced release workflow:

    • Added e2e-linux job as a required dependency for releases
    • Updated release condition to require successful Linux E2E execution
    • Added installation instructions to both pre-release and stable release GitHub release pages
    • Instructions include both npm and Bun installation methods
    • Output package name to job outputs for reuse in release body
  • Improved release documentation:

    • Install instructions now appear on the release page itself (via append_body)
    • Instructions printed to both job logs and run summary for visibility during execution
    • Used tee to output to both stdout and GitHub summary simultaneously

Implementation Details

  • Linux E2E tests run in parallel to reduce CI time while maintaining coverage
  • Pre-release and stable release flows both include installation instructions
  • Package name is captured as a job output to avoid hardcoding in release body templates
  • Release condition uses always() with explicit result checks to handle optional Windows E2E while requiring Linux E2E

https://claude.ai/code/session_01KHm3opxBjDudVG9jr5sSTq

A manually-dispatched Release previously only re-ran Lint / Build /
Unit tests + Windows E2E + Conformance on the release SHA — Linux E2E
only ran via ci.yml on push/PR, so a pre-release from a feature branch
could publish without Linux E2E having been executed against the exact
commit being released.

Also, install instructions were only written to $GITHUB_STEP_SUMMARY
(a separate tab) and were missing from the GitHub Release body entirely
(see v0.3.0-beta.1 — body only had the auto-generated "What's Changed").

Changes:
- New reusable workflow .github/workflows/e2e-linux.yml mirrors
  e2e-windows.yml and runs the Linux E2E matrix (Node + Bun).
- release.yml now depends on e2e-linux as an always-on prerequisite
  (no skip flag — Linux is the primary platform).
- Bump steps tee install instructions to stdout so they appear in the
  job logs, not just the run summary tab.
- Both Create GitHub release steps now append a "## Install" block to
  the auto-generated release body via softprops's append_body: true.
@jancurn jancurn merged commit 835ae9d into main May 20, 2026
6 checks passed
@jancurn jancurn deleted the claude/check-release-action-tests-1jhdY branch May 20, 2026 20:48
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.

3 participants