Skip to content

feat: publishing via changeset#10

Merged
brunozoric merged 3 commits into
mainfrom
bruno/feat/publishing-via-changeset
May 20, 2026
Merged

feat: publishing via changeset#10
brunozoric merged 3 commits into
mainfrom
bruno/feat/publishing-via-changeset

Conversation

@brunozoric
Copy link
Copy Markdown
Contributor

Summary

Replace the custom publish pipeline with Changesets, aligning @webiny/stdlib with how @webiny/di already publishes.

What changed

Removed the entire custom publish infrastructure:

  • scripts/features/PublishPackages/ — conventional-commit version strategy, changelog writer, npm registry client, GitHub release via Octokit, dependency locker (19 files)
  • scripts/features/PublishToVerdaccio/ — local Verdaccio publish flow (5 files)
  • Entry scripts: publishPackages.ts, publishToVerdaccio.ts
  • Tests: __tests__/scripts/PublishPackages/ (3 test files)
  • .verdaccio.yaml config
  • Dev dependencies: @octokit/rest, semver, @types/semver, verdaccio

Added Changesets:

  • .changeset/config.json — public access, main branch, standard changelog format
  • .github/workflows/publish.yml — automated publish triggered after CI passes on main, using changesets/action@v1
  • yarn release script (yarn build && changeset publish)
  • Dev dependency: @changesets/cli

Updated:

  • package.json version set to 0.0.1 (Changesets manages the real version)
  • AGENTS.md — replaced publish/verdaccio/changelog docs with Changesets workflow
  • .gitignore — removed htpasswd and .verdaccio entries

Why

The custom pipeline worked but was a lot of code to maintain for a single-package repo. Changesets is battle-tested, handles versioning + changelog + npm publish + GitHub releases out of the box, and is already proven in @webiny/di.

Release workflow going forward

  1. Run yarn changeset before opening a PR — describe the change and pick the bump type
  2. Commit the generated .changeset/*.md file with the PR
  3. On merge to main, the publish workflow creates a "Version Packages" PR
  4. Merging that PR triggers the actual npm publish

Setup required

  • Add NPM_TOKEN secret to the GitHub repository settings

brunozoric and others added 2 commits May 20, 2026 11:18
The custom PublishPackages pipeline (conventional-commit version strategy,
changelog writer, GitHub release, dependency locker) and Verdaccio testing
setup are replaced by @changesets/cli. This aligns with how @webiny/di
publishes and simplifies the release workflow to: yarn changeset → merge →
automated publish via GitHub Actions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@brunozoric brunozoric requested a review from Pavel910 May 20, 2026 10:35
@brunozoric brunozoric self-assigned this May 20, 2026
Guided TDD workflow for adding features to @webiny/stdlib.
Encodes the DI pattern, file conventions, testing patterns,
and the golden rule that existing tests must never be modified.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@brunozoric brunozoric merged commit 780c395 into main May 20, 2026
16 checks 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.

1 participant