You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Examples Smoke broken: npm-single fixture is private, skipped since #482 → "No packages found" #575
The Examples Smoke workflow fails on every npm-single-fixture scenario — minimal, label-driven, oidc, prerelease, standing-pr — while monorepo-rust passes. The failing step is releasekit release --dry-run:
[INFO] Running version analysis...
Discovered 1 NPM, 0 Rust, and 0 Dart packages (1 total)
No packages found in workspace
##[error]Process completed with exit code 1.
Root cause
scripts/examples-smoke/build-fixture.ts writes the fixture's root package.json with private: true (since #281, 2026-06-09). #482 (feat(version): skip private npm packages from the release flow by default) then landed, adding a discovery-time skip (versionEngine.ts — if (!this.config.includePrivate)). The npm-single fixture's only package is that private root, and the shipped minimal config sets neither includePrivate nor a version.packages entry naming it — so it's discovered (counted as "1 NPM") and then filtered out → nothing to release → exit 1.
monorepo-rust passes because its member packages (@smoke/js-lib, crates) are public; only the root is private (realistic, and correctly skipped).
Why it went undetected: the Examples Smoke workflow is path-gated to scripts/examples-smoke/**. It last ran green on 2026-06-23; nothing touched those paths through the intervening PRs, so #482's effect on the fixture was invisible until PR #574 (a comments-only cleanup) edited two files there and re-triggered the workflow. #574 does not cause this — reproduced independently on a clean checkout.
Reproduction (local, verified)
Single private package + examples/ci/minimal/releasekit.config.json + one feat: commit past a v1.0.0 tag → releasekit release --dry-run prints "No packages found in workspace", exit 1. Dropping private: true → dry-run reaches [SUCCESS] Publish complete (would publish smoke-consumer@1.1.0).
Fix (verified)
Make the npm-single fixture non-private — a real single publishable package isn't private, and the run is always --dry-run so nothing publishes regardless:
Monorepo fixtures keep their private root (members are public and discovered). The shipped example configs stay untouched — we must NOT add includePrivate: true to examples/ci/**, since real consumers publish public packages.
Secondary (optional)
An all-private workspace surfaces as a terse No packages found in workspace + exit 1. Consider a clearer diagnostic — e.g. "N package(s) discovered but all are private; set version.includePrivate: true to version them" — so a real misconfiguration is self-explaining.
Split out the systemic half into #576: the smoke didn't run for weeks because its trigger paths (examples/**, scripts/examples-smoke/**) don't include the code under test (packages/**). This issue fixes the fixture; #576 makes the smoke actually run on release-code changes so a regression like #482 can't slip through undetected again.
Activity
goosewobbler commentedon Jul 19, 2026
Split out the systemic half into #576: the smoke didn't run for weeks because its trigger paths (
examples/**,scripts/examples-smoke/**) don't include the code under test (packages/**). This issue fixes the fixture; #576 makes the smoke actually run on release-code changes so a regression like #482 can't slip through undetected again.fix(ci): restore Examples Smoke as a working regression detector
fix(ci): restore Examples Smoke as a working regression detector (#577)