gates: publish-check (deno publish --dry-run); release: JSR publish before the GH release - #116
Merged
Conversation
…efore the GH release Fallout from the pre-3c8c0e9 release failure (run 31560192748): - publish-check: new required gate running the JSR publish checks (public-API type check, slow types, export/import analyzability, config validation) with no upload. None of these were covered by gates before — they only fired at publish time on main. Wired into `just gates`, the core CI job, and the AGENTS.md gates block (also restoring the stale examples/test-translate lines there). Needs the shim: @deltic/translator statically imports translator_shim.wasm. --allow-dirty because pre-commit trees are dirty by definition. - release.yml: publish to JSR before creating the GH release. The JSR step is the one most likely to fail, and the old order stranded a half-release behind the tag guard (GH release created, JSR versions missing, re-runs blocked). New order converges on re-run: the tag guard passes while no release exists, and deno publish skips already-published versions. The actual pre-3c8c0e9 failure was not catchable by any gate: JSR's default scope setting requires the workflow-triggering ACTOR to be a scope member, and lannbot-armed auto-merges broke it (actorNotScopeMember). Fixed scope-side (restriction disabled — publishing stays repo-linked + green-main-gated); noted in the release.yml step comment. Repaired by deleting the stranded release and re-dispatching (run 31598707134, actor=lannbot, green).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fallout from the
pre-3c8c0e9release failure (run 31560192748).publish-check — new required gate:
deno publish --dry-run --allow-dirty(deps:shim). Covers the JSR publish checks (public-API type check, slow types, export/import analyzability, config validation) that no gate ran before — they only fired at publish time on main. Wired intojust gates,gha::core, and the AGENTS.md gates block (which also gets the staleexamples/test-translatelines restored). Bonus over the real publish: the dry run checks all five packages includingprotocol, which real publishes skip as already-published.release.yml reorder — JSR publish now precedes GH release creation. The old order stranded a half-release behind the tag guard when JSR failed (release created, versions missing, re-runs no-op-by-failure). New order converges on re-run: tag guard passes while no release exists;
deno publishskips already-published versions.Not catchable pre-merge (for the record): the actual failure was JSR's default "actor must be a scope member" restriction —
lannbot-armed auto-merges make the workflow actorlannbot(actorNotScopeMember). Fixed scope-side by disabling the restriction (publishing stays repo-linked and green-main-gated); documented in the release.yml step comment. The strandedpre-3c8c0e9was repaired by delete + re-dispatch (run 31598707134, actor=lannbot, green — validating the setting change).