Skip to content

ci: changesets release pipeline with provenance publishing - #3

Merged
expilu merged 2 commits into
mainfrom
feature/cicd
Sep 26, 2026
Merged

expilu merged 2 commits into
mainfrom
feature/cicd

Conversation

@expilu

@expilu expilu commented Sep 26, 2026

Copy link
Copy Markdown
Owner

Installs the full release cycle:

CI (.github/workflows/ci.yml)

  • Node 22 + 24 matrix running the prepublishOnly gate verbatim: lint → format:check → typecheck → build → test:coverage
  • failed tests surface as inline annotations in the diff; the native coverage bot posts a per-PR coverage comment (actions/upload-code-coverage, gated to the Node 22 job)

Release (.github/workflows/release.yml)

  • changesets/action: pending changesets → opens the Version Packages PR (version bump + CHANGELOG.md + src/version.ts sync via scripts/sync-version.mjs)
  • version PR merged → scripts/release.mjs builds and publishes with npm provenance via OIDC trusted publishing (no stored token), then scripts/github-release.mjs tags vX.Y.Z and creates the GitHub release with the changelog section as its body

Also

  • changesets config (public access, changelog-github, baseBranch: main)
  • first changeset: openai SDK removal → minor (first automated release will be v0.1.0)

Before merging the Version Packages PR (not this one):

  • npmjs.com → package Settings → Trusted publishers: expilu / smart-decisions / release.yml
  • branch ruleset on main with required CI checks (optional now, do it after seeing green)

All gates verified locally (lint/format/typecheck/build/coverage 100%) + dress rehearsal of the version step in a disposable clone.

- CI workflow: Node 22+24 matrix running the full prepublishOnly gate
  (lint, format:check, typecheck, build, test:coverage) with inline test
  annotations and the native coverage bot comment via upload-code-coverage
- Release workflow: changesets/action opens the Version Packages PR
  (bump + CHANGELOG + src/version.ts sync via scripts/sync-version.mjs),
  then publishes with npm provenance via OIDC trusted publishing,
  tags vX.Y.Z and creates the GitHub release from the CHANGELOG section
- changesets config (public access, changelog-github, baseBranch main)
- first changeset: openai SDK dependency removal (minor -> 0.1.0)
@expilu expilu self-assigned this Sep 26, 2026
@expilu
expilu merged commit 0078bec into main Sep 26, 2026
4 of 5 checks passed
@github-actions github-actions Bot mentioned this pull request Sep 26, 2026
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.

1 participant