Update language versions across Dockerfiles, TOML, docs and CI (Java 24.0.2, Rust 1.89.0, et al.)#79
Conversation
- Dockerfile / Dockerfile.lite: bump RUST_VERSION, JDK download URLs, and container-info.txt - toml/installscript.toml: Java display and download URL → 24.0.2 - toml/install-script.toml: Rust display, license URLs, and version references → 1.89.0; restore 1.87.0 entry in the version-history comment block - README.md / CLAUDE.md / IMAGE_SIZE_ANALYSIS.md: align documented Java/Rust versions - .github/workflows/pr-test.yml: update PR-build verification list JDK 24.0.2 URLs verified against https://jdk.java.net/archive/. Verified locally with atcoder-lite:2025 build: - openjdk 24.0.2 2025-07-15 - rustc 1.89.0 (29483883e 2025-08-04)
There was a problem hiding this comment.
Pull request overview
This PR aligns the Java and Rust version strings/URLs across the container build files, TOML “source of truth” configs, documentation, and CI messaging to match the intended runtime versions (Java 24.0.2, Rust 1.89.0).
Changes:
- Update Rust version references to 1.89.0 (Dockerfiles, TOML, docs, CI message).
- Update OpenJDK download URLs and display strings to 24.0.2 (Dockerfiles, TOML, docs, CI message).
- Refresh container-info and related documentation version strings to reflect the new Java/Rust versions.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
toml/installscript.toml |
Updates Java display string and JDK 24.0.2 download URL for the Java install script. |
toml/install-script.toml |
Updates Rust display/version variables and Rust license URLs to 1.89.0; adjusts version-history comments. |
Dockerfile |
Bumps RUST_VERSION to 1.89.0 and updates OpenJDK URLs + container-info string. |
Dockerfile.lite |
Same as Dockerfile for the lite image (Rust/Java versions + container-info). |
README.md |
Updates listed Java/Rust versions in supported language list. |
CLAUDE.md |
Updates the “Supported Languages and Versions” Java/Rust entries. |
IMAGE_SIZE_ANALYSIS.md |
Updates Java version mention in the “new version” language list. |
.github/workflows/pr-test.yml |
Updates the hardcoded “Verified Components” Java/Rust version strings in the PR comment template. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| install = ''' | ||
| curl https://download.java.net/java/GA/jdk24.0.1/24a58e0e276943138bf3e963e6291ac2/9/GPL/openjdk-24.0.1_linux-x64_bin.tar.gz | sudo tar zx -C /usr/local --strip-component 1 | ||
| curl https://download.java.net/java/GA/jdk24.0.2/fdc5d0102fe0414db21410ad5834341f/12/GPL/openjdk-24.0.2_linux-x64_bin.tar.gz | sudo tar zx -C /usr/local --strip-component 1 |
| @@ -54,10 +54,10 @@ language = 'Rust' | |||
| # 'C++23 (Clang 18.1.8)' | |||
| # 'Java24 (OpenJDK 24.0.1)' | |||
| ## Supported Languages and Versions | ||
|
|
||
| The container includes the following languages (versions as of January 2025): | ||
|
|
||
| ### Full Version (Dockerfile) | ||
| - **Python** 3.13.7 (with LTO and BOLT optimizations on x86_64) | ||
| - **Node.js** 22.19.0 | ||
| - **Java** OpenJDK 23.0.1 | ||
| - **Java** OpenJDK 24.0.2 |
| @@ -62,7 +62,7 @@ AtCoder コンテナの各バージョンにおける言語・コンポーネン | |||
| - **Python**: 3.13.5(LTO/BOLT最適化) | |||
| - **Node.js**: 22.16.0 | |||
| - **Ruby**: 3.4.4(GCパッチ適用) | |||
| - **Java**: JDK 23.0.1 | |||
| - **Java**: JDK 24.0.2 | |||
| - **Erlang**: 28.0 | |||
| - **Elixir**: 1.18.4 | |||
| - **Rust**: ❌ 除外 | |||
| - **Python3** (3.13.5 with LTO/BOLT optimizations) | ||
| - **JavaScript** (Node.js 22.16.0) | ||
| - **C++** (g++ 12.3.0, C++23 support) |
| ### 🔍 Verified Components | ||
| - ✅ Python 3.13.5 | ||
| - ✅ Ruby 3.4.4 | ||
| - ✅ Rust 1.87.0 | ||
| - ✅ Rust 1.89.0 | ||
| - ✅ Node.js 22.16.0 | ||
| - ✅ Java 23.0.1 | ||
| - ✅ Java 24.0.2 | ||
| - ✅ GCC 13.3.0 |
- toml/installscript.toml: --strip-component → --strip-components (GNU tar's canonical long option) - toml/install-script.toml: update Java display example to 24.0.2 - CLAUDE.md: drop the stale "as of January 2025" date; point readers to toml/*.toml and the Dockerfiles as the source of truth - IMAGE_SIZE_ANALYSIS.md: Rust is no longer excluded; sync version list with the Dockerfiles (Python 3.13.7, Node.js 22.19.0, etc.); drop the obsolete "GCパッチ適用" note for Ruby - README.md: sync remaining language versions (Ruby/Python/Node.js/ C++/Erlang) with the actual image versions - .github/workflows/pr-test.yml: sync the hardcoded "Verified Components" list with the Dockerfile versions
The auto-skip detection script misclassifies Dockerfile/toml/yaml changes as documentation-only, so previous commits on this PR were skipped without building. This empty commit forces a [build-all] to verify the Java 24.0.2 / Rust 1.89.0 changes in CI.
|
Copilot のレビュー指摘 6 件に対応しました。 対応内容 (commit 65498b7)
CI 補足 (commit 2258713)CI の auto-skip 検出ロジックが、本 PR の Dockerfile 変更を含むコミット (99f207a) ですらビルドをスキップ していました ( これは本 PR 起因ではなく既存のスクリプトバグですが、このままでは Java 24.0.2 / Rust 1.89.0 が CI ビルドで検証されないため、 ローカルでは Lite ビルドで Java 24.0.2 / Rust 1.89.0 の動作を確認済みです (PR description 参照)。 |
| ## Supported Languages and Versions | ||
|
|
||
| The container includes the following languages (versions as of January 2025): | ||
| The container includes the following languages (see `toml/*.toml` and the Dockerfiles for authoritative versions): |
|
|
||
| install = ''' | ||
| curl https://download.java.net/java/GA/jdk24.0.1/24a58e0e276943138bf3e963e6291ac2/9/GPL/openjdk-24.0.1_linux-x64_bin.tar.gz | sudo tar zx -C /usr/local --strip-component 1 | ||
| curl https://download.java.net/java/GA/jdk24.0.2/fdc5d0102fe0414db21410ad5834341f/12/GPL/openjdk-24.0.2_linux-x64_bin.tar.gz | sudo tar zx -C /usr/local --strip-components 1 |
- CLAUDE.md: reword the Supported Languages intro so it matches the trailing Note that names toml/*.toml as the single source of truth (Dockerfiles are kept in sync, not co-authoritative) - toml/installscript.toml: add curl -fL flags to the JDK download so HTTP errors fail loudly and redirects are followed (consistent with the Dockerfile's curl -L invocation)
|
2 回目の Copilot 指摘 2 件に対応しました (commit 1dc7d15)。 対応内容
CI 検証結果
なお、CI の auto-skip 判定バグ自体は別 Issue として登録済みです (#80)。 |
| # Install Java (precompiled) | ||
| RUN case "$(uname -m)" in \ | ||
| x86_64) \ | ||
| curl -L https://download.java.net/java/GA/jdk23.0.1/c28985cbf10d4e648e4004050f8781aa/11/GPL/openjdk-23.0.1_linux-x64_bin.tar.gz | \ | ||
| curl -L https://download.java.net/java/GA/jdk24.0.2/fdc5d0102fe0414db21410ad5834341f/12/GPL/openjdk-24.0.2_linux-x64_bin.tar.gz | \ | ||
| tar zx -C /usr/local --strip-components 1 \ | ||
| ;; \ | ||
| aarch64) \ | ||
| curl -L https://download.java.net/java/GA/jdk23.0.1/c28985cbf10d4e648e4004050f8781aa/11/GPL/openjdk-23.0.1_linux-aarch64_bin.tar.gz | \ | ||
| curl -L https://download.java.net/java/GA/jdk24.0.2/fdc5d0102fe0414db21410ad5834341f/12/GPL/openjdk-24.0.2_linux-aarch64_bin.tar.gz | \ | ||
| tar zx -C /usr/local --strip-components 1 \ |
| # Install Java (precompiled) | ||
| RUN case "$(uname -m)" in \ | ||
| x86_64) \ | ||
| curl -L https://download.java.net/java/GA/jdk23.0.1/c28985cbf10d4e648e4004050f8781aa/11/GPL/openjdk-23.0.1_linux-x64_bin.tar.gz | \ | ||
| curl -L https://download.java.net/java/GA/jdk24.0.2/fdc5d0102fe0414db21410ad5834341f/12/GPL/openjdk-24.0.2_linux-x64_bin.tar.gz | \ | ||
| tar zx -C /usr/local --strip-components 1 \ | ||
| ;; \ | ||
| aarch64) \ | ||
| curl -L https://download.java.net/java/GA/jdk23.0.1/c28985cbf10d4e648e4004050f8781aa/11/GPL/openjdk-23.0.1_linux-aarch64_bin.tar.gz | \ | ||
| curl -L https://download.java.net/java/GA/jdk24.0.2/fdc5d0102fe0414db21410ad5834341f/12/GPL/openjdk-24.0.2_linux-aarch64_bin.tar.gz | \ | ||
| tar zx -C /usr/local --strip-components 1 \ |
| 両イメージとも以下の言語に対応しています: | ||
|
|
||
| - **Java** (JDK 23.0.1) | ||
| - **Ruby** (3.4.4 with GC patch) | ||
| - **Java** (JDK 24.0.2) | ||
| - **Ruby** (3.4.5) | ||
| - **Elixir** (1.18.4) | ||
| - **Python3** (3.13.5 with LTO/BOLT optimizations) | ||
| - **JavaScript** (Node.js 22.16.0) | ||
| - **C++** (g++ 12.3.0, C++23 support) | ||
| - **Rust** (1.70.0) | ||
| - **Erlang** (28.0) | ||
| - **Python3** (3.13.7 with LTO/BOLT optimizations) | ||
| - **JavaScript** (Node.js 22.19.0) | ||
| - **C++** (g++ 13, C++23 support) | ||
| - **Rust** (1.89.0) | ||
| - **Erlang** (28.0.2) |
Add -f to the JDK download in Dockerfile and Dockerfile.lite so HTTP 4xx/5xx errors fail fast (curl exit non-zero) instead of piping an error page into tar and surfacing as a confusing extraction failure. Matches the Rust download's curl -fO earlier in the same files.
|
3 回目の Copilot 指摘 3 件に対応しました。 対応内容Dockerfile / Dockerfile.lite (commit 885ae18)JDK ダウンロードの README.md スコープ指摘PR タイトルと description を更新しました:
CI ステータス
|
resolve #78
Summary
Dockerfile,Dockerfile.lite,toml/*.tomlおよび関連ドキュメント・ワークフローの言語バージョン表記を、実際に利用するバージョンに揃えました。主目標は Issue #78 が指摘した Java / Rust 不整合の解消ですが、レビュー過程で他言語にも同じ種類のドリフトが見つかったため、本 PR で一括同期しています。
主要な変更 (Issue #78 直接対応)
追従して同期したバージョン
ドキュメント (README.md / IMAGE_SIZE_ANALYSIS.md / pr-test.yml) で Dockerfile の実態と食い違っていた他の言語バージョンも、Dockerfile の値に揃えました。
Changes
Build configuration
Dockerfile:RUST_VERSION(L181), JDK download URLs (L422 / L426 をcurl -fLに強化),container-info.txt(L472)Dockerfile.lite: 同上 (L137 / L302 / L306 / L352)TOML (single source of truth)
toml/installscript.toml: Java display 表記と JDK 24.0.2 ダウンロード URL。curl -fL+tar --strip-components 1に修正toml/install-script.toml: Rust display, license URL, インストールスクリプト中のrust_version/rust_channelJava24 (OpenJDK 24.0.2)に同期Documentation
README.md/CLAUDE.md/IMAGE_SIZE_ANALYSIS.md: 上記の通り、Dockerfile 実態に全バージョンを同期。IMAGE_SIZE_ANALYSIS.mdでは誤って残っていた「Rust 除外」記述も削除CLAUDE.md: 「toml/*.tomlを single source of truth、Dockerfile はその同期先」と明確化CI
.github/workflows/pr-test.yml: PR build verification の "Verified Components" を Dockerfile に同期Verification
JDK 24.0.2 ダウンロード URL は jdk.java.net/archive で取得・到達確認済み:
https://download.java.net/java/GA/jdk24.0.2/fdc5d0102fe0414db21410ad5834341f/12/GPL/openjdk-24.0.2_linux-x64_bin.tar.gzhttps://download.java.net/java/GA/jdk24.0.2/fdc5d0102fe0414db21410ad5834341f/12/GPL/openjdk-24.0.2_linux-aarch64_bin.tar.gzローカル検証 (Lite)
```
$ docker run --rm atcoder-lite:2025 bash -c "java --version && rustc --version"
openjdk 24.0.2 2025-07-15
OpenJDK Runtime Environment (build 24.0.2+12-54)
OpenJDK 64-Bit Server VM (build 24.0.2+12-54, mixed mode, sharing)
rustc 1.89.0 (29483883e 2025-08-04)
```
CI 検証 (Full + Lite)
[build-all]強制ビルド (run 25651883572) が 53 分 9 秒で success。Lite / Full ともに Java 24.0.2 / Rust 1.89.0 を組み込んだイメージのビルド確認済み。なお CI の auto-skip 判定バグ (Dockerfile / toml / yaml 変更を docs only と誤判定) は別 Issue #80 として登録済みです。
Test plan