diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index c4761c66..3a43d5b9 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -6,7 +6,7 @@ ## ๐Ÿ“ท ์Šคํฌ๋ฆฐ์ƒท - + ## โœ๏ธ ์‚ฌ์šฉ๋ฒ• diff --git a/.github/workflows/android-ci.yml b/.github/workflows/android-ci.yml new file mode 100644 index 00000000..328bf5a0 --- /dev/null +++ b/.github/workflows/android-ci.yml @@ -0,0 +1,47 @@ +name: Android CI + +on: + push: # ์ฝ”๋“œ ํ‘ธ์‹œ ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ์„ค์ • + branches: [ "develop" ] # "develop" ๋ธŒ๋žœ์น˜์— ํ‘ธ์‹œ๋  ๋•Œ๋งŒ ํŠธ๋ฆฌ๊ฑฐ๋œ๋‹ค. + pull_request: # ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ์„ค์ • + branches: [ "develop" ] # "develop" ๋ธŒ๋žœ์น˜๋กœ์˜ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ๋งŒ ํŠธ๋ฆฌ๊ฑฐ๋œ๋‹ค. + +jobs: # CI์—์„œ ์ˆ˜ํ–‰ํ•  ์ž‘์—…์„ ์ •์˜ํ•œ๋‹ค. + ci-build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + cache: gradle + + - name: Cache Gradle packages + uses: actions/cache@v4 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', '**/buildSrc/**/*.kt') }} + restore-keys: | + ${{ runner.os }}-gradle- + + - name: Generate local.properties + run: | + echo '${{ secrets.LOCAL_PROPERTIES }}' >> ./local.properties + + - name: Generate google-services.json + run: | + echo '${{ secrets.GOOGLE_SERVICES }}' >> ./app/google-services.json + +# - name: Code style checks +# run: | +# ./gradlew detekt + + - name: Run build + run: ./gradlew assembleDebug --stacktrace + diff --git a/.github/workflows/firebase-app-distribution-debug.yml b/.github/workflows/firebase-app-distribution-debug.yml new file mode 100644 index 00000000..3e93757b --- /dev/null +++ b/.github/workflows/firebase-app-distribution-debug.yml @@ -0,0 +1,63 @@ +name: Build & upload to Firebase App Distribution + +on: + push: + branches: + - main + +jobs: + cd-build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + + - name: Cache Gradle packages + uses: actions/cache@v4 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', '**/buildSrc/**/*.kt') }} + restore-keys: | + ${{ runner.os }}-gradle- + + - name: Grant execute permission for gradlew + run: chmod +x gradlew + + - name: Prepare keystore dir + run: mkdir -p keystore + + - name: Decode And Save Keystore Base64 + run: | + echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 -d > keystore/keystore.jks + + - name: Decode And Save Debug Keystore Base64 + run: | + echo "${{ secrets.DEBUG_KEYSTORE_BASE64 }}" | base64 -d > debug.keystore + + - name: Generate local.properties + run: | + echo '${{ secrets.LOCAL_PROPERTIES }}' >> ./local.properties + + - name: Generate google-services.json + run: | + echo '${{ secrets.GOOGLE_SERVICES }}' >> ./app/google-services.json + + - name: Build debug APK + run: ./gradlew assembleDebug + + - name: Upload artifact to Firebase App Distribution + uses: wzieba/Firebase-Distribution-Github-Action@v1 + with: + appId: ${{ secrets.FIREBASE_APP_ID }} + serviceCredentialsFileContent: ${{ secrets.CREDENTIAL_FILE_CONTENT }} + groups: testers + file: app/build/outputs/apk/debug/app-debug.apk +# releaseNotes: ${{ steps.firebase_release_note.outputs.notes }} \ No newline at end of file diff --git a/.gitignore b/.gitignore index b7197f62..4a5682ef 100644 --- a/.gitignore +++ b/.gitignore @@ -168,3 +168,5 @@ fabric.properties ### AndroidStudio Patch ### !/gradle/wrapper/gradle-wrapper.jar +/app/debug/output-metadata.json +/app/build/outputs/**/output-metadata.json diff --git a/.idea/appInsightsSettings.xml b/.idea/appInsightsSettings.xml new file mode 100644 index 00000000..decbbbe0 --- /dev/null +++ b/.idea/appInsightsSettings.xml @@ -0,0 +1,40 @@ + + + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 00000000..b86273d9 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml new file mode 100644 index 00000000..d7fd201e --- /dev/null +++ b/.idea/deploymentTargetSelector.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 00000000..7b3006b6 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,20 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml index cde3e199..7061a0d6 100644 --- a/.idea/inspectionProfiles/Project_Default.xml +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -49,6 +49,10 @@