ci(deps): bump actions/setup-java from 4.9.1 to 5.7.0 - #60
dependabot[bot] wants to merge 1 commit into
Conversation
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 4.9.1 to 5.7.0. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](actions/setup-java@cf277c6...b6effb0) --- updated-dependencies: - dependency-name: actions/setup-java dependency-version: 5.7.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Dependabot PR 解消レポート:
|
| 項目 | 内容 | 本リポジトリへの影響 |
|---|---|---|
| v5.0.0: Node ランタイム 20 → 24 | action.yml の runs.using が node24(実体で確認)。Actions Runner v2.327.1 以上が必須 |
影響なし — 全ワークフロー(backend-ci.yml / mobile-ci.yml / mobile-e2e.yml)が runs-on: ubuntu-latest(GitHub-hosted)で自動更新される。self-hosted runner は未使用 |
v5.0.0: 入力名 jdkFile → jdk-file |
旧名は deprecationMessage 付きのエイリアスとして存置(実体で確認) |
影響なし — どちらも未使用 |
legacy Adopt distributions(adopt / adopt-hotspot / adopt-openj9)の非推奨化 |
action.yml の distribution 説明に「deprecated and will be removed in setup-java v6」と明記。v5 時点ではまだ削除されていない |
影響なし — 本リポジトリは distribution: temurin。temurin は移行先として案内されている側 |
set-default 入力の追加(v5.5.0) |
既定 true = 従来どおり JAVA_HOME / PATH を更新 |
影響なし — 既定のままで v4 と同挙動 |
check-latest |
既定 false(v4 から変更なし) |
影響なし |
| その他の入力の削除・既定値の変更 | 該当なし | — |
⚠️ サブエージェントの調査結果のうち、検証で訂正した2点
自動調査(サブエージェント)は当初、次の2点を「本リポジトリに影響しうる破壊的変更」として報告しましたが、
ピン留め SHA の action.yml 実体を確認した結果、いずれも誤りでした。ログとして残します。
- ❌ 「v5.5.0 で
verify-signatureの既定値が temurin / microsoft ではtrueになった」
→ 誤り。実体の既定値はfalseです。v5.5.0 で追加されたのは入力そのものであって、既定での有効化ではありません。verify-signature: description: 'Verify downloaded Java package signatures when supported by the selected distribution' required: false default: false
したがって JDK ダウンロード時の署名検証がこのPRで新たに走るようになることはなく、挙動変化はありません。 - ❌ 「v5.0.0 で legacy Adopt distributions が削除された」
→ 誤り。v5 時点では「非推奨(警告)」であり、削除は v6 予定です(上表のとおり)。
いずれにせよ本リポジトリはtemurinのため影響はありません。
呼び出し箇所の確認
- name: Setup JDK
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0
with:
distribution: temurin
java-version: "17"distribution/java-versionの指定方法は v4 から変更なし。cache入力は未使用。- 用途は
eas build --local(Expo prebuild + Gradle)向けの JDK 17 で、この用途にも変更なし。 - リポジトリ全体で
actions/setup-javaを参照しているのはmobile-e2e.ymlのこの1箇所のみ。Dependabot の更新漏れはなし。
実施した検証
| 検証 | 結果 |
|---|---|
ピン留め SHA の真正性 — b6effb05e... が v5.7.0 タグを指すか(gh api .../git/refs/tags/v5.7.0) |
✅ 完全一致 |
ピン留め SHA における action.yml の入力定義・既定値・runs.using の実体確認 |
✅ 上表のとおり(runs.using: node24) |
YAML 構文チェック(python3 -c "import yaml; yaml.safe_load(...)") |
✅ OK |
参照箇所の網羅性(grep -rn "setup-java" .github/workflows/) |
✅ 1箇所のみ |
このリポジトリは Actions をコミット SHA で固定しています。SHA ピン留めはコメントのバージョン表記が改竄されても気付けないため、SHA とタグの照合を毎回実施しています。
⚠️ 実施できなかった検証
- 実際のワークフロー実行による検証:
mobile-e2e.ymlのトリガはworkflow_dispatchと週次 cron(0 23 * * 5= 毎週土曜 08:00 JST)のみで、PR でも main への push でも自動実行されません(本PRの checks が空なのはこのため)。実行にはci-e2eenvironment の secrets(EXPO_TOKEN/GOOGLE_MAPS_ANDROID_SDK_KEY)と、約35〜40分の EAS ローカルビルド + Android エミュレータでの Maestro E2E が必要です。 actionlint: サンドボックスのネットワーク制限でバイナリを取得できず未実施(Python の yaml パーサによる構文確認で代替)。過去の検証(2026-08-25)では actionlint v1.7.7 で指摘なしを確認済みで、差分は当時から変わっていません。
📌 新事実: 上流で v6.0.0 がリリース済み(2026-08-24)
今回の検証で、actions/setup-java の最新リリースが v6.0.0(2026-08-24 公開) になっていることを確認しました。
- 本リポジトリの Dependabot は github-actions を 毎週月曜 09:00 JST に確認する設定(
.github/dependabot.yml)で、
github-actions ecosystem は cooldown 非対応のため、近いうちに v6 への追随PRが別途開かれる可能性が高いです。 - v6.0.0 の主な内容は ESM への移行(リリースノート上で「user-facing breaking change ではない」と明言)、
Zulu Discovery API → Azul Metadata API への移行、Maven/Gradle wrapper のキャッシュ分離など。
本リポジトリが使うtemurin+java-version: 17の組み合わせには直接の影響は見当たりません。 - 本PR(v5.7.0)をどう扱うかの選択肢:
- A(推奨): 本PRをそのままマージして v5 系に乗せ、v6 PR が来たら改めて individual に評価する。段階的で差分が小さく、切り分けやすい。
- B: 本PRをクローズし、v6 PR を待って一気に上げる。中間状態を作らずに済むが、v6 PR が来るまで v4 のまま据え置きになる。
- 自動セッションでは PR のクローズ/マージという外部影響操作は行わないため、どちらも実行していません。判断はレビュアーにお任せします。
ユーザー判断が必要だったポイントと、その対応
自動モード(ユーザー不在)のため、以下は推奨案を採用して進めました。
1. 実ワークフロー未検証のまま「解消済み」とするか
- 選択肢A(採用): 静的検証で影響なしと確認できたため、追加修正なしでマージ可能とする。
- 選択肢B: E2E を手動
workflow_dispatchして実行検証してからクローズする。 - 採用理由: E2E の起動は約40分の高コスト処理かつ
ci-e2eenvironment の secret を要する外部影響のある操作で、自動セッションで無断実行すべきでないと判断しました。加えて今回の変更は JDK セットアップ action のみで、失敗するなら E2E 本体ではなく「Setup JDK」ステップで即座に落ちる性質のものです。 - フォローアップ推奨: マージ後の最初の週次実行で
Setup JDKステップが通ることをご確認ください。早く確認したい場合は main で手動workflow_dispatchしてください。
2. distribution の値を見直すべきか
- 採用: 非推奨対象は
adopt/adopt-hotspot/adopt-openj9の3値のみで、本リポジトリのtemurinはむしろ移行先として案内されている値のため、変更せず据え置きとしました。
3. verify-signature を明示指定すべきか
- サブエージェントは「既定が
trueに変わるため、CI 安定性を優先するならverify-signature: falseを明示する選択肢がある」と提起しました。 - 採用: 何も指定しない(据え置き)。上記のとおり既定値は実体では
falseであり、前提そのものが成り立たないため、指定を追加する理由がありません。不要な入力を増やさない判断としました。
4. main を取り込む merge commit を push するか
- 選択肢A(採用): 何も push せず、Dependabot の管理下に残す。
- 採用理由: 本ブランチは main から49コミット遅れですが競合はなく(
MERGEABLE/CLEAN)、ブランチに手を入れると Dependabot の自動 rebase 管理から外れる副作用があるため、触らない方を選びました。必要であれば@dependabot rebaseをコメントしてください。
5. v6.0.0 が出ている件をどう扱うか
- 採用: 本PR(v5.7.0)はそのまま活かし、v6 は別PRとして評価する方針を推奨として提示するに留め、クローズ等の操作は行っていません(上記「新事実」節を参照)。
6. PR をマージする操作自体
- 実行していません。 外部影響のある操作のため、マージ可否はレビュアーの判断に委ねます。
🤖 Generated with Claude Code
|
Superseded by #66. |
Bumps actions/setup-java from 4.9.1 to 5.7.0.
Release notes
Sourced from actions/setup-java's releases.
... (truncated)
Commits
b6effb0Deprecate legacy Adopt distributions in v5 (#1186)e498d2aBackport #1151: Fix missing wrapper cache distributions (#1153)6a3384dFix npm audit failures on releases/v5 (#1154)03ad4deBackport #1097/#1098: cache Maven and Gradle wrapper distributions separately...d229d2eBackport #1111: Preserve Maven toolchains across repeated setup-java runs (#1...bbf0f69dist: Cover Tencent Kona JDK 25 (#1110)513edc4feat: expose cache-primary-key output (#597) [v5 backport] (#1089)62df799Add Maven compiler problem matcher for javac diagnostics (#1087)176156achore: bump version to 5.6.0 for v5 release linebf7b8debuild: rebuild dist for backported changes (#1079, #1083, #1084)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)