ci(workflows): rename, optimize and unify CI with enhanced PR preview#1681
ci(workflows): rename, optimize and unify CI with enhanced PR preview#1681
Conversation
|
commit: |
|
Size Change: 0 B Total Size: 7.84 MB ℹ️ View Unchanged
|
There was a problem hiding this comment.
Pull request overview
This PR reorganizes and unifies the repository’s GitHub Actions CI/CD by splitting responsibilities into dedicated PR checks, adding reusable workflows for preview/release pipelines, and improving PR preview outputs (Playground/Client/VSCode plugin) with automated deployment and commenting.
Changes:
- Replaced legacy CI workflows with a clearer PR check suite (lint/build matrix, unit tests, spell check, changeset check, compressed size).
- Introduced reusable workflows for npm release/dev-preview publishing, Tauri client multi-platform builds, and VSCode plugin build/package/publish.
- Added an orchestrated PR preview pipeline: build artifacts → deploy/comment, plus streamlined GitHub Pages deployment and CNB sync workflow updates.
Reviewed changes
Copilot reviewed 32 out of 32 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/vscodePlugin/tsconfig.json | Adjusts TS build output settings for the VSCode plugin (removes TS sourcemaps). |
| packages/vscodePlugin/rspack.config.ts | Disables production sourcemaps via conditional devtool configuration. |
| packages/vscodePlugin/package.json | Updates plugin scripts to separate build vs VSIX packaging via @vscode/vsce. |
| .github/workflows/test.yml | Removes legacy PR test workflow (superseded by pr-test.yml). |
| .github/workflows/sync-cnb.yml | Adds documentation/guardrails, permissions/concurrency, and fixes action reference. |
| .github/workflows/reusable-vscode-plugin.yml | Adds reusable workflow for VSCode plugin build/package/pre-release/release. |
| .github/workflows/reusable-playground-build.yml | Converts Playground preview build to a reusable workflow and tweaks artifact contents. |
| .github/workflows/reusable-npm-release.yml | Adds reusable OIDC-based npm release workflow for cherry-markdown. |
| .github/workflows/reusable-npm-dev-preview.yml | Adds reusable OIDC-based npm dev-preview publish + PR comment workflow. |
| .github/workflows/reusable-client-build.yml | Adds reusable multi-platform Tauri client build workflow (preview artifacts / release assets). |
| .github/workflows/release.yml | Refactors release orchestration to call reusable workflows and conditionally sync main→dev. |
| .github/workflows/release-vscode-plugin-build.yaml | Removes legacy VSCode plugin release workflow (replaced by reusable-vscode-plugin.yml). |
| .github/workflows/release-client-build.yaml | Removes legacy client release workflow (replaced by reusable-client-build.yml). |
| .github/workflows/release-cherry-markdown-build.yaml | Removes legacy core npm release workflow (replaced by reusable-npm-release.yml). |
| .github/workflows/pr_preview-publish.yml | Removes legacy PR preview publish workflow (replaced by pr-preview-build + pr-preview-deploy). |
| .github/workflows/pr_preview-pkg.yml | Removes legacy pkg-pr-new preview workflow (replaced by pr-preview-pkg.yml). |
| .github/workflows/pr_merge_vscode_plugin_dev_preview.yml | Removes legacy VSCode dev-preview publish-on-merge workflow (replaced by merge-dev-preview.yml + reusable-vscode-plugin.yml). |
| .github/workflows/pr_merge_client_dev_preview.yml | Removes legacy client dev-preview build/comment workflow (replaced by reusable-client-build.yml + pr-preview-deploy.yml). |
| .github/workflows/pr_merge_cherry-markdown_npm-dev.yml | Removes legacy npm dev-preview publish-on-merge workflow (replaced by merge-dev-preview.yml + reusable-npm-dev-preview.yml). |
| .github/workflows/pr-test.yml | Adds PR unit test workflow (yarn test). |
| .github/workflows/pr-spell-check.yml | Improves spell-check workflow naming/docs and adds concurrency/permissions. |
| .github/workflows/pr-preview-pkg.yml | Adds PR preview publish via pkg-pr-new. |
| .github/workflows/pr-preview-deploy.yml | Adds artifact-driven PR preview deploy + PR comment publishing (Playground/Client/VSCode). |
| .github/workflows/pr-preview-build.yml | Adds PR preview build orchestrator calling reusable workflows. |
| .github/workflows/pr-compressed-size.yml | Improves compressed-size workflow naming/docs and adds concurrency/permissions/timeouts. |
| .github/workflows/pr-ci.yml | Adds PR CI matrix workflow (Node 20/22 lint + build). |
| .github/workflows/pr-changeset-check.yml | Adds changeset enforcement workflow with skip conditions/label support. |
| .github/workflows/merge-dev-preview.yml | Adds merge-to-dev orchestrator to publish npm dev preview + VSCode pre-release. |
| .github/workflows/github-pages.yml | Removes legacy GitHub Pages deploy workflow (replaced by deploy-pages.yml). |
| .github/workflows/deploy-pages.yml | Adds new GitHub Pages deploy workflow with improved packaging and path fixes. |
| .github/workflows/build.yml | Removes legacy build workflow (superseded by pr-ci.yml). |
| .github/scripts/prepare-vscode-plugin.sh | Adds CI helper to rename workspaces/packages to avoid Yarn v1 name collisions during VSCode plugin publishing. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- reusable-vscode-plugin.yml: add issues:write for pre-release PR comment - reusable-npm-dev-preview.yml: add issues:write for dev preview PR comment Fixes Copilot review findings on PR #1681
* ci: fix missing issues:write permission for PR comments - reusable-vscode-plugin.yml: add issues:write for pre-release PR comment - reusable-npm-dev-preview.yml: add issues:write for dev preview PR comment Fixes Copilot review findings on PR #1681 * ci: fix pr-preview-build permissions for reusable-client-build The reusable-client-build.yml requests contents:write, but pr-preview-build.yml only granted contents:read.
…Tencent#1681) * ci(workflows): rename, optimize and unify CI with enhanced PR preview * ci(vscode): 优化 VSCode 插件发布流程的 package.json 处理逻辑 * ci(workflow): 修复 VSCode 插件构建的 workspace 命名冲突 * ci: 修复 VSCode 插件发布流程中的 prepublish 冲突 * ci(vscode): 移除 prepublish 脚本以避免打包冲突 * ci(vscode): 优化插件发布流程,统一构建与打包命令 * ci: 重构工作流为可复用组件并优化 VSCode 插件构建流程 * chore: 修改 client 包依赖为 workspace 协议 * ci(vscode): 优化插件发布前的准备工作流 * ci: 分离 PR 预览评论并更新插件构建脚本 * ci: 启用 npm provenance 并优化工作流配置 * ci: 重构 GitHub Actions 工作流以优化构建与发布流程 * ci: 允许可复用工作流写入内容权限 * ci(workflows): 调整 client build 权限配置 * ci(pr-preview): 更新预览链接列表 * ci: 移除 Node 18 版本支持 * ci: 移除 PR commitlint 检查工作流 * ci(workflows): 简化部署流程并修复路径问题 * ci(workflows): 优化 npm 预览包发布流程及评论格式
* ci: fix missing issues:write permission for PR comments - reusable-vscode-plugin.yml: add issues:write for pre-release PR comment - reusable-npm-dev-preview.yml: add issues:write for dev preview PR comment Fixes Copilot review findings on PR Tencent#1681 * ci: fix pr-preview-build permissions for reusable-client-build The reusable-client-build.yml requests contents:write, but pr-preview-build.yml only granted contents:read.
The user wants me to annotate the call relationship diagram with functionality descriptions for each workflow.