Skip to content

Commit

Permalink
[WEAR] Update release script
Browse files Browse the repository at this point in the history
  • Loading branch information
kamgurgul committed Jan 9, 2025
1 parent bd375ab commit d053c1f
Show file tree
Hide file tree
Showing 4 changed files with 164 additions and 16 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/android_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
format: [
{
type: "apk",
command: "assembleRelease
command: "androidApp:assembleRelease
-Pandroid.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=BaselineProfile
-Pandroid.testoptions.manageddevices.emulator.gpu=\"swiftshader_indirect\"
-Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true
Expand All @@ -52,14 +52,14 @@ jobs:
},
{
type: "aab",
command: "generateReleaseBaseline
command: "androidApp:generateReleaseBaseline
-Pandroid.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=BaselineProfile
-Pandroid.testoptions.manageddevices.emulator.gpu=\"swiftshader_indirect\"
-Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true
-Pandroid.experimental.androidTest.numManagedDeviceShards=1
-Pandroid.experimental.testOptions.managedDevices.maxConcurrentDevices=1
--no-configuration-cache
bundleRelease",
androidApp:bundleRelease",
output: "bundle"
}
]
Expand Down Expand Up @@ -164,4 +164,4 @@ jobs:
artifacts: "*.apk,*.aab,mapping-apk.zip,mapping-aab.zip"
draft: true
name: "[Android] ${{ github.event.inputs.version }}"
tag: android-${{ github.event.inputs.version }}
tag: android-${{ github.event.inputs.version }}
145 changes: 145 additions & 0 deletions .github/workflows/wear_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
name: Android release
on:
workflow_dispatch:
inputs:
version:
description: 'Version'
required: true

jobs:
unit_tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'corretto'
cache: gradle

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4

- name: Unit tests
run: ./gradlew testDebugUnitTest

- name: Generate code coverage
run: ./gradlew shared:koverXmlReportDebug

- name: Upload test coverage
uses: actions/upload-artifact@v4
with:
name: code-coverage.xml
path: shared/build/coverage-report/result.xml
build:
needs: unit_tests
runs-on: ubuntu-latest
strategy:
matrix:
format: [
{
type: "apk",
command: "wearOsApp:assembleRelease",
output: "apk"
},
{
type: "aab",
command: "wearOsApp:bundleRelease",
output: "bundle"
}
]
steps:
- uses: actions/checkout@v4

- name: set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'corretto'
cache: gradle

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4

- name: Decode Keystore
env:
ENCODED_KEYSTORE: ${{ secrets.KEYSTORE_ENCODED }}
run: |
echo $ENCODED_KEYSTORE > keystore-b64.txt
base64 -d keystore-b64.txt > ./wearOsApp/keystore.jks
- name: Build release
env:
KEYSTORE_ALIAS: ${{ secrets.KEYSTORE_ALIAS }}
KEYSTORE_PASS: ${{ secrets.KEYSTORE_PASS }}
KEYSTORE_PATH: keystore.jks
run: ./gradlew ${{ matrix.format.command }}

- name: Upload Build
uses: actions/upload-artifact@v4
with:
name: app-release.${{ matrix.format.type }}
path: wearOsApp/build/outputs/${{ matrix.format.output }}/release/*.${{ matrix.format.type }}

- name: Upload mapping folder
uses: actions/upload-artifact@v4
with:
name: mapping-${{ matrix.format.type }}
path: wearOsApp/build/outputs/mapping/

release:
needs: build
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Tag Release
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git tag wear-${{ github.event.inputs.version }}
git push origin wear-${{ github.event.inputs.version }}
- name: Download APK
uses: actions/download-artifact@v4
with:
name: app-release.apk

- name: Download APK mapping
uses: actions/download-artifact@v4
with:
name: mapping-apk
path: mapping-apk

- name: Zip APK mapping
run: |
zip -r mapping-apk.zip mapping-apk/
- name: Download AAB
uses: actions/download-artifact@v4
with:
name: app-release.aab

- name: Download AAB mapping
uses: actions/download-artifact@v4
with:
name: mapping-aab
path: mapping-aab

- name: Zip AAB mapping
run: |
zip -r mapping-aab.zip mapping-aab/
- name: Create Release
id: create_release
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts: "*.apk,*.aab,mapping-apk.zip,mapping-aab.zip"
draft: true
name: "[WearOS] ${{ github.event.inputs.version }}"
tag: wear-${{ github.event.inputs.version }}
3 changes: 3 additions & 0 deletions buildSrc/src/main/java/AndroidVersions.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
object AndroidVersions {

const val MIN_SDK = 21
const val WEAR_MIN_SDK = 26
const val TARGET_SDK = 35
const val COMPILE_SDK = 35

Expand All @@ -9,6 +10,8 @@ object AndroidVersions {
private const val VERSION_PATCH = 0

const val VERSION_CODE = VERSION_MAJOR * 10000 + VERSION_MINOR * 100 + VERSION_PATCH
const val WEAR_VERSION_CODE =
1000000 + VERSION_MAJOR * 10000 + VERSION_MINOR * 100 + VERSION_PATCH
const val VERSION_NAME = "$VERSION_MAJOR.$VERSION_MINOR.$VERSION_PATCH"

const val NDK_VERSION = "27.1.12297006"
Expand Down
24 changes: 12 additions & 12 deletions wearOsApp/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ android {
defaultConfig {
applicationId = "com.kgurgul.cpuinfo"

minSdk = 26
minSdk = AndroidVersions.WEAR_MIN_SDK
targetSdk = AndroidVersions.TARGET_SDK
versionCode = AndroidVersions.VERSION_CODE
versionCode = AndroidVersions.WEAR_VERSION_CODE
versionName = AndroidVersions.VERSION_NAME

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
Expand All @@ -40,22 +40,22 @@ android {
keyPassword = debugSigningConfig.getProperty(AndroidSigningConfig.KEY_PASS)
storePassword = debugSigningConfig.getProperty(AndroidSigningConfig.KEY_PASS)
}
/* create("release") {
val releaseSigningConfig =
AndroidSigningConfig.getReleaseProperties(rootProject.rootDir)
storeFile = file(releaseSigningConfig.getProperty(AndroidSigningConfig.KEY_PATH))
keyAlias = releaseSigningConfig.getProperty(AndroidSigningConfig.KEY_ALIAS)
keyPassword = releaseSigningConfig.getProperty(AndroidSigningConfig.KEY_PASS)
storePassword = releaseSigningConfig.getProperty(AndroidSigningConfig.KEY_PASS)
}*/
create("release") {
val releaseSigningConfig =
AndroidSigningConfig.getReleaseProperties(rootProject.rootDir)
storeFile = file(releaseSigningConfig.getProperty(AndroidSigningConfig.KEY_PATH))
keyAlias = releaseSigningConfig.getProperty(AndroidSigningConfig.KEY_ALIAS)
keyPassword = releaseSigningConfig.getProperty(AndroidSigningConfig.KEY_PASS)
storePassword = releaseSigningConfig.getProperty(AndroidSigningConfig.KEY_PASS)
}
}

buildTypes {
/* release {
release {
signingConfig = signingConfigs.getByName("release")
isMinifyEnabled = true
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
}*/
}
debug {
signingConfig = signingConfigs.getByName("debug")
isMinifyEnabled = false
Expand Down

0 comments on commit d053c1f

Please sign in to comment.