Skip to content

test: split package smoke verification#67

Merged
samlaycock merged 2 commits into
mainfrom
fix/package-smoke-test-split
May 20, 2026
Merged

test: split package smoke verification#67
samlaycock merged 2 commits into
mainfrom
fix/package-smoke-test-split

Conversation

@samlaycock

Copy link
Copy Markdown
Owner

Summary

  • Move the expensive install/build/pack/install package smoke path into bun run test:package.
  • Keep fast package metadata and export-shape checks in the default bun test suite.
  • Run bun run test:package explicitly in CI and document the command in package export docs.
  • Add a patch changeset for the test workflow/script change.

Closes #56

Verification

  • bun fmt
  • bun lint:fix
  • bun test
  • bun run test:package
  • bun typecheck

Move the expensive install-pack-install package smoke path behind a dedicated test:package script so default bun test keeps only fast package metadata coverage.

Run the package smoke test explicitly in CI and document the full packaging verification command.
@samlaycock samlaycock marked this pull request as ready for review May 20, 2026 06:54
@greptile-apps

greptile-apps Bot commented May 20, 2026

Copy link
Copy Markdown

Greptile Summary

This PR splits the expensive end-to-end package smoke test (install → build → pack → consumer-install → ESM/CJS execution) into a dedicated test:package script, leaving only fast package-metadata and export-shape assertions in the default bun test suite. CI is updated to run both steps sequentially, and the docs/package-exports.md page is extended with a Verification section documenting both commands.

  • test/package-smoke.ts contains the extracted integration test with the timeout corrected to 60_000 ms; test/package.test.ts retains lightweight package.json structure assertions.
  • package.json gains a test:package script that explicitly targets the smoke file, preventing it from being picked up by the default test glob.
  • A patch-level changeset is included as required by project convention.

Confidence Score: 5/5

Safe to merge — this is a pure test-infrastructure reorganisation with no changes to production code or package exports.

All production code is untouched. The smoke test logic is identical to what was in package.test.ts; the only meaningful change is the 15s to 60s timeout correction and the file split. CI covers both test paths. No regressions are expected.

No files require special attention.

Important Files Changed

Filename Overview
test/package-smoke.ts New smoke test file extracted from package.test.ts; timeout corrected to 60s; structure and logic unchanged from prior code
test/package.test.ts Heavy install/build/pack smoke test removed; replaced with fast package.json metadata and exports-shape assertions that are safe to run in the default suite
.github/workflows/test.yml Added a dedicated CI step that runs bun run test:package after the existing bun test step
package.json Added test:package script that explicitly targets the smoke test file via bun test ./test/package-smoke.ts
docs/package-exports.md Added a Verification section documenting the two-tier test commands
.changeset/quiet-maps-begin.md Patch-level changeset added as required by project convention

Reviews (2): Last reviewed commit: "test: relax package smoke timeout" | Re-trigger Greptile

Comment thread test/package-smoke.ts Outdated
Increase the dedicated package smoke test timeout to avoid flaky CI failures when temporary workspaces perform cold installs and builds.
@samlaycock samlaycock merged commit 04c3244 into main May 20, 2026
2 checks passed
@samlaycock samlaycock deleted the fix/package-smoke-test-split branch May 20, 2026 10:26
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.

P2: Split expensive package smoke test from default local test path

1 participant