Skip to content

ci: add GitHub Actions workflows (tests, continuous release, release) - #2

Merged
brenelz merged 2 commits into
mainfrom
ci/github-workflows
Jul 31, 2026
Merged

ci: add GitHub Actions workflows (tests, continuous release, release)#2
brenelz merged 2 commits into
mainfrom
ci/github-workflows

Conversation

@brenelz

@brenelz brenelz commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Ports the workflow setup from solidjs/solid-image.

Workflows

  • tests.yml — build, test, and npm pack --dry-run on PRs and pushes to main.
  • cr.ymlpkg-pr-new preview releases for every PR / push.
  • release.yml — changesets: opens a release PR, or publishes to npm once that PR merges. Declares id-token: write so npm trusted publishing can be pointed at this workflow.

Supporting changes

Two things these workflows depend on that the repo didn't have yet:

  • .nvmrc (24.15.0, matching solid-image) — actions/setup-node is configured with node-version-file.
  • packageManager: pnpm@11.1.1 in package.jsonpnpm/action-setup@v4 is used without a version input, so it resolves the pnpm version from this field. Pinned to the version already in use locally so --frozen-lockfile stays happy.

Follow-up after merge

Configure the trusted publisher for filesystem-routing on npmjs.com to point at repo solidjs/filesystem-routing, workflow file release.yml. Notes:

  • No NPM_TOKEN / NODE_AUTH_TOKEN secret should be set — changesets 2.31.1 skips its OTP/auth check when stdin isn't a TTY, so it goes straight to npm publish and npm's OIDC exchange takes over.
  • Node 24.15.0 bundles npm 11.6.x, comfortably above the 11.5.1 minimum for OIDC publishing.

There are two unreleased changesets in .changeset/, so the first push to main after this merges will open a release PR rather than publish directly.

Verification

Ran locally — every command the workflows invoke succeeds:

  • pnpm build
  • pnpm test ✅ 71 tests passing
  • npm pack --dry-run ✅ 30 files, 27.0 kB

🤖 Generated with Claude Code

Ports the workflow setup from solidjs/solid-image:

- tests.yml: build, test, and `npm pack --dry-run` on PRs and main
- cr.yml: pkg-pr-new preview releases
- release.yml: changesets release PR / npm publish, with `id-token: write`
  so npm trusted publishing can be pointed at this workflow

Adds the two things the workflows depend on: an .nvmrc (24.15.0) for
`setup-node`'s node-version-file, and a `packageManager` field so
`pnpm/action-setup@v4` can resolve the pnpm version.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
pkg-pr-new requires its GitHub App to be installed on the repository;
without it the /check call 404s with "There is no workflow defined for
<id>" and the job fails. Installing the app needs org admin, so pull the
workflow out for now and restore it once the app is in place.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@brenelz
brenelz merged commit d6817a1 into main Jul 31, 2026
1 check passed
@brenelz
brenelz deleted the ci/github-workflows branch July 31, 2026 20:28
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.

2 participants