@mycodemap/mycodemap 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/dist/cli/commands/ship/analyzer.d.ts +1 -1
- package/dist/cli/commands/ship/analyzer.d.ts.map +1 -1
- package/dist/cli/commands/ship/analyzer.js +8 -1
- package/dist/cli/commands/ship/analyzer.js.map +1 -1
- package/dist/cli/commands/ship/checker.d.ts +1 -1
- package/dist/cli/commands/ship/checker.d.ts.map +1 -1
- package/dist/cli/commands/ship/checker.js +18 -4
- package/dist/cli/commands/ship/checker.js.map +1 -1
- package/dist/cli/commands/ship/index.js +2 -2
- package/dist/cli/commands/ship/index.js.map +1 -1
- package/dist/cli/commands/ship/monitor.d.ts +17 -2
- package/dist/cli/commands/ship/monitor.d.ts.map +1 -1
- package/dist/cli/commands/ship/monitor.js +116 -29
- package/dist/cli/commands/ship/monitor.js.map +1 -1
- package/dist/cli/commands/ship/pipeline.d.ts.map +1 -1
- package/dist/cli/commands/ship/pipeline.js +97 -18
- package/dist/cli/commands/ship/pipeline.js.map +1 -1
- package/dist/cli/commands/ship/publisher.d.ts +12 -2
- package/dist/cli/commands/ship/publisher.d.ts.map +1 -1
- package/dist/cli/commands/ship/publisher.js +217 -37
- package/dist/cli/commands/ship/publisher.js.map +1 -1
- package/dist/cli/commands/ship/rules/quality-rules.d.ts +2 -1
- package/dist/cli/commands/ship/rules/quality-rules.d.ts.map +1 -1
- package/dist/cli/commands/ship/rules/quality-rules.js +106 -35
- package/dist/cli/commands/ship/rules/quality-rules.js.map +1 -1
- package/dist/cli/commands/ship/versioner.d.ts +1 -1
- package/dist/cli/commands/ship/versioner.d.ts.map +1 -1
- package/dist/cli/commands/ship/versioner.js +4 -2
- package/dist/cli/commands/ship/versioner.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/docs/PUBLISHING.md +18 -4
- package/docs/ai-guide/COMMANDS.md +1 -1
- package/docs/ai-guide/PROMPTS.md +38 -0
- package/package.json +1 -1
- package/scripts/pre-release-check.js +21 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,40 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.4.1] - 2026-03-23 - Ship Workflow Fixes
|
|
6
|
+
|
|
7
|
+
### 🐛 Bug Fixes
|
|
8
|
+
|
|
9
|
+
- ship: 为 push 增加 HTTPS 回退
|
|
10
|
+
- ship: 放宽本地检查输出缓冲区
|
|
11
|
+
- ship: 修复 dry-run 文案与 changelog 判定
|
|
12
|
+
- ship: 切换到 workflow 驱动发布链路
|
|
13
|
+
|
|
14
|
+
### 📚 Documentation
|
|
15
|
+
|
|
16
|
+
- ship: 补录 changelog 发布校验说明
|
|
17
|
+
- ship: 同步 workflow 发布文档与版本基线
|
|
18
|
+
|
|
19
|
+
### 🔧 Maintenance
|
|
20
|
+
|
|
21
|
+
- lock: update package-lock
|
|
22
|
+
|
|
23
|
+
## [0.4.0] - 2026-03-23 - Ship Workflow Release
|
|
24
|
+
|
|
25
|
+
### 🚀 New Features
|
|
26
|
+
|
|
27
|
+
- **ship**: 在发布前自动同步 AI 文档版本
|
|
28
|
+
- **cli**: 完成 `codemap ship` 发布流程的最终联调
|
|
29
|
+
|
|
30
|
+
### 🐛 Bug Fixes
|
|
31
|
+
|
|
32
|
+
- **ship**: 修复 git tag 创建早于版本提交的问题
|
|
33
|
+
|
|
34
|
+
### 📚 Documentation
|
|
35
|
+
|
|
36
|
+
- **docs**: 同步版本号与发布文档到 v0.4.0
|
|
37
|
+
- **docs**: 补录 workflow 驱动发布链路的基线校验说明
|
|
38
|
+
|
|
5
39
|
## [0.3.6] - 2026-03-23 - Ship Workflow Fixes
|
|
6
40
|
|
|
7
41
|
### 🐛 Bug Fixes
|
|
@@ -22,5 +22,5 @@ export interface GitCommit {
|
|
|
22
22
|
isBreaking: boolean;
|
|
23
23
|
}
|
|
24
24
|
export declare function analyzeCommits(since?: string): Promise<AnalyzeResult>;
|
|
25
|
-
export declare function formatAnalyzeOutput(result: AnalyzeResult): string;
|
|
25
|
+
export declare function formatAnalyzeOutput(result: AnalyzeResult, verbose?: boolean): string;
|
|
26
26
|
//# sourceMappingURL=analyzer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/ship/analyzer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAwB,WAAW,EAAgB,MAAM,0BAA0B,CAAC;AAE3G,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;CACrB;AAiDD,wBAAsB,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAuF3E;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/ship/analyzer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAwB,WAAW,EAAgB,MAAM,0BAA0B,CAAC;AAE3G,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;CACrB;AAiDD,wBAAsB,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAuF3E;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE,OAAe,GAAG,MAAM,CA6B3F"}
|
|
@@ -120,7 +120,7 @@ export async function analyzeCommits(since) {
|
|
|
120
120
|
commitsSinceTag: commits.length
|
|
121
121
|
};
|
|
122
122
|
}
|
|
123
|
-
export function formatAnalyzeOutput(result) {
|
|
123
|
+
export function formatAnalyzeOutput(result, verbose = false) {
|
|
124
124
|
const lines = [];
|
|
125
125
|
lines.push(`变更分析 (自 ${result.lastTag}):`);
|
|
126
126
|
if (result.summary.features > 0) {
|
|
@@ -138,6 +138,13 @@ export function formatAnalyzeOutput(result) {
|
|
|
138
138
|
if (result.summary.other > 0) {
|
|
139
139
|
lines.push(` [OTHER] ${result.summary.other}个 - 其他`);
|
|
140
140
|
}
|
|
141
|
+
if (verbose) {
|
|
142
|
+
lines.push(` commits: ${result.commitsSinceTag}`);
|
|
143
|
+
lines.push(` changed files: ${result.changedFiles.length}`);
|
|
144
|
+
for (const commit of result.commits.slice(0, 5)) {
|
|
145
|
+
lines.push(` - ${commit.hash} ${commit.type}: ${commit.message}`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
141
148
|
return lines.join('\n');
|
|
142
149
|
}
|
|
143
150
|
//# sourceMappingURL=analyzer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../../../../src/cli/commands/ship/analyzer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../../../../src/cli/commands/ship/analyzer.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,sCAAsC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAkB,oBAAoB,EAAe,YAAY,EAAE,MAAM,0BAA0B,CAAC;AA0B3G,SAAS,WAAW,CAAC,UAAkB;IACrC,mDAAmD;IACnD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;IAE7B,2CAA2C;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACvE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,IAAI;YACJ,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,KAAK;SAClB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAE3C,UAAU;IACV,MAAM,UAAU,GACd,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QACrB,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAE3D,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;QACxB,KAAK;QACL,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;QACvB,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,OAAe;IACrC,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;IAC/E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,QAAQ,IAAI,KAAK,IAAK,KAA4B,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9F,YAAY;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAc;IACjD,cAAc;IACd,IAAI,OAAO,GAAG,QAAQ,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,cAAc,CAAC,2CAA2C,CAAC,CAAC;QACzE,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAChB,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,gBAAgB;IAClB,CAAC;IAED,wBAAwB;IACxB,MAAM,QAAQ,GAAG,KAAK,IAAI,OAAO,CAAC;IAClC,MAAM,WAAW,GAAG,cAAc,CAChC,WAAW,QAAQ,+CAA+C,CACnE,CAAC;IAEF,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAE1C,cAAc;IACd,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,SAAS;QAC3B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC;gBACX,GAAG,MAAM;gBACT,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC,CAAC;YAEH,mBAAmB;YACnB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,cAAc,CAAC,YAAY,MAAM,CAAC,IAAI,sCAAsC,CAAC,CAAC;gBAC5F,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACnC,IAAI,CAAC,CAAC,IAAI,EAAE;wBAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,cAAc,CAAC,YAAY,QAAQ,gCAAgC,CAAC,CAAC;QACtF,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACtC,IAAI,CAAC,CAAC,IAAI,EAAE;gBAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,KAAK;IACP,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAEjD,cAAc;IACd,MAAM,OAAO,GAAG;QACd,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC3B,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC5E,CAAC,MAAM;QACR,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC3B,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC1D,CAAC,MAAM;QACR,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;QAClE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACzD,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACxB,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC;aACtH,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACjC,CAAC,MAAM;KACT,CAAC;IAEF,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAExD,OAAO;QACL,OAAO;QACP,OAAO;QACP,WAAW;QACX,eAAe;QACf,YAAY;QACZ,OAAO;QACP,eAAe,EAAE,OAAO,CAAC,MAAM;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAqB,EAAE,UAAmB,KAAK;IACjF,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,OAAO,CAAC,QAAQ,SAAS,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,OAAO,CAAC,QAAQ,YAAY,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,OAAO,CAAC,SAAS,QAAQ,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -14,7 +14,7 @@ export interface CheckOutput {
|
|
|
14
14
|
confidence: ConfidenceResult;
|
|
15
15
|
}
|
|
16
16
|
export declare function runQualityChecks(analyzeResult: AnalyzeResult, versionResult: VersionResult): Promise<CheckOutput>;
|
|
17
|
-
export declare function formatCheckOutput(output: CheckOutput): string;
|
|
17
|
+
export declare function formatCheckOutput(output: CheckOutput, verbose?: boolean): string;
|
|
18
18
|
export declare function formatConfidenceOutput(confidence: ConfidenceResult): string;
|
|
19
19
|
export declare function shouldBlockRelease(output: CheckOutput): boolean;
|
|
20
20
|
//# sourceMappingURL=checker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/ship/checker.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAuB,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpF,MAAM,WAAW,WAAW;IAC1B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtE,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,wBAAsB,gBAAgB,CACpC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/ship/checker.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAuB,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpF,MAAM,WAAW,WAAW;IAC1B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtE,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,wBAAsB,gBAAgB,CACpC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,WAAW,CAAC,CAsCtB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,OAAe,GAAG,MAAM,CAuCvF;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,gBAAgB,GAAG,MAAM,CAoB3E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAY/D"}
|
|
@@ -10,7 +10,8 @@ export async function runQualityChecks(analyzeResult, versionResult) {
|
|
|
10
10
|
commits: analyzeResult.commits,
|
|
11
11
|
changedFiles: analyzeResult.changedFiles,
|
|
12
12
|
currentVersion: versionResult.currentVersion,
|
|
13
|
-
branch
|
|
13
|
+
branch,
|
|
14
|
+
versionType: versionResult.versionType
|
|
14
15
|
};
|
|
15
16
|
// 运行所有检查
|
|
16
17
|
const { mustPassResults, shouldPassResults } = await runChecks(ctx);
|
|
@@ -22,7 +23,7 @@ export async function runQualityChecks(analyzeResult, versionResult) {
|
|
|
22
23
|
commits: analyzeResult.commits,
|
|
23
24
|
changedFiles: analyzeResult.changedFiles,
|
|
24
25
|
allCommitsConventional,
|
|
25
|
-
coverageAbove80:
|
|
26
|
+
coverageAbove80: shouldPassResults.get('testCoverageAbove80')?.passed ?? false,
|
|
26
27
|
changelogUpdated: shouldPassResults.get('changelogUpdated')?.passed ?? false,
|
|
27
28
|
hasBreaking: analyzeResult.breakingChanges
|
|
28
29
|
});
|
|
@@ -34,7 +35,7 @@ export async function runQualityChecks(analyzeResult, versionResult) {
|
|
|
34
35
|
confidence
|
|
35
36
|
};
|
|
36
37
|
}
|
|
37
|
-
export function formatCheckOutput(output) {
|
|
38
|
+
export function formatCheckOutput(output, verbose = false) {
|
|
38
39
|
const lines = [];
|
|
39
40
|
const { mustPassResults, shouldPassResults, confidence } = output;
|
|
40
41
|
lines.push('质量检查:');
|
|
@@ -50,9 +51,22 @@ export function formatCheckOutput(output) {
|
|
|
50
51
|
// 置信度
|
|
51
52
|
lines.push('');
|
|
52
53
|
lines.push(`置信度: ${confidence.score}/100`);
|
|
53
|
-
|
|
54
|
+
const reasons = verbose ? confidence.reasons : confidence.reasons.slice(0, 5);
|
|
55
|
+
for (const reason of reasons) {
|
|
54
56
|
lines.push(` ${reason}`);
|
|
55
57
|
}
|
|
58
|
+
if (verbose) {
|
|
59
|
+
lines.push('');
|
|
60
|
+
lines.push('建议检查:');
|
|
61
|
+
for (const [name, result] of shouldPassResults) {
|
|
62
|
+
const icon = result.passed ? '✅' : '⚠️';
|
|
63
|
+
const label = name.replace(/([A-Z])/g, ' $1').toLowerCase();
|
|
64
|
+
lines.push(` ${icon} ${label}`);
|
|
65
|
+
if (result.message) {
|
|
66
|
+
lines.push(` ${result.message}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
56
70
|
return lines.join('\n');
|
|
57
71
|
}
|
|
58
72
|
export function formatConfidenceOutput(confidence) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checker.js","sourceRoot":"","sources":["../../../../src/cli/commands/ship/checker.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,iDAAiD;AAEjD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAgB,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAoB,MAAM,6BAA6B,CAAC;AASpF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,aAA4B,EAC5B,aAA4B;IAE5B,MAAM,MAAM,GAAG,QAAQ,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEnF,MAAM,GAAG,GAAiB;QACxB,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,YAAY,EAAE,aAAa,CAAC,YAAY;QACxC,cAAc,EAAE,aAAa,CAAC,cAAc;QAC5C,MAAM;
|
|
1
|
+
{"version":3,"file":"checker.js","sourceRoot":"","sources":["../../../../src/cli/commands/ship/checker.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,10 +30,10 @@ export async function shipCommand(options) {
|
|
|
30
30
|
export function createShipCommand() {
|
|
31
31
|
const program = new Command('ship');
|
|
32
32
|
program
|
|
33
|
-
.description('一键智能发布 -
|
|
33
|
+
.description('一键智能发布 - 自动分析变更、计算版本、运行检查、推送 tag 并触发 GitHub Actions 发布')
|
|
34
34
|
.option('--dry-run', '仅分析,不发布')
|
|
35
35
|
.option('--verbose', '显示详细输出')
|
|
36
|
-
.option('--yes', '置信度 60-75 时自动确认(不询问)')
|
|
36
|
+
.option('--yes, -y', '置信度 60-75 时自动确认(不询问)')
|
|
37
37
|
.action(async (opts) => {
|
|
38
38
|
await shipCommand(opts);
|
|
39
39
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/commands/ship/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,0BAA0B;AAE1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAkB,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAQrF,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAoB;IACpD,MAAM,GAAG,GAAG;QACV,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;QAC/B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;QACjC,WAAW,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK;KAClC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAmB,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;QAE1D,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IAEH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QACvC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpC,OAAO;SACJ,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/commands/ship/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,0BAA0B;AAE1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAkB,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAQrF,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAoB;IACpD,MAAM,GAAG,GAAG;QACV,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;QAC/B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;QACjC,WAAW,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK;KAClC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAmB,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;QAE1D,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IAEH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QACvC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpC,OAAO;SACJ,WAAW,CAAC,wDAAwD,CAAC;SACrE,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC;SAC9B,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC;SAC7B,MAAM,CAAC,WAAW,EAAE,sBAAsB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,UAAU;AACV,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -2,9 +2,21 @@ export interface MonitorResult {
|
|
|
2
2
|
success: boolean;
|
|
3
3
|
status: 'success' | 'failure' | 'timeout' | 'pending';
|
|
4
4
|
workflowUrl?: string;
|
|
5
|
+
releaseUrl?: string;
|
|
6
|
+
runId?: number;
|
|
7
|
+
failedJobs?: string[];
|
|
5
8
|
error?: string;
|
|
6
9
|
duration?: number;
|
|
7
10
|
}
|
|
11
|
+
export interface MonitorOptions {
|
|
12
|
+
dryRun?: boolean;
|
|
13
|
+
tagName?: string;
|
|
14
|
+
headSha?: string;
|
|
15
|
+
workflowFile?: string;
|
|
16
|
+
startedAtMs?: number;
|
|
17
|
+
pollIntervalMs?: number;
|
|
18
|
+
timeoutMs?: number;
|
|
19
|
+
}
|
|
8
20
|
export interface GitHubActionsRun {
|
|
9
21
|
id: number;
|
|
10
22
|
name: string;
|
|
@@ -13,7 +25,10 @@ export interface GitHubActionsRun {
|
|
|
13
25
|
html_url: string;
|
|
14
26
|
created_at: string;
|
|
15
27
|
updated_at: string;
|
|
28
|
+
head_branch?: string;
|
|
29
|
+
head_sha?: string;
|
|
30
|
+
jobs_url: string;
|
|
16
31
|
}
|
|
17
|
-
export declare function monitorCI(
|
|
18
|
-
export declare function formatMonitorOutput(result: MonitorResult): string;
|
|
32
|
+
export declare function monitorCI(options?: MonitorOptions): Promise<MonitorResult>;
|
|
33
|
+
export declare function formatMonitorOutput(result: MonitorResult, verbose?: boolean): string;
|
|
19
34
|
//# sourceMappingURL=monitor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/ship/monitor.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/ship/monitor.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAgGD,wBAAsB,SAAS,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAuFpF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE,OAAe,GAAG,MAAM,CA4C3F"}
|
|
@@ -1,50 +1,106 @@
|
|
|
1
1
|
// [META] since:2026-03 | owner:cli-team | stable:false
|
|
2
|
-
// [WHY] Step 5:
|
|
2
|
+
// [WHY] Step 5: 精确监控 tag push 触发的 GitHub Actions 发布状态
|
|
3
3
|
import chalk from 'chalk';
|
|
4
4
|
import { execSync } from 'child_process';
|
|
5
|
-
const POLL_INTERVAL_MS = 10_000;
|
|
6
|
-
const TIMEOUT_MS = 600_000;
|
|
5
|
+
const POLL_INTERVAL_MS = 10_000;
|
|
6
|
+
const TIMEOUT_MS = 600_000;
|
|
7
7
|
async function sleep(ms) {
|
|
8
8
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
function resolveRepoSlug() {
|
|
11
11
|
try {
|
|
12
|
-
|
|
12
|
+
return execSync('git remote get-url origin 2>/dev/null', { encoding: 'utf-8' })
|
|
13
13
|
.trim()
|
|
14
14
|
.replace(/.*github\.com[/:]/, '')
|
|
15
15
|
.replace(/\.git$/, '');
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function getHeaders() {
|
|
22
|
+
const headers = {
|
|
23
|
+
'Accept': 'application/vnd.github+json',
|
|
24
|
+
'User-Agent': 'codemap-ship'
|
|
25
|
+
};
|
|
26
|
+
const token = process.env.GITHUB_TOKEN || process.env.GH_TOKEN;
|
|
27
|
+
if (token) {
|
|
28
|
+
headers['Authorization'] = `Bearer ${token}`;
|
|
29
|
+
}
|
|
30
|
+
return headers;
|
|
31
|
+
}
|
|
32
|
+
async function listWorkflowRuns(repo, workflowFile) {
|
|
33
|
+
const response = await fetch(`https://api.github.com/repos/${repo}/actions/workflows/${workflowFile}/runs?event=push&per_page=20`, { headers: getHeaders() });
|
|
34
|
+
if (!response.ok) {
|
|
35
|
+
return [];
|
|
36
|
+
}
|
|
37
|
+
const data = await response.json();
|
|
38
|
+
return data.workflow_runs ?? [];
|
|
39
|
+
}
|
|
40
|
+
function findMatchingRun(runs, tagName, headSha, startedAtMs) {
|
|
41
|
+
const createdAfter = (startedAtMs ?? 0) - 120_000;
|
|
42
|
+
for (const run of runs) {
|
|
43
|
+
const createdAt = new Date(run.created_at).getTime();
|
|
44
|
+
const branchMatched = !run.head_branch || run.head_branch === tagName;
|
|
45
|
+
const shaMatched = !run.head_sha || run.head_sha === headSha;
|
|
46
|
+
const timeMatched = createdAt >= createdAfter;
|
|
47
|
+
if (branchMatched && shaMatched && timeMatched) {
|
|
48
|
+
return run;
|
|
25
49
|
}
|
|
26
|
-
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
async function readFailedJobs(run) {
|
|
54
|
+
try {
|
|
55
|
+
const response = await fetch(run.jobs_url, { headers: getHeaders() });
|
|
27
56
|
if (!response.ok) {
|
|
28
|
-
return
|
|
57
|
+
return [];
|
|
29
58
|
}
|
|
30
59
|
const data = await response.json();
|
|
31
|
-
return data.
|
|
60
|
+
return (data.jobs ?? [])
|
|
61
|
+
.filter(job => job.conclusion === 'failure')
|
|
62
|
+
.map(job => {
|
|
63
|
+
const failedStep = (job.steps ?? []).find(step => step.conclusion === 'failure');
|
|
64
|
+
return failedStep ? `${job.name} / ${failedStep.name}` : job.name;
|
|
65
|
+
});
|
|
32
66
|
}
|
|
33
67
|
catch {
|
|
34
|
-
return
|
|
68
|
+
return [];
|
|
35
69
|
}
|
|
36
70
|
}
|
|
37
|
-
export async function monitorCI(
|
|
71
|
+
export async function monitorCI(options = {}) {
|
|
72
|
+
const dryRun = options.dryRun ?? false;
|
|
38
73
|
if (dryRun) {
|
|
39
74
|
console.log(chalk.gray(' [dry-run] 跳过 CI 监控'));
|
|
40
75
|
return { success: true, status: 'success' };
|
|
41
76
|
}
|
|
77
|
+
if (!options.tagName || !options.headSha) {
|
|
78
|
+
return {
|
|
79
|
+
success: false,
|
|
80
|
+
status: 'failure',
|
|
81
|
+
error: '缺少 tagName/headSha,无法精确匹配 workflow run'
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
const repo = resolveRepoSlug();
|
|
85
|
+
if (!repo) {
|
|
86
|
+
return {
|
|
87
|
+
success: false,
|
|
88
|
+
status: 'failure',
|
|
89
|
+
error: '无法解析 GitHub 仓库地址'
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
const workflowFile = options.workflowFile ?? 'publish.yml';
|
|
93
|
+
const pollIntervalMs = options.pollIntervalMs ?? POLL_INTERVAL_MS;
|
|
94
|
+
const timeoutMs = options.timeoutMs ?? TIMEOUT_MS;
|
|
95
|
+
const releaseUrl = `https://github.com/${repo}/releases/tag/${options.tagName}`;
|
|
42
96
|
console.log(chalk.gray(' 等待 CI 完成...'));
|
|
43
97
|
const startTime = Date.now();
|
|
44
|
-
let
|
|
45
|
-
while (Date.now() - startTime <
|
|
46
|
-
|
|
98
|
+
let lastSeenRun = null;
|
|
99
|
+
while (Date.now() - startTime < timeoutMs) {
|
|
100
|
+
const runs = await listWorkflowRuns(repo, workflowFile);
|
|
101
|
+
const run = findMatchingRun(runs, options.tagName, options.headSha, options.startedAtMs);
|
|
47
102
|
if (run) {
|
|
103
|
+
lastSeenRun = run;
|
|
48
104
|
const elapsed = Math.floor((Date.now() - startTime) / 1000);
|
|
49
105
|
const minutes = Math.floor(elapsed / 60);
|
|
50
106
|
const seconds = elapsed % 60;
|
|
@@ -52,36 +108,53 @@ export async function monitorCI(dryRun = false) {
|
|
|
52
108
|
return {
|
|
53
109
|
success: true,
|
|
54
110
|
status: 'success',
|
|
111
|
+
runId: run.id,
|
|
55
112
|
workflowUrl: run.html_url,
|
|
113
|
+
releaseUrl,
|
|
56
114
|
duration: Date.now() - startTime
|
|
57
115
|
};
|
|
58
116
|
}
|
|
59
|
-
if (run.conclusion
|
|
117
|
+
if (['failure', 'cancelled', 'timed_out', 'action_required'].includes(run.conclusion ?? '')) {
|
|
118
|
+
const failedJobs = await readFailedJobs(run);
|
|
60
119
|
return {
|
|
61
120
|
success: false,
|
|
62
121
|
status: 'failure',
|
|
122
|
+
runId: run.id,
|
|
63
123
|
workflowUrl: run.html_url,
|
|
124
|
+
releaseUrl,
|
|
125
|
+
failedJobs,
|
|
126
|
+
error: failedJobs.length > 0 ? failedJobs.join('; ') : undefined,
|
|
64
127
|
duration: Date.now() - startTime
|
|
65
128
|
};
|
|
66
129
|
}
|
|
67
130
|
console.log(chalk.gray(` [${minutes}:${seconds.toString().padStart(2, '0')}] 构建中...`));
|
|
68
131
|
}
|
|
69
|
-
|
|
132
|
+
else {
|
|
133
|
+
const elapsed = Math.floor((Date.now() - startTime) / 1000);
|
|
134
|
+
const minutes = Math.floor(elapsed / 60);
|
|
135
|
+
const seconds = elapsed % 60;
|
|
136
|
+
console.log(chalk.gray(` [${minutes}:${seconds.toString().padStart(2, '0')}] 等待 workflow 创建...`));
|
|
137
|
+
}
|
|
138
|
+
await sleep(pollIntervalMs);
|
|
70
139
|
}
|
|
71
|
-
// 超时
|
|
72
140
|
return {
|
|
73
141
|
success: false,
|
|
74
142
|
status: 'timeout',
|
|
75
|
-
|
|
143
|
+
workflowUrl: lastSeenRun?.html_url,
|
|
144
|
+
releaseUrl,
|
|
145
|
+
error: `CI 监控超时 (${timeoutMs / 1000} 秒)`
|
|
76
146
|
};
|
|
77
147
|
}
|
|
78
|
-
export function formatMonitorOutput(result) {
|
|
148
|
+
export function formatMonitorOutput(result, verbose = false) {
|
|
79
149
|
const lines = [];
|
|
80
150
|
if (result.success) {
|
|
81
151
|
lines.push(chalk.green('✅ CI 构建成功'));
|
|
82
152
|
if (result.workflowUrl) {
|
|
83
153
|
lines.push(chalk.gray(` ${result.workflowUrl}`));
|
|
84
154
|
}
|
|
155
|
+
if (result.releaseUrl) {
|
|
156
|
+
lines.push(chalk.gray(` ${result.releaseUrl}`));
|
|
157
|
+
}
|
|
85
158
|
}
|
|
86
159
|
else {
|
|
87
160
|
switch (result.status) {
|
|
@@ -90,16 +163,30 @@ export function formatMonitorOutput(result) {
|
|
|
90
163
|
if (result.workflowUrl) {
|
|
91
164
|
lines.push(chalk.gray(` ${result.workflowUrl}`));
|
|
92
165
|
}
|
|
166
|
+
if (result.failedJobs && result.failedJobs.length > 0) {
|
|
167
|
+
lines.push(chalk.gray(` 失败任务: ${result.failedJobs.join(', ')}`));
|
|
168
|
+
}
|
|
169
|
+
else if (result.error) {
|
|
170
|
+
lines.push(chalk.gray(` ${result.error}`));
|
|
171
|
+
}
|
|
93
172
|
break;
|
|
94
173
|
case 'timeout':
|
|
95
174
|
lines.push(chalk.yellow('⏱️ CI 监控超时'));
|
|
96
|
-
lines.push(chalk.gray('
|
|
97
|
-
|
|
175
|
+
lines.push(chalk.gray(' tag 已推送,但 CI 未在 10 分钟内完成'));
|
|
176
|
+
if (result.workflowUrl) {
|
|
177
|
+
lines.push(chalk.gray(` ${result.workflowUrl}`));
|
|
178
|
+
}
|
|
98
179
|
break;
|
|
99
180
|
default:
|
|
100
181
|
lines.push(chalk.yellow('⚠️ CI 状态未知'));
|
|
182
|
+
if (result.error) {
|
|
183
|
+
lines.push(chalk.gray(` ${result.error}`));
|
|
184
|
+
}
|
|
101
185
|
}
|
|
102
186
|
}
|
|
187
|
+
if (verbose && result.duration) {
|
|
188
|
+
lines.push(chalk.gray(` 耗时: ${Math.round(result.duration / 1000)}s`));
|
|
189
|
+
}
|
|
103
190
|
return lines.join('\n');
|
|
104
191
|
}
|
|
105
192
|
//# sourceMappingURL=monitor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../../../src/cli/commands/ship/monitor.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,
|
|
1
|
+
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../../../src/cli/commands/ship/monitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/ship/pipeline.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/ship/pipeline.ts"],"names":[],"mappings":"AAMA,OAAO,EAAuC,aAAa,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAyC,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAA2D,WAAW,EAAE,MAAM,cAAc,CAAC;AACpG,OAAO,EAAgC,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAkC,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7E,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA8DD,wBAAsB,eAAe,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CAqMvF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAKlE"}
|