From 3d0652f4c853342d72279924fb3c185c5983dc78 Mon Sep 17 00:00:00 2001 From: Minsu Lee Date: Tue, 2 Jun 2026 10:27:15 +0900 Subject: [PATCH 1/2] ci: add publish_only dispatch to republish stuck versions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The publish job only runs when release-please cuts a release, so the versions already tagged but never landed on npm (eslint-config 0.0.4, code-style 0.0.3, prettier-config 0.0.1 — the publish that failed under the old bun publish) had no way to be (re)published. Add a workflow_dispatch publish_only path (mirrors pleaseai/ask): - release-please job is skipped on publish_only - publish job + each step also run on workflow_dispatch - npm view guard keeps it idempotent (already-published versions skip) Also give @pleaseai/prettier-config a version field (0.0.1, matching the release-please manifest) — it had none, so pack/publish couldn't resolve a version. --- .github/workflows/release-please.yml | 26 ++++++++++++++++++++++---- packages/perttier-config/package.json | 1 + 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index ff79a09..62c84b3 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -4,6 +4,12 @@ on: push: branches: - main + workflow_dispatch: + inputs: + publish_only: + description: 'Skip release-please and publish current package.json versions to npm' + type: boolean + default: false permissions: contents: write @@ -11,6 +17,9 @@ permissions: jobs: release-please: + # Skip the release machinery entirely on a publish_only dispatch — that + # path republishes the current versions without cutting a new release. + if: ${{ github.event_name == 'push' || inputs.publish_only != true }} runs-on: ubuntu-latest outputs: releases_created: ${{ steps.release.outputs.releases_created }} @@ -33,7 +42,16 @@ jobs: publish: needs: release-please - if: ${{ needs.release-please.outputs.releases_created == 'true' }} + # Run when release-please cut a release, OR on a manual publish_only + # dispatch (where release-please was skipped). always() lets this job + # evaluate even though its needs was skipped. + if: | + always() && + ( + (github.event_name == 'workflow_dispatch' && inputs.publish_only == true) || + (needs.release-please.result == 'success' && + needs.release-please.outputs.releases_created == 'true') + ) runs-on: ubuntu-latest permissions: contents: read @@ -66,7 +84,7 @@ jobs: run: bun run build - name: Publish @pleaseai/eslint-config - if: ${{ needs.release-please.outputs.eslint-config-released == 'true' }} + if: ${{ github.event_name == 'workflow_dispatch' || needs.release-please.outputs.eslint-config-released == 'true' }} working-directory: packages/eslint-config run: | VERSION=$(node -p "require('./package.json').version") @@ -78,7 +96,7 @@ jobs: fi - name: Publish @pleaseai/prettier-config - if: ${{ needs.release-please.outputs.prettier-config-released == 'true' }} + if: ${{ github.event_name == 'workflow_dispatch' || needs.release-please.outputs.prettier-config-released == 'true' }} working-directory: packages/perttier-config run: | VERSION=$(node -p "require('./package.json').version") @@ -90,7 +108,7 @@ jobs: fi - name: Publish @pleaseai/code-style - if: ${{ needs.release-please.outputs.code-style-released == 'true' }} + if: ${{ github.event_name == 'workflow_dispatch' || needs.release-please.outputs.code-style-released == 'true' }} working-directory: packages/cli run: | VERSION=$(node -p "require('./package.json').version") diff --git a/packages/perttier-config/package.json b/packages/perttier-config/package.json index ec05e35..7aa4513 100644 --- a/packages/perttier-config/package.json +++ b/packages/perttier-config/package.json @@ -1,5 +1,6 @@ { "name": "@pleaseai/prettier-config", + "version": "0.0.1", "main": "index.json", "peerDependencies": { "prettier": "^2.8.8 || ^3.0.0" From 4ea95bb09c5df6db587ebb325099c9e1ec646ce8 Mon Sep 17 00:00:00 2001 From: Minsu Lee Date: Tue, 2 Jun 2026 10:31:00 +0900 Subject: [PATCH 2/2] ci: use plain scalar for workflow_dispatch input description Satisfies the yaml/plain-scalar lint rule. --- .github/workflows/release-please.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index 62c84b3..ceb340d 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -7,7 +7,7 @@ on: workflow_dispatch: inputs: publish_only: - description: 'Skip release-please and publish current package.json versions to npm' + description: Skip release-please and publish current package.json versions to npm type: boolean default: false