diff --git a/.github/workflows/debug_build.yml b/.github/workflows/debug_build.yml new file mode 100644 index 00000000..941f9340 --- /dev/null +++ b/.github/workflows/debug_build.yml @@ -0,0 +1,62 @@ +name: Build debug APK +on: + push: + branches: + - '**' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Cache Gradle + uses: actions/cache@v2 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', '**/buildSrc/**/*.kt') }} + restore-keys: | + ${{ runner.os }}-gradle- + + - name: Setup JDK 17 + uses: actions/setup-java@v3 + with: + java-version: 17 + distribution: "temurin" + cache: gradle + + - name: Setup Android SDK + uses: android-actions/setup-android@v3 + + - name: Grant execute permission for gradlew + run: chmod +x gradlew + + - name: Generate Keystore file + run: | + echo "$KEYSTORE" > ./keystore.b64 + base64 -d -i ./keystore.b64 > ./keystore.jks + env: + KEYSTORE: ${{ secrets.RELEASE_KEYSTORE }} + + - name: Generate local.properties + run: | + echo localKeyPassword=\"$KEY_PASSWORD\" >> local.properties + echo localKeyAlias=\"$KEY_ALIAS\" >> local.properties + echo localStoreFile=\"../keystore.jks\" >> local.properties + echo localStorePassword=\"$STORE_PASSWORD\" >> local.properties + shell: bash + env: + STORE_PASSWORD: ${{ secrets.RELEASE_PASSWORD }} + KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} + KEY_ALIAS: ${{ secrets.KEY_ALIAS }} + + - name: Build debug APK + run: ./gradlew assembleDebug + + - name: Upload debug APK + uses: actions/upload-artifact@v4 + with: + name: Koreatech-Board-${{ github.ref_name }}-debug.apk + path: app/build/outputs/apk/debug/app-debug.apk \ No newline at end of file