Skip to content

Commit baefc8b

Browse files
authored
fix: add release doctor dispatch
1 parent 6037451 commit baefc8b

5 files changed

Lines changed: 99 additions & 4 deletions

File tree

.async-pipeline/tasks.lock.json

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@
2525
"name": "pipeline:pr-preview",
2626
"value": "async-pipeline run pr-preview"
2727
},
28+
{
29+
"name": "pipeline:release-doctor",
30+
"value": "async-pipeline run release-doctor"
31+
},
2832
{
2933
"name": "pipeline:stable-release",
3034
"value": "async-pipeline run stable-release"
@@ -117,6 +121,10 @@
117121
"name": "pipeline:pr-preview",
118122
"value": "async-pipeline run pr-preview"
119123
},
124+
{
125+
"name": "pipeline:release-doctor",
126+
"value": "async-pipeline run release-doctor"
127+
},
120128
{
121129
"name": "pipeline:stable-release",
122130
"value": "async-pipeline run stable-release"
@@ -194,6 +202,6 @@
194202
"value": "async-pipeline run verify --force"
195203
}
196204
],
197-
"hash": "sha256:8a62a2e29939bfcd2e084c0415093e8cbf42d1762012f5190199a545bbe75927",
198-
"generatedAt": "2026-06-14T11:02:45.181Z"
205+
"hash": "sha256:5898585e37721d8a8e57f8ae1869620960367fd9c23746855417f405cfeb2fc4",
206+
"generatedAt": "2026-06-14T11:16:50.761Z"
199207
}

.github/async-pipeline.lock.json

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
"generator": "@async/pipeline",
44
"config": "pipeline.ts",
55
"workflow": ".github/workflows/async-pipeline.yml",
6-
"hash": "sha256:ad5f535d514eae1cc2a3ef1117b963746f8806fe8981ca58bf020c3c1411beee",
7-
"generatedAt": "2026-06-14T11:02:45.179Z",
6+
"hash": "sha256:4659c638d8e8ba46401a67281fcf970546e855513dea373ebd2472996ef2f243",
7+
"generatedAt": "2026-06-14T11:16:50.759Z",
88
"triggers": {
99
"pull_request": {},
1010
"push": {
@@ -87,6 +87,28 @@
8787
},
8888
"if": "github.event_name == 'pull_request'"
8989
},
90+
{
91+
"id": "release-doctor",
92+
"target": [
93+
"release-doctor"
94+
],
95+
"trigger": [
96+
"manual"
97+
],
98+
"env": {
99+
"GITHUB_TOKEN": {
100+
"kind": "async-pipeline.env.secret",
101+
"name": "GITHUB_TOKEN"
102+
}
103+
},
104+
"github": {
105+
"permissions": {
106+
"contents": "read",
107+
"packages": "read"
108+
}
109+
},
110+
"if": "github.event_name == 'workflow_dispatch' && github.event.inputs.job == 'release-doctor'"
111+
},
90112
{
91113
"id": "stable-release",
92114
"target": [
@@ -139,6 +161,7 @@
139161
"taskCache": true,
140162
"manualDispatchJobs": [
141163
"pages",
164+
"release-doctor",
142165
"stable-release"
143166
]
144167
}

.github/workflows/async-pipeline.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ on:
1717
type: choice
1818
options:
1919
- "pages"
20+
- "release-doctor"
2021
- "stable-release"
2122

2223
permissions:
@@ -176,6 +177,49 @@ jobs:
176177
CI: true
177178
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
178179

180+
release-doctor:
181+
name: release-doctor
182+
if: github.event_name == 'workflow_dispatch' && github.event.inputs.job == 'release-doctor'
183+
runs-on: ubuntu-latest
184+
permissions:
185+
contents: read
186+
packages: read
187+
steps:
188+
- name: Checkout
189+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
190+
191+
- name: Restore task cache
192+
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
193+
with:
194+
path: .async/cache
195+
key: async-pipeline-${{ runner.os }}-${{ github.sha }}
196+
restore-keys: |
197+
async-pipeline-${{ runner.os }}-
198+
199+
- name: Setup Node
200+
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
201+
with:
202+
node-version: 24
203+
registry-url: https://registry.npmjs.org/
204+
package-manager-cache: false
205+
206+
- name: Enable pnpm
207+
run: |
208+
corepack enable
209+
corepack prepare pnpm@10.20.0 --activate
210+
211+
- name: Install dependencies
212+
run: pnpm install --frozen-lockfile
213+
214+
- name: Check generated workflow
215+
run: pnpm async-pipeline github check
216+
217+
- name: Run pipeline job
218+
run: pnpm async-pipeline run release-doctor
219+
env:
220+
CI: true
221+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
222+
179223
stable-release:
180224
name: stable-release
181225
if: (github.event_name == 'workflow_dispatch' && github.event.inputs.job == 'stable-release') || (github.event_name == 'release')

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
"pipeline:publish:github:pr": "async-pipeline publish github pr --package packages/web",
2121
"pipeline:publish:github:release": "async-pipeline publish github release --package packages/web",
2222
"pipeline:publish:npm": "async-pipeline publish npm --package packages/web",
23+
"pipeline:release-doctor": "async-pipeline run release-doctor",
2324
"pipeline:release:doctor": "async-pipeline release doctor --package packages/web",
2425
"pipeline:release:ensure": "async-pipeline release ensure --package packages/web",
2526
"pipeline:stable-release": "async-pipeline run stable-release",

pipeline.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,12 @@ export default definePipeline({
139139
sh`pnpm async-pipeline release doctor --package ${publishPackage}`
140140
]
141141
}),
142+
"release-doctor": task({
143+
description: "Verify the published package, GitHub release, and registry state.",
144+
inputs: ["packages/web/package.json"],
145+
cache: false,
146+
run: sh`pnpm async-pipeline release doctor --package ${publishPackage}`
147+
}),
142148
"release-ensure": task({
143149
description: "Create or verify the release tag and GitHub Release before package publishing.",
144150
dependsOn: ["pack"],
@@ -199,6 +205,19 @@ export default definePipeline({
199205
}
200206
}
201207
}),
208+
"release-doctor": job({
209+
target: "release-doctor",
210+
trigger: ["manual"],
211+
env: {
212+
GITHUB_TOKEN: env.secret("GITHUB_TOKEN")
213+
},
214+
github: {
215+
permissions: {
216+
contents: "read",
217+
packages: "read"
218+
}
219+
}
220+
}),
202221
pages: job({
203222
target: ["pack", "api-surface", "pages-build"],
204223
trigger: ["main", "manual"],

0 commit comments

Comments
 (0)