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 f2c923f..01fc562 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,14 +17,7 @@ jobs: steps: - uses: actions/checkout@v7 - - uses: actions/setup-java@v6 - with: - distribution: temurin - java-version: '17' - - - uses: android-actions/setup-android@v4 - - - 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 2880db6..81e6c09 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,14 +16,7 @@ jobs: steps: - uses: actions/checkout@v7 - - uses: actions/setup-java@v6 - with: - distribution: temurin - java-version: '17' - - - uses: android-actions/setup-android@v4 - - - uses: gradle/actions/setup-gradle@v6 + - uses: ./.github/actions/setup-build-env # ユニットテストに加え、リソースやマニフェストの不整合を拾うためビルドと lint も通す。 - name: Test and build @@ -35,14 +28,7 @@ jobs: steps: - uses: actions/checkout@v7 - - uses: actions/setup-java@v6 - with: - distribution: temurin - java-version: '17' - - - uses: android-actions/setup-android@v4 - - - uses: gradle/actions/setup-gradle@v6 + - uses: ./.github/actions/setup-build-env # エミュレータのハードウェアアクセラレーションを有効にする。 - name: Enable KVM 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 } }