MoChengqian commented on PR #389:
URL: 
https://github.com/apache/dubbo-go-hessian2/pull/389#issuecomment-4140204041

   之前的CI不通过原因主要有两个:
    - workflow 风险 :主要是 action/runtime/trigger/脚本组织问题。
     - 本地/CI 测试稳定性问题 :主要是高版本 JDK 兼容、Java 调用入口、测试比较逻辑和测试输出噪音问题
   
   本次修复主要收敛了上面两类问题
   
   **在 workflow 侧处理:**
   调整为最小必要升级组合并补齐 Node 24 迁移:
   
     - actions/checkout@v5
     - actions/setup-java@v5
     - actions/setup-go@v6
     - actions/cache@v5
   
     同时清理了 workflow 中的 shell 规范问题,actionlint 已通过。考虑到 pull_request_target 
会继续使用目标分支上的旧 workflow,导致 PR 上仍出现 checkout@v2 / setup-go@v2 / setup-java@v1 的 
Node 20 deprecation
     warning,本次已移除 pull_request_target,避免 PR 检查混跑旧配置。
   
     在测试侧,修复了 Java 9+ 运行时下的兼容性问题。新增统一的 Java 测试运行时辅助逻辑,在 JDK 9+ 下自动补齐 
--add-opens,解决 throw_UserDefinedException 及相关 Java 异常用例在本地高版本 JDK 下的反射访问失败问
     题。与此同时,重构了 decode_benchmark_test.go 的递归校验逻辑,恢复完整值等价校验,避免 map 
顺序导致的伪失败,并降低了测试辅助逻辑的复杂度。
   
     另外,对 Go Test 步骤做了降噪和拆分处理:
   
     - go test ./... -race
     - go test . -race -coverprofile=coverage.txt
     - go test . -run '^$' -bench . -race
   
     这样保留了全量 race 测试、覆盖率和 benchmark 校验,同时避免 -v 超大日志触发 issue matcher regex 
timeout,也避免 benchmark 命令重复跑整套单测。
   
     **稳定性问题验处理:**
   
     - actionlint .github/workflows/github-actions.yml
     - go vet ./...
     - go test ./...
     - go test ./... -race
     - go test . -race -coverprofile=coverage.txt
     - go test . -run '^$' -bench . -race
   
     当前变更不追求表面上的 100% 覆盖率,而是优先保证核心序列化/反序列化路径、历史缺陷回归点和跨语言兼容边界的有效覆盖


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to