已开启
fix: add local mode impl #606
fix: add local mode impl #606
已开启
songjian创建于 18 天前
songjian
18 天前

Change Details (Required)

编译器支持local mode

Change Type (Required)

Simply save and click the checkbox, or when editing, change [ ] to [x] for the relevant item.

Self-Check of Changes (Required)

Please do not modify or delete the following options. Simply save and click the checkbox, or when editing, change [ ] to [x] for the relevant item.

Local Compilation Verification Results:

Local Test Case Verification Results:

https://gitcode.com/Cangjie/cangjie_compiler/issues/1095

likedislike
CLA协议签署
当前Pull Request的提交暂无外部代码贡献者
合并受阻
Ssongjian
18 天前 关联了issue:[Feature]: 编译器支持local mode
cangjie-ci成员
18 天前 评论:

PR创建成功通知 | 感谢您的贡献 🎉

您好!系统已检测到您成功创建 Pull Request(PR),感谢您对项目的支持与参与!以下几点需要您着重关注:

一、PR必须关联Issue ❗️

触发门禁检查的必要步骤:在PR描述框输入Issue完整链接,完成Issue关联

请注意,一个 Issue 不能同时关联同一 base 仓库内同一个分支的多个开启状态的 PR

二、门禁触发规则 🔧

  1. 门禁类型判定:由Issue关联的PR所属代码仓数量决定
    • 关联多个代码仓PR:触发「多仓联合门禁」
    • 关联单个代码仓PR:触发「单仓门禁」
  2. 启动指令与检查范围:需主动回复指令:
    • 回复 "start build":执行Cangjie的主要基础检查,包含commit格式检查、静态告警分析、OAT开源声明检查、多平台构建、单元/集成测试等
    • 关联同一issue的多个PR,仅需在任意一个PR里回复触发一次门禁,该PR门禁通过后,所有PR都会添加Label和测试人
    • 每个pr只能同时运行一条CI流水线,如需重新启动,请先关闭运行中的,再评论触发门禁
    • Markdown修改仅触发文档类构建测试门禁,不会触发Cangjie的编译测试门禁
    • commit 信息格式请遵循:Conventional Commits 规范
    • 请保证每一条 commit 都已添加 Signed-Off-By 信息
    • 回复 "start build cov":执行覆盖率构建工程,生成该提交的增量代码覆盖率报告

三、合入条件 ⚠️

  • 满足最低评审人数,且评审问题需全部解决;
  • 禁止合入本人创建的PR,需由其他协作者操作;
  • 合并前确保关联流水线任务运行成功(build-test-passed);
  • 需求类覆盖率门禁:当关联的 Issue 标题以 [feature]: 开头(需求类 Issue)时,联合提交中属于 cangjie_compilercangjie_runtimecangjie_stdxcangjie_toolsllvm-project 仓库的 PR,必须先回复 "start build cov" 触发增量覆盖率流水线并通过,使 PR 获得 cov-test-passed 标签后方可合入。

四、合并PR ✅

回复 "start merge",CI流水线会自动检查所有关联PR的状态、版本号标签、检视意见密度、兼容性、需求类覆盖率门禁,若所有PR都满足合并条件,则将会同时合并所有PR。若存在不满足合并条件的PR,则不会合并任何PR。

如果希望不进行兼容性相关的检测,请任一合法审查人复制以下内容,在 start merge 前提交评论:

本 pr 不需要兼容性相关检测,对于引发的任何兼容性问题(即由于本 pr 合入将导致用户需适配代码的话),由本人承担。

If you wish to avoid compatibility-related checks, please have any approver copy the following content and submit it as a comment before sending start merge:

This PR does not require compatibility-related checks. For any compatibility issues caused by this PR (i.e., if the integration of this PR will require users to adapt their code), I will take full responsibility.

五、补充说明 📢

likedislike
Ccangjie-ci维护者
18 天前 添加了label:waiting-start-build
Ccangjie-ci维护者
18 天前 重置了测试状态
Ccangjie-ci维护者
18 天前 删除了label:waiting-start-build
此处折叠了910条消息 查看更多
cangjie-ci成员
17 小时前 评论:

⏳ 正在进行兼容性检测中,可能需要2~3分钟,请稍候,若10分钟无检测结果,请重新回复 start merge


⏳ Compatibility check in progress. It may take 2–3 minutes. Please wait. If there is no result after 10 minutes, please reply with start merge again.

likedislike
cangjie-ci成员
17 小时前 评论:

✅ 合入前兼容性检测通过。
涉及仓库:Cangjie/cangjie_compiler, Cangjie/cangjie_runtime, Cangjie/cangjie_stdx, Cangjie/cangjie_test, Cangjie/cangjie_tools, Cangjie/llvm-project

结论

  • 分析过程:分析了 Cangjie/cangjie_compiler#2065、Cangjie/llvm-project#606、Cangjie/cangjie_runtime#1697、Cangjie/cangjie_stdx#777、Cangjie/cangjie_tools#1239。These PRs add local mode support, skip optnone functions in PromotePass, lower iOS minimum deployment targets in runtime and stdx, and adapt the language-server ty API; no protected public contract removal, ABI break, or mandatory caller migration is visible.
  • 原因:未发现兼容性破坏。/ No compatibility break found. cangjie_compiler#2065 以 local mode 实现和相关构件新增为主,没有看到已公开契约被删除;llvm-project#606 只是调整优化流程以跳过 optnone 函数,属于行为收敛而非对外接口破坏;cangjie_runtime#1697 与 cangjie_stdx#777 仅下调 iOS 最低部署版本,影响的是构建/打包门槛,不会破坏既有源码或二进制契约;cangjie_tools#1239 是对 LSP 的 ty API 适配,体现为调用方同步更新而非残留旧调用方失配。
  • 结论:兼容
likedislike
cangjie-ci成员
17 小时前 评论:

⚠️ 以下PR不具备合入条件,无法自动合并:

  • Cangjie/cangjie_compiler#2065: fix: add local mode impl
    原因: PR不具备合入条件:评审人未通过、审查人未通过
  • Cangjie/cangjie_test#2049: fix: correct timeout field mapping in report
    原因: PR不具备合入条件:评审人未通过、审查人未通过
  • Cangjie/llvm-project#606: fix: skip optnone functions in PromotePass
    原因: PR不具备合入条件:评审人未通过、审查人未通过
  • Cangjie/cangjie_runtime#1697: fix(stdlib): 将 iOS 构建最低部署版本从 17.5 下调至 11(AST 库为 12)
    原因: PR不具备合入条件:评审人未通过、审查人未通过
  • Cangjie/cangjie_stdx#777: fix(build): 将 iOS 构建最低部署版本从 17.5 下调至 11(syntax 库为 12)
    原因: PR不具备合入条件:评审人未通过、审查人未通过
  • Cangjie/cangjie_tools#1239: fix(lsp): adapt ty api
    原因: PR不具备合入条件:评审人未通过、审查人未通过

⚠️ The following PRs are not mergeable, cannot auto-merge:

  • Cangjie/cangjie_compiler#2065: fix: add local mode impl
    Reason: PR is not mergeable: Code review not passed, Approvers not passed
  • Cangjie/cangjie_test#2049: fix: correct timeout field mapping in report
    Reason: PR is not mergeable: Code review not passed, Approvers not passed
  • Cangjie/llvm-project#606: fix: skip optnone functions in PromotePass
    Reason: PR is not mergeable: Code review not passed, Approvers not passed
  • Cangjie/cangjie_runtime#1697: fix(stdlib): 将 iOS 构建最低部署版本从 17.5 下调至 11(AST 库为 12)
    Reason: PR is not mergeable: Code review not passed, Approvers not passed
  • Cangjie/cangjie_stdx#777: fix(build): 将 iOS 构建最低部署版本从 17.5 下调至 11(syntax 库为 12)
    Reason: PR is not mergeable: Code review not passed, Approvers not passed
  • Cangjie/cangjie_tools#1239: fix(lsp): adapt ty api
    Reason: PR is not mergeable: Code review not passed, Approvers not passed
likedislike
Ssongjian
6 小时前 修改标题为 “fix: add local mode impl”,原标题为“fix: skip optnone functions in PromotePass”
cangjie-ci成员
42 分钟前 评论:

🔨 构建/测试门禁

⚠️ 请节约门禁资源,已通过构建/测试门禁的 PR 请勿重复运行。

当前联合提交的所有 PR 都已拥有 build-test-passed 标签,包含以下 PR:

如果需要重新运行构建/测试门禁,请移除任意 PR 的 build-test-passed 标签。

⚠️ Please save resources by not running the build test again for PRs that have already passed the build test.

All PRs in the current joint submission already have the build-test-passed label, including the following PRs:

If you need to re-run the build test, please remove the build-test-passed label from any PR.

likedislike