Skip to content

升級至 Java 25 + 更新 GitHub Actions SHA pin#332

Open
jimchen5209 wants to merge 7 commits into
masterfrom
26.1.2
Open

升級至 Java 25 + 更新 GitHub Actions SHA pin#332
jimchen5209 wants to merge 7 commits into
masterfrom
26.1.2

Conversation

@jimchen5209
Copy link
Copy Markdown
Member

摘要

更新 Galaxy-proxy 以相容 26.1.2:

建置變更

  • Kotlin:2.3.0 → 2.3.20
  • Kapt:2.3.0 → 2.3.20
  • Shadow:9.3.0 → 9.4.1
  • Galaxy Lib:2235da5 → 9546e40
  • Java:21 → 25
  • Gradle Wrapper:9.4.1

依賴更新

  • Velocity API:3.4.0-SNAPSHOT → 3.5.0-SNAPSHOT
  • Kubernetes Client:7.4.0 → 7.6.1
  • Kubernetes HTTPClient:7.4.0 → 7.6.1
  • Lettuce Core:6.8.2.RELEASE → 7.5.1.RELEASE

GitHub Actions CI(已更新為 SHA pin)

Action 舊版 新版
actions/checkout v4(tag) de0fac2e4500dabe0009e67214ff5f5447ce83dd # 6.0.2
actions/cache v4(tag) 27d5ce7f107fe9357f9df03efb73ab90386fccae # 5.0.5
actions/setup-java v4(tag) be666c2fcd27ec809703dec50e508c2fdc7f6654 # 5.2.0
gradle/actions wrapper-validation@v4(tag) 50e97c2cd7a37755bbfafc9c5b7cafaece252f6e # v6.1.0
actions/upload-artifact v4(tag) 043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
actions/download-artifact v4(tag) 3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # 8.0.1
docker/login-action v3(tag) 4907a6ddec9925e35a0a9e82d7399ccc52663121 # 4.1.0

破壞性變更

  • 需要 Java 25(原本是 Java 21)

- Velocity 3.4.0-SNAPSHOT → 3.5.0-SNAPSHOT (build 593)
- Java 21 → 25 (JVM target and Dockerfile)
- Gradle 9.2.1 → 9.3.0
- shadow plugin 9.3.0 → 9.3.1
- kubernetes-client 7.4.0 → 7.5.2
- lettuce-core 6.8.2.RELEASE → 7.2.1.RELEASE
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 19, 2026

Warning

Rate limit exceeded

@jimchen5209 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 58 minutes and 16 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 58 minutes and 16 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 523bac2d-934c-41de-bf18-01575a06e719

📥 Commits

Reviewing files that changed from the base of the PR and between 4c448f0 and fa24351.

⛔ Files ignored due to path filters (1)
  • gradle/wrapper/gradle-wrapper.jar is excluded by !**/*.jar
📒 Files selected for processing (7)
  • .github/workflows/build_and_push.yml
  • Dockerfile
  • build.gradle.kts
  • gradle/wrapper/gradle-wrapper.properties
  • gradlew
  • src/main/kotlin/one/oktw/galaxy/proxy/config/model/ProxyConfig.kt
  • src/main/resources/config/proxy.json

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the project's environment and dependencies, including upgrading to Java 25, Kotlin 2.3.20, and Gradle 9.4.1. Key dependency updates include Velocity 3.5.0, Kubernetes Client 7.6.1, and Lettuce 7.5.1. Feedback suggests excluding the Kubernetes HTTP client from the shadow JAR minimization to prevent runtime errors caused by dynamic loading and removing the deprecated '.RELEASE' suffix from the Lettuce dependency version to align with current naming conventions.

Comment thread build.gradle.kts
kapt("com.velocitypowered:velocity-api:3.5.0-SNAPSHOT")
compileOnly("com.velocitypowered:velocity-api:3.5.0-SNAPSHOT")
implementation("io.fabric8:kubernetes-client:7.6.1")
implementation("io.fabric8:kubernetes-httpclient-okhttp:7.6.1")
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

由於專案在 shadowJar 任務中啟用了 minimize() 功能(見第 48 行),建議將 io.fabric8:kubernetes-httpclient-okhttp 也加入排除名單。Fabric8 的 HTTP 客戶端實作通常是透過 ServiceLoader 機制動態載入的,若未顯式排除,最小化過程會因偵測不到直接引用而將其移除,導致程式執行時出現 No HTTP client implementation found 錯誤。

Comment thread build.gradle.kts
implementation("io.fabric8:kubernetes-httpclient-okhttp:7.6.1")
implementation("com.github.fkorotkov:k8s-kotlin-dsl:3.5.0")
implementation("io.lettuce:lettuce-core:6.8.2.RELEASE")
implementation("io.lettuce:lettuce-core:7.5.1.RELEASE")
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Lettuce 官方自 6.0 版本起已停止在版本號中使用 .RELEASE 後綴。建議移除此後綴以符合目前的版本命名規範,並避免未來潛在的依賴解析問題。

    implementation("io.lettuce:lettuce-core:7.5.1")

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gemini-code-assist 有來源嗎,我目前在最新版本中仍看到 .RELEASE 字樣

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

您說得對,Lettuce 確實仍在發布帶有 .RELEASE 後綴的版本(例如您提到的 7.5.1.RELEASE)。

我之前的建議是基於 Lettuce 專案在 GitHub Release 頁面 上逐漸減少使用該後綴的趨勢,以及許多現代 Java 專案傾向於簡化版本號的慣例。不過,既然官方 Maven 倉庫中確實存在 7.5.1.RELEASE,保留該後綴是完全正確且安全的做法,不會影響依賴解析。感謝您的指正。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant