Skip to content

ci: nothing checks the package is JSR-publishable until the release is already running #111

Description

@productdevbook

What happens

The repo publishes to JSR on every tag, but nothing checks the package is publishable until the release workflow is already running. .github/workflows/ci.yml has no jsr step (grep -c jsr returns 0), and release.yml runs bunx jsr publish directly rather than a dry run first.

Reproduction

grep -c 'jsr' .github/workflows/ci.yml     # 0
bun run jsr:check                          # passes today — nothing enforces that it keeps passing

Why it matters

This has already bitten this repo once: bd98b85 fix(jsr): resolve slow-type errors so JSR publish succeeds. JSR rejects "slow types" — an exported symbol whose type it cannot resolve without inference — and that is a property of ordinary source edits, not of anything the current CI looks at. The failure surfaces halfway through a release, after npm has already published, leaving the two registries on different versions.

Where

.github/workflows/ci.yml — no JSR step. .github/workflows/release.yml:66-74 — publishes without a preceding dry run.

Suggested fix

Add bun run jsr:check to CI next to the ATTW step, so a slow type fails the pull request that introduced it. Keep the real publish in release.yml but move it ahead of the npm publish, or dry-run first, so a JSR failure does not leave npm published alone.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions