Skip to content

ci: publish java sdk#24

Merged
ninan-nn merged 1 commit intoalibaba:mainfrom
ninan-nn:ci/publish_java_sdk_workflow
Dec 23, 2025
Merged

ci: publish java sdk#24
ninan-nn merged 1 commit intoalibaba:mainfrom
ninan-nn:ci/publish_java_sdk_workflow

Conversation

@ninan-nn
Copy link
Copy Markdown
Collaborator

Summary

  • Add ci workflow and publishing first release version java sdk

Testing

  • [] Not run (explain why)
  • Unit tests
  • Integration tests
  • e2e / manual verification

Breaking Changes

  • None
  • Yes (describe impact and migration path)

Checklist

  • Linked Issue or clearly described motivation
  • Added/updated docs (if needed)
  • Added/updated tests (if needed)
  • Security impact considered
  • Backward compatibility considered

@jwx0925
Copy link
Copy Markdown
Collaborator

jwx0925 commented Dec 22, 2025

总体结论

当前不建议合并。主要风险集中在构建版本解析的健壮性、版本覆盖行为变化、以及测试构建的可重复性与仓库解析策略可能导致 CI 失败。

必须修改(Blocking)

  • sdks/code-interpreter/kotlin/build.gradle.ktssdks/sandbox/kotlin/build.gradle.ktsproject.findProperty("project.version") as String 在缺失/非 String 时会直接崩溃,且发生在 tag 解析之前,导致无法回退版本。需要改为安全取值并给出明确错误或默认值。
  • sdks/code-interpreter/kotlin/build.gradle.kts 的 tag 解析仅支持固定前缀,且在 CI tag 场景下不匹配时会静默回退默认版本,可能发布错误版本。建议在检测到 tag 环境时 fail fast。
  • tests/java/build.gradle.kts 使用 latest.integration 且关闭缓存,导致构建不可复现、CI 结果漂移;同时 exclusiveContent 仅允许从 mavenLocal 解析 com.alibaba.opensandbox,在 CI/新环境缺少本地制品时会直接失败。需改为可复现版本策略并允许回退到远端仓库。

建议修改(Non-blocking)

  • sdks/code-interpreter/kotlin/code-interpreter/build.gradle.kts 可能移除了 -Psandbox.version 覆盖能力,且 snapshot 仓库添加逻辑完全由 catalog 驱动,可能与实际依赖版本不一致。建议保留 override 能力或明确移除并文档化。
  • sdks/code-interpreter/kotlin/gradle.properties 删除 sandbox.version 可能与现有脚本/发布任务引用不一致,建议确认并同步移除/迁移。
  • sdks/code-interpreter/kotlin/gradle/libs.versions.tomlsdks/sandbox/kotlin/gradle.propertiessdks/sandbox/kotlin/sandbox/src/main/kotlin/com/alibaba/opensandbox/sandbox/config/ConnectionConfig.kt 等从 SNAPSHOT 切到 release 是行为变化,需确认发布流程、仓库与下游依赖预期一致。
  • sdks/sandbox/kotlin/build.gradle.kts tag 解析建议增加基本版本格式校验,避免分支名误判为版本号。

测试建议

  • 单元测试:补充/模拟 Gradle 版本解析逻辑(GITHUB_REF_NAME/GITHUB_REF 的 tag 解析与缺失 project.version 的错误信息)。
  • 集成测试:构建验证覆盖 -Psandbox.version=<snapshot> 与 release 版本;确保 snapshot repo 选择与依赖解析符合预期。
  • 回归点:CI 里验证 mavenLocal 不存在时仍可从远端解析;验证版本从 SNAPSHOT 切换到 release 的发布流程与产物版本一致。

@ninan-nn ninan-nn force-pushed the ci/publish_java_sdk_workflow branch 4 times, most recently from 2f35646 to 08b3f73 Compare December 22, 2025 10:03
@ninan-nn
Copy link
Copy Markdown
Collaborator Author

Java SDK版本更换为手动维护,发布时tag中的版本定义和手动版本定义,确保发布的稳定性。

@jwx0925
Copy link
Copy Markdown
Collaborator

jwx0925 commented Dec 22, 2025

LGTM

Comment thread .github/workflows/publish-java-sdks.yml Outdated
@ninan-nn ninan-nn force-pushed the ci/publish_java_sdk_workflow branch from 08b3f73 to 7c50dda Compare December 22, 2025 11:06
@Pangjiping Pangjiping added the feature New feature or request label Dec 22, 2025
@hittyt hittyt self-requested a review December 23, 2025 02:44
@ninan-nn ninan-nn merged commit 34cd161 into alibaba:main Dec 23, 2025
3 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants