Skip to content

ci(embed): CI + Changesets + OIDC trusted-publish pipeline (ENG-8647) - #3

Merged
andrewc-monad merged 2 commits into
mainfrom
feature/eng-8647
Jun 18, 2026
Merged

ci(embed): CI + Changesets + OIDC trusted-publish pipeline (ENG-8647)#3
andrewc-monad merged 2 commits into
mainfrom
feature/eng-8647

Conversation

@andrewc-monad

Copy link
Copy Markdown
Collaborator

What

Adds the build/test CI and the npm release pipeline. Stacked on #2 (ENG-8646) — review/merge #1#2 → this in order.

  • .changeset/config.jsonaccess: public, updateInternalDependencies: patch, baseBranch: main. Drives versioning once the repo goes multi-package (form-core depends on connect later).
  • .github/workflows/ci.yml (PRs + push to main): install → lint → format:check → typecheck → test → build. No publish permissions. (Deliberately does not gate on changeset status, so PRs aren't blocked by missing changesets.)
  • .github/workflows/release.yml (push to main): changesets/action@v1 with id-token: write for OIDC trusted publishing + npm provenance, upgrades npm to ≥ 11.5, no long-lived NPM_TOKEN.

Bootstrap caveat (handled in ENG-8648)

The first 0.1.0 publish is done manually so the npmjs.com trusted publisher can be attached to the (not-yet-existent) package. After that, Changesets drives 0.1.1+ fully tokenless. Until the trusted publisher is configured, the release job's publish step will no-op/fail on auth — non-destructive.

Verification

prettier --check .       ✅
changeset config parses  ✅ (changeset status reads it; the "no changeset" notice is the expected guard)

🤖 Generated with Claude Code

…647)

- .changeset/config.json (access: public, updateInternalDependencies: patch,
  baseBranch: main) + README
- .github/workflows/ci.yml: pull_request + push to main -> install, lint,
  format:check, typecheck, test, build (no publish perms)
- .github/workflows/release.yml: push to main -> changesets/action with
  id-token: write for OIDC trusted publishing + npm provenance; upgrades npm
  to >= 11.5; no long-lived NPM_TOKEN

Note: the very first 0.1.0 publish is bootstrapped manually (ENG-8648) so the
npmjs.com trusted publisher can be attached; changesets drives 0.1.1+ after.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
@andrewc-monad
andrewc-monad changed the base branch from feature/eng-8646 to main June 18, 2026 20:59
@andrewc-monad
andrewc-monad merged commit b0808ab into main Jun 18, 2026
1 check passed
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