[Bug] #1791 删除插件打包步骤和 JDK 缓存后,3 个 CI 工具自测仍断言旧内容,preview 的 macOS CI 门禁持续失败

オープン 初心者向け
#1,797 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
78/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
github-actions, node.js, typescript
領域
ci-cd, testing

調査の方向性

まず scripts/ci/common/ci-workflow-gates.test.mjs の失敗している2つのケースと、scripts/resources/test-verify-download-cache.mjs の assertMacJdkCacheConfiguration を確認し、それらのアサーションを .github/ 以下の現在の workflow ファイルおよび action ファイルと比較してください。#1791 で説明されている削除を確認したうえで、残りの gate チェックを維持しながら、古くなった3つのアサーションを更新してください。再現手順にある両方のコマンドが成功すれば完了です。

索引モデルが issue の本文から書いたものです。

説明

review: high
Platform / 平台

macOS

Area / 模块

Other / 其他

Lithe version / Lithe 版本

preview 5a54c41aa(源码,CI 工具自测)

Priority / 优先级

P1 / 尽快处理:使用体验大幅下降,但通常仍可继续使用

OS and architecture / 操作系统与架构

GitHub Actions macOS runner;本地 macOS 27.3 arm64 可同样复现

Environment / 环境信息

Node.js 内置 node --test;与 JDK、Maven、Rust 版本无关,测试只读取 .github/ 下的工作流和 action 文本。

Steps to reproduce / 复现步骤
  1. 检出 preview 5a54c41aa。
  2. 在仓库根目录运行 node --test scripts/ci/common/ci-workflow-gates.test.mjs。
  3. 运行 node scripts/resources/test-verify-download-cache.mjs。
  4. 或者查看 preview 上最近一次 ci-macos.yml 运行(run 42367182202):CI tooling tests 的 “Test release scripts and Markdown preview” 失败,macOS CI gate 的 “Verify required jobs” 跟着失败。
Expected behavior / 预期行为

CI 工具自测与当前工作流一致,全部通过。preview 和每个 ready PR 的 macOS CI 门禁不会因为这些测试而失败。

Actual behavior / 实际行为

一共 3 个用例失败,都是 #1791(0b7a2b5f1)引起的。该提交删掉了官方插件打包步骤和 macOS 依赖缓存里的 JDK 部分,但没有同步修改断言这些内容的测试:

  1. scripts/ci/common/ci-workflow-gates.test.mjs:386,用例 “plugin-only changes require the shared Swift lane and keep every native plugin check”:要求 ci-macos.yml 的 swift-tests job 有一个名为 Build and verify official plugin packages 的步骤。#1791 删掉了这个步骤(同一提交还删除了 release-official-plugins.yml),git log -S 显示它最后一次出现就在这个提交之前。
  2. 同一个文件 :446,用例 “plugin validation survives ordinary-suite failure but never cancellation or a failed build”:同样在找这个步骤,断言失败的原因相同。
  3. scripts/resources/test-verify-download-cache.mjs:108,assertMacJdkCacheConfiguration:要求 .github/actions/prepare-macos-dependency-cache/action.yml 有 jdk: 输入。#1791 把这个 action 删减了 81 行,JDK 缓存输入不在了。

影响:preview 上 ci-macos.yml 的 CI tooling tests 一直是红的,每个标记 ready 的 PR 在 macOS 门禁上都会失败,评审很难分清是不是本 PR 引入的问题。

建议修复方向:维护者确认 #1791 是有意删除插件打包步骤和 JDK 缓存的(Java/Maven/Gradle 已迁到独立插件仓库)。确认后删除或改写这 3 个用例里依赖已删内容的断言,保留其余门禁断言(例如 Run plugin-focused Swift tests 的 if 条件)。不要通过跳过整个测试文件来让它通过。

Logs or diagnostic output / 日志或诊断输出
✖ plugin-only changes require the shared Swift lane and keep every native plugin check
  AssertionError [ERR_ASSERTION]: expected one - name: Build and verify official plugin packages
  0 !== 1
      at block (scripts/ci/common/ci-workflow-gates.test.mjs:91:10)
      at TestContext.<anonymous> (scripts/ci/common/ci-workflow-gates.test.mjs:387:18)
✖ plugin validation survives ordinary-suite failure but never cancellation or a failed build
  AssertionError [ERR_ASSERTION]: expected one - name: Build and verify official plugin packages
      at TestContext.<anonymous> (scripts/ci/common/ci-workflow-gates.test.mjs:449:30)
AssertionError [ERR_ASSERTION]: macOS cache action must expose the JDK cache
✖ scripts/resources/test-verify-download-cache.mjs
Screenshots or recordings / 截图或录屏

N/A:纯命令行测试失败,日志已贴在上一节。

Checklist / 提交前检查
  • I searched existing issues for duplicates. / 我已搜索现有 Issue,确认没有重复报告。
  • I removed secrets and personal data from the report. / 我已从报告中移除敏感信息和个人数据。
主要言語
TypeScript
スター
1.8k
フォーク
151
平均マージ
10時間 29分
マージ済み PR(30日)
407

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

1lck/Lithe-IDEA のほかの issue

1lck/Lithe-IDEA の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。