Skip to content

Add published Action and npm smoke workflow - #7

Merged
jeffreyaven merged 1 commit into
mainfrom
ci/published-action-smoke
Oct 9, 2026
Merged

jeffreyaven merged 1 commit into
mainfrom
ci/published-action-smoke

Conversation

@jeffreyaven

Copy link
Copy Markdown
Member

Summary

Adds a workflow that exercises the published artifacts the way a consumer does, and fixes a misleading verification step in the README.

Published Action smoke workflow

.github/workflows/published-action-smoke.yml, run on workflow_dispatch and weekly:

  • action job: checks out the fixture at the v0 tag and runs stackql/mcp-wringer@v0 on ubuntu-latest, ubuntu-24.04-arm, macos-latest and windows-latest. A clean run must report zero findings; a defective run (exit-on-decode-error) must fail at fail_on: high. Reuses scripts/assert-action-output.mjs.
  • npm job: same matrix, runs npx @stackql/mcp-wringer@latest from the registry against the same fixture (exit 0 clean, exit 1 defective), and checks that npm latest equals the tag's package.json version.

The self-test workflow covers the checked-out source; this one covers what users install.

README fix

During the 0.1.0 release the npx ... --help verification failed with 'mcp-wringer' is not recognized. Root cause: it was run inside the repository checkout, where npx matches the checkout's own package name and looks for a node_modules/.bin link that does not exist. The published package was fine (npm install in a scratch project and npx from another directory both work). The README now says to run the command from outside the checkout, and the smoke workflow does the same.

Docs

  • Release steps and checklist: dispatch the smoke workflow after moving the v0 tag.
  • docs/dev/ideas.md: three items from the StackQL CI integration (diagnostic when a run stops at durationMs before cases; accept a UTF-8 BOM in config files; a spec input on the Action).

Verification

  • Both npm CLI commands behave as the workflow expects against the local fixture, run from outside the checkout on Windows.
  • actionlint 1.6.23 reports only its outdated label list for ubuntu-24.04-arm; the repo does not run actionlint.
  • Not verified: the workflow itself has not run. It needs the v0 tag, which exists, and is dispatched after merge.

Adds .github/workflows/published-action-smoke.yml, run on dispatch and
weekly. It checks out the fixture at the v0 tag and runs the Action
from stackql/mcp-wringer@v0 and the CLI from the npm registry on Linux
x64 and arm64, macOS and Windows: a clean run must report zero findings
and a defective run must fail at the high threshold. It also checks
that npm latest matches the tag's package version, since npm and the
Action must be released from the same commit.

The README's npx verification step now says to run it from outside the
checkout. Inside the checkout, npx matches the repository's own package
name and looks for a bin link that does not exist, which is what
produced "'mcp-wringer' is not recognized" during the 0.1.0 release
verification; the published package itself was fine.

Also records the first consumer, the StackQL repository's pull request
gate, and logs three ideas from that integration: a diagnostic when a
run stops at durationMs before reaching cases, accepting a UTF-8 BOM in
config files, and a spec input on the Action.

Verified: both npm CLI commands behave as the workflow expects against
the local fixture (exit 0 clean, exit 1 with crash.process-exit
defective) from outside the checkout on Windows. actionlint 1.6.23
reports only its outdated runner label list for ubuntu-24.04-arm.
Not verified: the workflow itself has not run yet; it needs the v0 tag
and is dispatched after merge.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@jeffreyaven
jeffreyaven merged commit 2f51a0f into main Oct 9, 2026
23 checks passed
@jeffreyaven
jeffreyaven deleted the ci/published-action-smoke branch October 13, 2026 04:19
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.

1 participant