From b50e03b17a96f7349a1bf1a2f33c6229e67e92ec Mon Sep 17 00:00:00 2001 From: Ruk Doe Date: Wed, 16 Sep 2026 12:17:53 +0900 Subject: [PATCH 1/3] ci: fix setup-android and bump JDK to 25 LTS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit android-actions/setup-android の既定パッケージに含まれる旧 `tools` が SDK リポジトリから削除されており、sdkmanager が exit 1 で落ちるため `packages: platform-tools` を明示する。 あわせて CI の JDK を最新 LTS の 25 に更新する。 Co-Authored-By: Claude Opus 5 (1M context) --- .github/workflows/release.yml | 6 +++++- .github/workflows/test.yml | 12 ++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f2c923f..5f18bde 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,9 +20,13 @@ jobs: - uses: actions/setup-java@v6 with: distribution: temurin - java-version: '17' + java-version: '25.0.4+101.0.LTS' - uses: android-actions/setup-android@v4 + with: + # 既定値に含まれる旧 `tools` は SDK リポジトリから削除済みで sdkmanager が失敗するため、 + # 必要なパッケージだけを明示する。 + packages: platform-tools - uses: gradle/actions/setup-gradle@v6 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2880db6..f45570d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,9 +19,13 @@ jobs: - uses: actions/setup-java@v6 with: distribution: temurin - java-version: '17' + java-version: '25.0.4+101.0.LTS' - uses: android-actions/setup-android@v4 + with: + # 既定値に含まれる旧 `tools` は SDK リポジトリから削除済みで sdkmanager が失敗するため、 + # 必要なパッケージだけを明示する。 + packages: platform-tools - uses: gradle/actions/setup-gradle@v6 @@ -38,9 +42,13 @@ jobs: - uses: actions/setup-java@v6 with: distribution: temurin - java-version: '17' + java-version: '25.0.4+101.0.LTS' - uses: android-actions/setup-android@v4 + with: + # 既定値に含まれる旧 `tools` は SDK リポジトリから削除済みで sdkmanager が失敗するため、 + # 必要なパッケージだけを明示する。 + packages: platform-tools - uses: gradle/actions/setup-gradle@v6 From 50b6e54c250a788f909a7b9489f798e6b882b96b Mon Sep 17 00:00:00 2001 From: Ruk Doe Date: Wed, 16 Sep 2026 12:25:19 +0900 Subject: [PATCH 2/3] =?UTF-8?q?ci:=20setup=20=E6=89=8B=E9=A0=86=E3=82=92?= =?UTF-8?q?=20composite=20action=20=E3=81=AB=E9=9B=86=E7=B4=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 3 ジョブで JDK・Android SDK・Gradle の設定が丸ごと重複していたため、 `.github/actions/setup-build-env` に切り出す。 Co-Authored-By: Claude Opus 5 (1M context) --- .github/actions/setup-build-env/action.yml | 18 +++++++++++++++ .github/workflows/release.yml | 13 +---------- .github/workflows/test.yml | 26 ++-------------------- 3 files changed, 21 insertions(+), 36 deletions(-) create mode 100644 .github/actions/setup-build-env/action.yml diff --git a/.github/actions/setup-build-env/action.yml b/.github/actions/setup-build-env/action.yml new file mode 100644 index 0000000..2da3120 --- /dev/null +++ b/.github/actions/setup-build-env/action.yml @@ -0,0 +1,18 @@ +name: Setup build environment +description: Android のビルドに必要な JDK・Android SDK・Gradle を用意する。 + +runs: + using: composite + steps: + - uses: actions/setup-java@v6 + with: + distribution: temurin + java-version: '25.0.4+101.0.LTS' + + - uses: android-actions/setup-android@v4 + with: + # 既定値に含まれる旧 `tools` は SDK リポジトリから削除済みで sdkmanager が失敗するため、 + # 必要なパッケージだけを明示する。 + packages: platform-tools + + - uses: gradle/actions/setup-gradle@v6 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5f18bde..01fc562 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,18 +17,7 @@ jobs: steps: - uses: actions/checkout@v7 - - uses: actions/setup-java@v6 - with: - distribution: temurin - java-version: '25.0.4+101.0.LTS' - - - uses: android-actions/setup-android@v4 - with: - # 既定値に含まれる旧 `tools` は SDK リポジトリから削除済みで sdkmanager が失敗するため、 - # 必要なパッケージだけを明示する。 - packages: platform-tools - - - uses: gradle/actions/setup-gradle@v6 + - uses: ./.github/actions/setup-build-env # 署名鍵が登録されていればリリース署名を行う。未登録なら未署名APKになる。 - name: Decode keystore diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f45570d..81e6c09 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,18 +16,7 @@ jobs: steps: - uses: actions/checkout@v7 - - uses: actions/setup-java@v6 - with: - distribution: temurin - java-version: '25.0.4+101.0.LTS' - - - uses: android-actions/setup-android@v4 - with: - # 既定値に含まれる旧 `tools` は SDK リポジトリから削除済みで sdkmanager が失敗するため、 - # 必要なパッケージだけを明示する。 - packages: platform-tools - - - uses: gradle/actions/setup-gradle@v6 + - uses: ./.github/actions/setup-build-env # ユニットテストに加え、リソースやマニフェストの不整合を拾うためビルドと lint も通す。 - name: Test and build @@ -39,18 +28,7 @@ jobs: steps: - uses: actions/checkout@v7 - - uses: actions/setup-java@v6 - with: - distribution: temurin - java-version: '25.0.4+101.0.LTS' - - - uses: android-actions/setup-android@v4 - with: - # 既定値に含まれる旧 `tools` は SDK リポジトリから削除済みで sdkmanager が失敗するため、 - # 必要なパッケージだけを明示する。 - packages: platform-tools - - - uses: gradle/actions/setup-gradle@v6 + - uses: ./.github/actions/setup-build-env # エミュレータのハードウェアアクセラレーションを有効にする。 - name: Enable KVM From 16016ef561f81a2854b975b7701d6eb4870ae565 Mon Sep 17 00:00:00 2001 From: Ruk Doe Date: Wed, 16 Sep 2026 12:27:00 +0900 Subject: [PATCH 3/3] =?UTF-8?q?build:=20Java=20=E8=A8=80=E8=AA=9E=E3=83=AC?= =?UTF-8?q?=E3=83=99=E3=83=AB=E3=82=92=2021=20=E3=81=B8=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AGP 9.4.0 内蔵の Kotlin コンパイラがサポートする jvmTarget は 24 までで、 25 は `Unknown Kotlin JVM target: 25` で失敗する。LTS で到達できる上限として 21 を採用する。 Co-Authored-By: Claude Opus 5 (1M context) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 09370f8..a4d2a2b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -40,8 +40,8 @@ android { } compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 } }