diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index db933255..09bcf89e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -43,5 +43,24 @@ jobs: mkdir -p $HOME/.android echo "$DEBUG_KEYSTORE_BASE64" | base64 -d > $HOME/.android/debug.keystore + - name: Decode Release Keystore + env: + RELEASE_KEYSTORE_BASE64: ${{ secrets.RELEASE_KEYSTORE_BASE64 }} + run: | + mkdir -p ./keystore + echo "$RELEASE_KEYSTORE_BASE64" | base64 -d > ./keystore/release.jks + + - name: Configure Keystore Properties + run: | + echo "RELEASE_KEYSTORE_PATH=./keystore/release.jks" >> local.properties + echo "RELEASE_KEYSTORE_PASSWORD=${{ secrets.RELEASE_KEYSTORE_PASSWORD }}" >> local.properties + echo "RELEASE_KEY_ALIAS=${{ secrets.RELEASE_KEY_ALIAS }}" >> local.properties + echo "RELEASE_KEY_PASSWORD=${{ secrets.RELEASE_KEY_PASSWORD }}" >> local.properties + + - name: Debug Local Properties + run: | + cat local.properties + ls -la ./keystore + - name: Run Build run: ./gradlew build --no-daemon diff --git a/.github/workflows/ktlin_check.yml b/.github/workflows/ktlin_check.yml index 919defb9..3ba9fbf0 100644 --- a/.github/workflows/ktlin_check.yml +++ b/.github/workflows/ktlin_check.yml @@ -36,5 +36,24 @@ jobs: GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }} run: echo "$GOOGLE_SERVICES_JSON" > ./app/google-services.json + - name: Decode Release Keystore + env: + RELEASE_KEYSTORE_BASE64: ${{ secrets.RELEASE_KEYSTORE_BASE64 }} + run: | + mkdir -p ./keystore + echo "$RELEASE_KEYSTORE_BASE64" | base64 -d > ./keystore/release.jks + + - name: Configure Keystore Properties + run: | + echo "RELEASE_KEYSTORE_PATH=./keystore/release.jks" >> local.properties + echo "RELEASE_KEYSTORE_PASSWORD=${{ secrets.RELEASE_KEYSTORE_PASSWORD }}" >> local.properties + echo "RELEASE_KEY_ALIAS=${{ secrets.RELEASE_KEY_ALIAS }}" >> local.properties + echo "RELEASE_KEY_PASSWORD=${{ secrets.RELEASE_KEY_PASSWORD }}" >> local.properties + + - name: Debug Local Properties + run: | + cat local.properties + ls -la ./keystore + - name: Run ktlintCheck run: ./gradlew ktlintCheck --no-daemon diff --git a/.gitignore b/.gitignore index 5727e1e8..61b5d47c 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,5 @@ local.properties .idea/ .kotlin/ *.keystore +*.jks +/app/release diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 5d7633ad..d4253381 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -24,6 +24,24 @@ android { file("${System.getProperty("user.home")}/.android/debug.keystore") } } + + create("release") { + val keystoreProperties = Properties().apply { + val file = rootProject.file("local.properties") + if (file.exists()) { + load(file.inputStream()) + } + } + val keyStorePath = keystoreProperties.getProperty("RELEASE_KEYSTORE_PATH") + val storePasswordValue = keystoreProperties.getProperty("RELEASE_KEYSTORE_PASSWORD") + val keyAliasValue = keystoreProperties.getProperty("RELEASE_KEY_ALIAS") + val keyPasswordValue = keystoreProperties.getProperty("RELEASE_KEY_PASSWORD") + + storeFile = file(keyStorePath) + storePassword = storePasswordValue + keyAlias = keyAliasValue + keyPassword = keyPasswordValue + } } namespace = "com.boostcamp.dreamteam.dreamdiary" @@ -37,6 +55,7 @@ android { getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro", ) + signingConfig = signingConfigs.getByName("release") } } buildFeatures { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0d9f9915..4fba0d94 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,3 +1,3 @@ - dreamdiary + DreamDiary diff --git a/build-logic/convention/src/main/java/com/boostcamp/dreamteam/dreamdiary/buildlogic/convention/AndroidApplicationConventionPlugin.kt b/build-logic/convention/src/main/java/com/boostcamp/dreamteam/dreamdiary/buildlogic/convention/AndroidApplicationConventionPlugin.kt index e1934730..7f033806 100644 --- a/build-logic/convention/src/main/java/com/boostcamp/dreamteam/dreamdiary/buildlogic/convention/AndroidApplicationConventionPlugin.kt +++ b/build-logic/convention/src/main/java/com/boostcamp/dreamteam/dreamdiary/buildlogic/convention/AndroidApplicationConventionPlugin.kt @@ -19,8 +19,8 @@ class AndroidApplicationConventionPlugin : Plugin { minSdk = 24 targetSdk = 35 - versionCode = 2 - versionName = "0.0.2" + versionCode = 3 + versionName = "0.0.3" } configureKotlinAndroid(this)