From 90fd6525dcece773dc2e9de032d7ffc810a2b419 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=97=A5=E5=A4=A9?= Date: Sat, 11 Apr 2026 15:24:02 +0800 Subject: [PATCH] fix(ci): remove obsolete plugin-runtime steps from release-cli workflow The plugin-runtime.mjs entry point and embedded-runtime feature were removed as part of the Rust-owned runtime core rewrite, but the release-cli.yml workflow still tried to build and package the deleted file. This caused prepare-cli-runtime to fail with: ls: cannot access 'cli/dist/plugin-runtime.mjs': No such file Changes: - Remove the prepare-cli-runtime job entirely - Remove plugin-runtime artifact download/copy from build-binary - Remove obsolete --features tnmsc/embedded-runtime from cargo commands - Renumber remaining workflow steps Co-Authored-By: Claude Opus 4.6 --- .github/workflows/release-cli.yml | 50 +++++-------------------------- 1 file changed, 8 insertions(+), 42 deletions(-) diff --git a/.github/workflows/release-cli.yml b/.github/workflows/release-cli.yml index d1a7aa87..9a80b49a 100644 --- a/.github/workflows/release-cli.yml +++ b/.github/workflows/release-cli.yml @@ -336,39 +336,12 @@ jobs: registry-url: ${{ env.NPM_REGISTRY_URL }} package-dir: mcp - # 5. 只构建一次 CLI runtime,供二进制矩阵复用 - prepare-cli-runtime: - needs: preflight - if: | - needs.preflight.outputs.publish_cli == 'true' || - needs.preflight.outputs.gui_should_release == 'true' - runs-on: ubuntu-24.04 - timeout-minutes: 30 - steps: - - uses: actions/checkout@v6 - - uses: ./.github/actions/setup-node-pnpm - - uses: ./.github/actions/setup-rust - with: - cache-key: cli-runtime - - name: Build plugin-runtime - shell: bash - run: | - pnpm -F @truenine/memory-sync-cli run build - ls -la cli/dist/plugin-runtime.mjs - - name: Upload plugin-runtime - uses: actions/upload-artifact@v7 - with: - name: cli-plugin-runtime - path: cli/dist/plugin-runtime.mjs - if-no-files-found: error - - # 6. 构建 CLI 独立二进制(仅 artifact,不发 Release) + # 5. 构建 CLI 独立二进制(仅 artifact,不发 Release) build-binary: - needs: [preflight, publish-napi, prepare-cli-runtime] + needs: [preflight, publish-napi] if: | (needs.preflight.outputs.publish_cli == 'true' || needs.preflight.outputs.gui_should_release == 'true') && - (needs.publish-napi.result == 'success' || needs.publish-napi.result == 'skipped') && - needs.prepare-cli-runtime.result == 'success' + (needs.publish-napi.result == 'success' || needs.publish-napi.result == 'skipped') timeout-minutes: 60 strategy: fail-fast: false @@ -398,11 +371,6 @@ jobs: runs-on: ${{ matrix.platform }} steps: - uses: actions/checkout@v6 - - name: Download plugin-runtime - uses: actions/download-artifact@v8 - with: - name: cli-plugin-runtime - path: cli/dist - uses: ./.github/actions/setup-rust with: targets: ${{ matrix.target }} @@ -410,18 +378,17 @@ jobs: - name: Setup cross-compile if: matrix.cross uses: ./.github/actions/setup-cross-compile - - name: Build tnmsc binary (release, with embedded runtime) - run: cargo build --release --target ${{ matrix.target }} -p tnmsc-cli-shell --features tnmsc/embedded-runtime + - name: Build tnmsc binary (release) + run: cargo build --release --target ${{ matrix.target }} -p tnmsc-cli-shell - name: Run tests (native only) if: ${{ !matrix.cross }} - run: cargo test --release --target ${{ matrix.target }} -p tnmsc-cli-shell --features tnmsc/embedded-runtime + run: cargo test --release --target ${{ matrix.target }} -p tnmsc-cli-shell - name: Package (unix) if: runner.os != 'Windows' shell: bash run: | mkdir -p staging cp target/${{ matrix.target }}/release/${{ matrix.binary }} staging/ - cp cli/dist/plugin-runtime.mjs staging/ cd staging tar czf ../${{ matrix.archive }} * - name: Package (windows) @@ -430,7 +397,6 @@ jobs: run: | New-Item -ItemType Directory -Force -Path staging Copy-Item "target/${{ matrix.target }}/release/${{ matrix.binary }}" staging/ - Copy-Item "cli/dist/plugin-runtime.mjs" staging/ Compress-Archive -Path staging/* -DestinationPath ${{ matrix.archive }} - name: Upload artifact uses: actions/upload-artifact@v7 @@ -439,7 +405,7 @@ jobs: path: ${{ matrix.archive }} if-no-files-found: error - # 7. 构建 GUI — 三平台并行(fail-fast: 任一失败则全部取消) + # 6. 构建 GUI — 三平台并行(fail-fast: 任一失败则全部取消) build-gui-all: needs: [preflight] if: needs.preflight.outputs.gui_should_release == 'true' @@ -448,7 +414,7 @@ jobs: version: ${{ needs.preflight.outputs.gui_version }} secrets: inherit - # 8. 收集三平台产物,创建 GitHub Release + tag + # 7. 收集三平台产物,创建 GitHub Release + tag release-gui-collect: needs: [preflight, build-gui-all, build-binary] if: needs.preflight.outputs.gui_should_release == 'true'