ci: add pull-request checks and a tag-driven release pipeline - #27
Open
aleffita wants to merge 2 commits into
Open
ci: add pull-request checks and a tag-driven release pipeline#27aleffita wants to merge 2 commits into
aleffita wants to merge 2 commits into
Conversation
`publish.yml` owns the npm release but only runs on tags and only in the upstream repository, so pull requests get no checks and a fork cannot hand out an installable build. - `ci.yml` runs `pnpm run check` on every pull request and on `main`. - `release.yml` packs the tarball for a tag or a manually requested version (`workflow_dispatch`), keeps it as a workflow artifact, and attaches it to a GitHub release, marked pre-release when the version carries a suffix. The npm release stays owned by `publish.yml`; this workflow only builds the artifact, so a fork can produce release candidates without publishing anything to a registry.
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.
publish.ymlowns the npm release but only runs on tags and only in this repository, so pull requests get no checks at all and a fork cannot hand out an installable build.Two additions, both independent of the npm release:
ci.yml—pnpm run check(host + client typecheck, vitest, tsdown build) on every pull request and onmain.release.yml— packs the installable tarball for av*tag or for a manually requested version (workflow_dispatch), keeps it as a workflow artifact, and attaches it to a GitHub release, marked pre-release when the version carries a suffix. The npm release stays owned bypublish.yml; this workflow only builds the artifact, so a fork can produce and hand out release candidates without publishing to any registry.Both pin the same pnpm and Node versions as
publish.yml. Happy to keep onlyci.ymlif you would rather own the release side.