Skip to content

Commit 7ed5b4b

Browse files
authored
ci: allow triggering npm release with workflow_dispatch (#439)
* ci: allow triggering npm release with workflow_dispatch * chore: format
1 parent 422f31a commit 7ed5b4b

File tree

1 file changed

+48
-20
lines changed

1 file changed

+48
-20
lines changed

.github/workflows/release-please.yaml

Lines changed: 48 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,13 @@ on:
33
push:
44
branches:
55
- main
6+
workflow_dispatch:
7+
inputs:
8+
tag:
9+
description: 'Git tag to publish from'
10+
required: true
11+
type: string
12+
613
jobs:
714
release-please:
815
runs-on: ubuntu-latest
@@ -20,89 +27,110 @@ jobs:
2027
id: release
2128
with:
2229
token: ${{ steps.get-token.outputs.token }}
30+
if: github.event_name == 'push'
2331
- uses: actions/checkout@v5
24-
if: ${{ steps.release.outputs.releases_created }}
32+
if: ${{ steps.release.outputs.releases_created || github.event_name == 'workflow_dispatch' }}
2533
with:
2634
token: ${{ steps.get-token.outputs.token }}
35+
fetch-depth: 0
36+
- name: Checkout tag for manual publish
37+
if: github.event_name == 'workflow_dispatch'
38+
run: git checkout ${{ github.event.inputs.tag }}
2739
- uses: actions/setup-node@v4
2840
with:
2941
node-version: '*'
3042
cache: 'npm'
3143
check-latest: true
3244
registry-url: 'https://registry.npmjs.org'
33-
if: ${{ steps.release.outputs.releases_created }}
45+
if: ${{ steps.release.outputs.releases_created || github.event_name == 'workflow_dispatch' }}
3446
- name: Setup Deno
3547
uses: denoland/setup-deno@v1
3648
with:
3749
deno-version: 2.2.4
3850
- run: npm ci
39-
if: ${{ steps.release.outputs.releases_created }}
51+
if: ${{ steps.release.outputs.releases_created || github.event_name == 'workflow_dispatch' }}
4052
- name: Build packages
41-
if: ${{ steps.release.outputs.releases_created }}
53+
if: ${{ steps.release.outputs.releases_created || github.event_name == 'workflow_dispatch' }}
4254
run: npm run build --workspaces=true
4355

4456
# Publishing packages in topological order, as defined in `package.json`.
4557
- run: npm publish packages/types/ --provenance --access=public
46-
if: ${{ steps.release.outputs['packages/types--release_created'] }}
58+
if: ${{ steps.release.outputs['packages/types--release_created'] || github.event_name == 'workflow_dispatch' }}
4759
env:
4860
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
4961
- run: npm publish packages/dev-utils/ --provenance --access=public
50-
if: ${{ steps.release.outputs['packages/dev-utils--release_created'] }}
62+
if:
63+
${{ steps.release.outputs['packages/dev-utils--release_created'] || github.event_name == 'workflow_dispatch'
64+
}}
5165
env:
5266
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
5367
- run: npm publish packages/runtime-utils/ --provenance --access=public
54-
if: ${{ steps.release.outputs['packages/runtime-utils--release_created'] }}
68+
if:
69+
${{ steps.release.outputs['packages/runtime-utils--release_created'] || github.event_name ==
70+
'workflow_dispatch' }}
5571
env:
5672
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
5773
- run: npm publish packages/blobs/ --provenance --access=public
58-
if: ${{ steps.release.outputs['packages/blobs--release_created'] }}
74+
if: ${{ steps.release.outputs['packages/blobs--release_created'] || github.event_name == 'workflow_dispatch' }}
5975
env:
6076
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
6177
- run: npm publish packages/cache/ --provenance --access=public
62-
if: ${{ steps.release.outputs['packages/cache--release_created'] }}
78+
if: ${{ steps.release.outputs['packages/cache--release_created'] || github.event_name == 'workflow_dispatch' }}
6379
env:
6480
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
6581
- run: npm publish packages/edge-functions/ --provenance --access=public
66-
if: ${{ steps.release.outputs['packages/edge-functions--release_created'] }}
82+
if:
83+
${{ steps.release.outputs['packages/edge-functions--release_created'] || github.event_name ==
84+
'workflow_dispatch' }}
6785
env:
6886
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
6987
- run: npm publish packages/functions/ --provenance --access=public
70-
if: ${{ steps.release.outputs['packages/functions--release_created'] }}
88+
if:
89+
${{ steps.release.outputs['packages/functions--release_created'] || github.event_name == 'workflow_dispatch'
90+
}}
7191
env:
7292
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
7393
- run: npm publish packages/headers/ --provenance --access=public
74-
if: ${{ steps.release.outputs['packages/headers--release_created'] }}
94+
if:
95+
${{ steps.release.outputs['packages/headers--release_created'] || github.event_name == 'workflow_dispatch' }}
7596
env:
7697
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
7798
- run: npm publish packages/images/ --provenance --access=public
78-
if: ${{ steps.release.outputs['packages/images--release_created'] }}
99+
if: ${{ steps.release.outputs['packages/images--release_created'] || github.event_name == 'workflow_dispatch' }}
79100
env:
80101
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
81102
- run: npm publish packages/nuxt-module/ --provenance --access=public
82-
if: ${{ steps.release.outputs['packages/nuxt-module--release_created'] }}
103+
if:
104+
${{ steps.release.outputs['packages/nuxt-module--release_created'] || github.event_name == 'workflow_dispatch'
105+
}}
83106
env:
84107
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
85108
- run: npm publish packages/redirects/ --provenance --access=public
86-
if: ${{ steps.release.outputs['packages/redirects--release_created'] }}
109+
if:
110+
${{ steps.release.outputs['packages/redirects--release_created'] || github.event_name == 'workflow_dispatch'
111+
}}
87112
env:
88113
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
89114
- run: npm publish packages/runtime/ --provenance --access=public
90-
if: ${{ steps.release.outputs['packages/runtime--release_created'] }}
115+
if:
116+
${{ steps.release.outputs['packages/runtime--release_created'] || github.event_name == 'workflow_dispatch' }}
91117
env:
92118
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
93119
- run: npm publish packages/static/ --provenance --access=public
94-
if: ${{ steps.release.outputs['packages/static--release_created'] }}
120+
if: ${{ steps.release.outputs['packages/static--release_created'] || github.event_name == 'workflow_dispatch' }}
95121
env:
96122
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
97123
- run: npm publish packages/dev/ --provenance --access=public
98-
if: ${{ steps.release.outputs['packages/dev--release_created'] }}
124+
if: ${{ steps.release.outputs['packages/dev--release_created'] || github.event_name == 'workflow_dispatch' }}
99125
env:
100126
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
101127
- run: npm publish packages/vite-plugin/ --provenance --access=public
102-
if: ${{ steps.release.outputs['packages/vite-plugin--release_created'] }}
128+
if:
129+
${{ steps.release.outputs['packages/vite-plugin--release_created'] || github.event_name == 'workflow_dispatch'
130+
}}
103131
env:
104132
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
105133
- run: npm publish packages/otel/ --provenance --access=public
106-
if: ${{ steps.release.outputs['packages/otel--release_created'] }}
134+
if: ${{ steps.release.outputs['packages/otel--release_created'] || github.event_name == 'workflow_dispatch' }}
107135
env:
108136
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}

0 commit comments

Comments
 (0)