Skip to content

ci: adopt shared CLI releases and update workflows - #976

Draft
neilime wants to merge 1 commit into
mainfrom
feat/use-shared-release
Draft

neilime wants to merge 1 commit into
mainfrom
feat/use-shared-release

Conversation

@neilime

@neilime neilime commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

Release @reactionable/cli through shared preparation, CI validation, and artifact publication on manual and weekly runs. Validate the installed CLI before publishing the same tarball.

Changes

  • Run release labeling only on pull request events. Keep preparation, validation and publication as separate jobs; skip validation/publication when no release is planned.
  • Use GitHub self-repository references ($/) for local actions and reusable workflows.
  • Pin every external GitHub Action and reusable workflow to its latest stable release commit, including ci-github-common 2.0.2 and ci-github-publish 3.0.0. Use repository-configured PR-title validation with only contents: read.
  • Prepare signed version commits and v tags through the GitHub App. Stop unchanged plans before building, support manual force, and preserve tag recovery.
  • Build the CLI and documentation once. Validate installed help/version output and the compiled template through the shared package test action, then publish with npm trusted publishing.
  • Fix installed-package execution with NodeNext resolution, explicit .js imports, dependency injection and container-cycle corrections, and version lookup from the installed manifest. Package bin and compiled dist without test helpers.
  • Deploy and check documentation from the separate build artifact after publication. Keep release labeling separate and document prerequisites and recovery.

Validation

Release trigger, manual force, no-change gate, validation dependency, configuration and artifact-handoff checks pass against the released shared workflows.

Actionlint, YAML formatting, git diff --check, and released action/workflow input, output, secret, and permission contracts pass locally. The CI checks run source tests and package validation against the pinned shared implementation.

Before merging

Uses released ci-github-nodejs 2.1.0, pinned to 02a04ad25ceaacdf3b7200e45fb7fec07fadf4fa for preparation, validation and publication.

The repository currently has no accessible repository or organization CI_BOT_APP_CLIENT_ID variable or CI_BOT_APP_PRIVATE_KEY secret. Configure both with permission to push signed version commits/tags and dispatch the prepared workflow. Configure npm trusted publishing for this repository and release.yml, with release for npm publication and github-pages for Pages deployment. Any Pages environment must allow prepared release tags. CHANGELOG_SUMMARY is optional.

Review the committed, tagged, and published version history before the first release; preparation must not overwrite existing tags or publish an older version.

@codecov

codecov Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.52%. Comparing base (e899bba) to head (bc8ea4c).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #976      +/-   ##
==========================================
+ Coverage   71.42%   71.52%   +0.10%     
==========================================
  Files          52       52              
  Lines        1669     1675       +6     
  Branches      325      325              
==========================================
+ Hits         1192     1198       +6     
  Misses        346      346              
  Partials      131      131              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@neilime
neilime force-pushed the feat/use-shared-release branch from 20a9944 to 3d86576 Compare November 4, 2026 14:35
@neilime neilime changed the title ci(release): adopt and validate the HoverKraft release flow ci(release): adopt shared single-package release workflow Nov 4, 2026
@github-actions github-actions Bot added the type: maintenance Performs maintenance work label Nov 5, 2026
@neilime
neilime force-pushed the feat/use-shared-release branch from 8a52ccb to cb62b80 Compare November 6, 2026 19:57
@neilime neilime changed the title ci(release): adopt shared single-package release workflow ci(release): adopt shared CLI package releases Nov 6, 2026
@neilime
neilime force-pushed the feat/use-shared-release branch 3 times, most recently from f0259bc to e48b8ac Compare November 8, 2026 18:42
@neilime neilime changed the title ci(release): adopt shared CLI package releases ci: adopt shared CLI releases and update workflows Nov 8, 2026
@neilime
neilime force-pushed the feat/use-shared-release branch from e48b8ac to 56bd87a Compare November 8, 2026 18:50
Adopt shared single-package preparation and validated artifact publication.
Fix installed CLI module resolution, dependency injection, and version lookup.
Reuse documentation build output for Pages and document release recovery.

Pin GitHub Actions and reusable workflows to current stable releases.
Adapt workflow permissions and repository-configured PR title validation.
@neilime
neilime force-pushed the feat/use-shared-release branch from 56bd87a to bc8ea4c Compare November 8, 2026 19:12

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: maintenance Performs maintenance work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant