From e2527c1f028a17f87e046625bc8189f7eaae4be0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enrique=20Lo=CC=81pez=20Man=CC=83as?= Date: Mon, 15 Dec 2025 20:30:53 +0100 Subject: [PATCH 1/6] chore: migrate from semantic-release to release-please --- .github/workflows/release-please.yml | 52 ++++++++++++++++++++++++ .github/workflows/release.yml | 60 ---------------------------- .release-please-manifest.json | 3 ++ .releaserc | 22 ---------- release-please-config.json | 12 ++++++ 5 files changed, 67 insertions(+), 82 deletions(-) create mode 100644 .github/workflows/release-please.yml delete mode 100644 .github/workflows/release.yml create mode 100644 .release-please-manifest.json delete mode 100644 .releaserc create mode 100644 release-please-config.json diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml new file mode 100644 index 000000000..65b9626c9 --- /dev/null +++ b/.github/workflows/release-please.yml @@ -0,0 +1,52 @@ +on: + push: + branches: + - main + +permissions: + contents: write + pull-requests: write + +name: release-please + +jobs: + release-please: + runs-on: ubuntu-latest + steps: + - uses: google-github-actions/release-please-action@v4 + id: release + with: + command: manifest + token: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }} + + - name: Checkout + uses: actions/checkout@v2 + if: ${{ steps.release.outputs.release_created }} + with: + token: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }} + + - name: set up Java 21 + uses: actions/setup-java@v3 + if: ${{ steps.release.outputs.release_created }} + with: + distribution: 'temurin' + java-version: '21' + + - name: Build APKs + if: ${{ steps.release.outputs.release_created }} + run: | + echo "Generating ApiDemos (Java) APKs" + cd $GITHUB_WORKSPACE/ApiDemos/project/ + ./gradlew assemble + cp ./java-app/build/outputs/apk/debug/java-app-debug.apk $GITHUB_WORKSPACE/ApiDemos-java-debug.apk + + echo "Generating Kotlin (Kotlin) APKs" + ./gradlew assemble + cp ./kotlin-app/build/outputs/apk/debug/kotlin-app-debug.apk $GITHUB_WORKSPACE/ApiDemos-kotlin-debug.apk + + - name: Upload Release Artifacts + if: ${{ steps.release.outputs.release_created }} + env: + GITHUB_TOKEN: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }} + run: | + gh release upload ${{ steps.release.outputs.tag_name }} ./ApiDemos-java-debug.apk ./ApiDemos-kotlin-debug.apk diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index b57d8bd6e..000000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -name: Release -on: - push: - branches: [ main ] - workflow_dispatch: -jobs: - release: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - token: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }} - - - name: set up Java 21 - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: '21' - - - name: Build APKs - run: | - echo "Generating ApiDemos (Java) APKs" - cd $GITHUB_WORKSPACE/ApiDemos/project/ - ./gradlew assemble - cp ./java-app/build/outputs/apk/debug/java-app-debug.apk $GITHUB_WORKSPACE/ApiDemos-java-debug.apk - - echo "Generating Kotlin (Kotlin) APKs" - ./gradlew assemble - cp ./kotlin-app/build/outputs/apk/debug/kotlin-app-debug.apk $GITHUB_WORKSPACE/ApiDemos-kotlin-debug.apk - - - uses: actions/setup-node@v2 - with: - node-version: '14' - - - name: Semantic Release - uses: cycjimmy/semantic-release-action@v3.4.1 - with: - extra_plugins: | - "@semantic-release/commit-analyzer@8.0.1" - "@semantic-release/release-notes-generator@9.0.3" - "@google/semantic-release-replace-plugin@1.2.0" - "@semantic-release/git@9.0.1" - "@semantic-release/github@7.2.3" - env: - GH_TOKEN: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }} diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 000000000..e4750bfca --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1,3 @@ +{ + ".": "1.19.0" +} \ No newline at end of file diff --git a/.releaserc b/.releaserc deleted file mode 100644 index e0b93f731..000000000 --- a/.releaserc +++ /dev/null @@ -1,22 +0,0 @@ -branches: - - main -plugins: - - "@semantic-release/commit-analyzer" - - "@semantic-release/release-notes-generator" - - - "@google/semantic-release-replace-plugin" - - replacements: - - files: - - "./ApiDemos/project/java-app/build.gradle.kts" - - "./ApiDemos/project/kotlin-app/build.gradle.kts" - from: "versionName = \".*\"" - to: "versionName = \"${nextRelease.version}\"" - - - "@semantic-release/git" - - assets: - - "./ApiDemos/project/java-app/build.gradle.kts" - - "./ApiDemos/project/kotlin-app/build.gradle.kts" - - - "@semantic-release/github" - - assets: - - "./ApiDemos-java-debug.apk" - - "./ApiDemos-kotlin-debug.apk" -options: - debug: true diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 000000000..a971b8fdd --- /dev/null +++ b/release-please-config.json @@ -0,0 +1,12 @@ +{ + "packages": { + ".": { + "release-type": "simple", + "package-name": "android-samples", + "extra-files": [ + "ApiDemos/project/java-app/build.gradle.kts", + "ApiDemos/project/kotlin-app/build.gradle.kts" + ] + } + } +} \ No newline at end of file From b7905d1d37c801f43c5fa69ae07abf88e244d386 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enrique=20Lo=CC=81pez=20Man=CC=83as?= Date: Mon, 15 Dec 2025 20:37:18 +0100 Subject: [PATCH 2/6] chore: add header --- .github/workflows/release-please.yml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index 65b9626c9..3051dc9a0 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -1,3 +1,17 @@ +# Copyright 2025 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + on: push: branches: @@ -13,7 +27,7 @@ jobs: release-please: runs-on: ubuntu-latest steps: - - uses: google-github-actions/release-please-action@v4 + - uses: googleapis/release-please-action@v4 id: release with: command: manifest From 160923f7004b1c97e16ac5d7ac626e1009b1db49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enrique=20Lo=CC=81pez=20Man=CC=83as?= Date: Mon, 15 Dec 2025 20:42:42 +0100 Subject: [PATCH 3/6] chore: removed package name --- release-please-config.json | 1 - 1 file changed, 1 deletion(-) diff --git a/release-please-config.json b/release-please-config.json index a971b8fdd..399cf813f 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -2,7 +2,6 @@ "packages": { ".": { "release-type": "simple", - "package-name": "android-samples", "extra-files": [ "ApiDemos/project/java-app/build.gradle.kts", "ApiDemos/project/kotlin-app/build.gradle.kts" From 7195bae5143c0a9c414be37df7c5d5db4266c26b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enrique=20Lo=CC=81pez=20Man=CC=83as?= Date: Mon, 15 Dec 2025 20:49:08 +0100 Subject: [PATCH 4/6] chore: add region tags for version --- ApiDemos/project/java-app/build.gradle.kts | 2 ++ ApiDemos/project/kotlin-app/build.gradle.kts | 2 ++ 2 files changed, 4 insertions(+) diff --git a/ApiDemos/project/java-app/build.gradle.kts b/ApiDemos/project/java-app/build.gradle.kts index 6620ba462..11b300b2e 100644 --- a/ApiDemos/project/java-app/build.gradle.kts +++ b/ApiDemos/project/java-app/build.gradle.kts @@ -28,7 +28,9 @@ android { minSdk = libs.versions.minSdk.get().toInt() targetSdk = libs.versions.targetSdk.get().toInt() versionCode = 1 + // {x-release-please-start-version} versionName = "1.19.0" + // {x-release-please-end} multiDexEnabled = true testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } diff --git a/ApiDemos/project/kotlin-app/build.gradle.kts b/ApiDemos/project/kotlin-app/build.gradle.kts index e95fb93b9..81e3abbd9 100644 --- a/ApiDemos/project/kotlin-app/build.gradle.kts +++ b/ApiDemos/project/kotlin-app/build.gradle.kts @@ -31,7 +31,9 @@ android { minSdk = libs.versions.minSdk.get().toInt() targetSdk = libs.versions.targetSdk.get().toInt() versionCode = 1 + // {x-release-please-start-version} versionName = "1.19.0" + // {x-release-please-end} testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" multiDexEnabled = true } From 84df05a13975f3d2cb1618459237e59f36a7ec13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enrique=20Lo=CC=81pez=20Man=CC=83as?= Date: Mon, 15 Dec 2025 21:11:13 +0100 Subject: [PATCH 5/6] chore: migrate from semantic-release to release-please --- .github/workflows/release-please.yml | 49 ++-------------------------- 1 file changed, 2 insertions(+), 47 deletions(-) diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index 3051dc9a0..6a354fcd7 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -1,17 +1,3 @@ -# Copyright 2025 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - on: push: branches: @@ -30,37 +16,6 @@ jobs: - uses: googleapis/release-please-action@v4 id: release with: - command: manifest token: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }} - - - name: Checkout - uses: actions/checkout@v2 - if: ${{ steps.release.outputs.release_created }} - with: - token: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }} - - - name: set up Java 21 - uses: actions/setup-java@v3 - if: ${{ steps.release.outputs.release_created }} - with: - distribution: 'temurin' - java-version: '21' - - - name: Build APKs - if: ${{ steps.release.outputs.release_created }} - run: | - echo "Generating ApiDemos (Java) APKs" - cd $GITHUB_WORKSPACE/ApiDemos/project/ - ./gradlew assemble - cp ./java-app/build/outputs/apk/debug/java-app-debug.apk $GITHUB_WORKSPACE/ApiDemos-java-debug.apk - - echo "Generating Kotlin (Kotlin) APKs" - ./gradlew assemble - cp ./kotlin-app/build/outputs/apk/debug/kotlin-app-debug.apk $GITHUB_WORKSPACE/ApiDemos-kotlin-debug.apk - - - name: Upload Release Artifacts - if: ${{ steps.release.outputs.release_created }} - env: - GITHUB_TOKEN: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }} - run: | - gh release upload ${{ steps.release.outputs.tag_name }} ./ApiDemos-java-debug.apk ./ApiDemos-kotlin-debug.apk + config-file: release-please-config.json + manifest-file: .release-please-manifest.json From 7f321e18686ae03dc0b713b220f0cd6a7ab496c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enrique=20Lo=CC=81pez=20Man=CC=83as?= Date: Mon, 15 Dec 2025 21:48:06 +0100 Subject: [PATCH 6/6] chore: add header --- .github/workflows/release-please.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index 6a354fcd7..18292f83b 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -1,3 +1,17 @@ +# Copyright 2025 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + on: push: branches: