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)