From 0fa2c04fcfbc4309f7d71bd20d25f90563bd18c9 Mon Sep 17 00:00:00 2001 From: Mikhail Kotelnikov Date: Mon, 5 Oct 2026 09:33:01 +0200 Subject: [PATCH 1/2] ci: shared release job and Renovate - ci.yml: the release job of statewalker/.github runs after CI on pushes to main (version pull request, then npm publishing with provenance); the repository's own release workflow, if any, is removed. - renovate.json: the shared Renovate preset. - .changeset: config for changesets 3 (private packages not versioned); @changesets/cli in the catalog; old publish/version scripts removed. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01DAiZN6XrTAdQpNN3eXEz2U --- .changeset/README.md | 9 +++++++++ .changeset/config.json | 15 +++++++++++++++ .github/workflows/ci.yml | 22 ++++++++++++++++++++++ package.json | 5 +---- renovate.json | 4 ++++ 5 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 .changeset/README.md create mode 100644 .changeset/config.json create mode 100644 .github/workflows/ci.yml create mode 100644 renovate.json diff --git a/.changeset/README.md b/.changeset/README.md new file mode 100644 index 0000000..0b3aa5a --- /dev/null +++ b/.changeset/README.md @@ -0,0 +1,9 @@ +# Changesets + +A changeset records a package release: which packages, which bump, and the changelog text. + +- `pnpm changeset` writes one; commit it with the change it describes. +- Without one, the release job writes a patch changeset for every package whose published contents + changed (a minor, on 0.x, when a dependency moved to another breaking line). +- On `main`, pending changesets become the "chore: version packages" pull request; merging it + publishes the packages to npm. diff --git a/.changeset/config.json b/.changeset/config.json new file mode 100644 index 0000000..426cd84 --- /dev/null +++ b/.changeset/config.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://unpkg.com/@changesets/config@4.0.1/schema.json", + "changelog": "@changesets/cli/changelog", + "commit": false, + "fixed": [], + "linked": [], + "access": "public", + "baseBranch": "main", + "updateInternalDependencies": "patch", + "privatePackages": { + "version": false, + "tag": false + }, + "ignore": [] +} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..924c68f --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,22 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + +jobs: + ci: + uses: statewalker/.github/.github/workflows/ci.yml@main + + # Releases to npm: a version pull request while changes are unreleased, publishing once it is + # merged. npm's trusted publishers for these packages name this file (ci.yml). + release: + needs: ci + if: github.event_name == 'push' && github.ref == 'refs/heads/main' + uses: statewalker/.github/.github/workflows/release.yml@main + permissions: + contents: write + pull-requests: write + id-token: write + secrets: inherit diff --git a/package.json b/package.json index 07c98fa..f72c7ea 100644 --- a/package.json +++ b/package.json @@ -10,10 +10,7 @@ "typecheck": "pnpm -r run typecheck", "lint": "biome check --write .", "lint:check": "biome check .", - "publish-all": "pnpm run build && pnpm -r publish --access public --no-git-checks", - "changeset": "changeset", - "version-packages": "changeset version", - "release-packages": "changeset publish" + "changeset": "changeset" }, "devDependencies": { "@biomejs/biome": "catalog:", diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..247bee9 --- /dev/null +++ b/renovate.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": ["github>statewalker/.github"] +} From a7030900a89bcf393b27f7cd13c21e9ccfa87f4a Mon Sep 17 00:00:00 2001 From: Mikhail Kotelnikov Date: Mon, 5 Oct 2026 10:34:41 +0200 Subject: [PATCH 2/2] ci: run CI again now that statewalker/.github has release.yml Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01DAiZN6XrTAdQpNN3eXEz2U