From a90575efee4d43e654a73efdea6b9c38f218299c Mon Sep 17 00:00:00 2001 From: Samiur Prapon Date: Mon, 23 Sep 2024 02:28:03 +0600 Subject: [PATCH] =?UTF-8?q?chore:=20=F0=9F=91=B7=20add=20and=20update=20CI?= =?UTF-8?q?=20build=20system?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/android.yml | 108 ++++++++++++++++++++++++++-------- 1 file changed, 82 insertions(+), 26 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index fd2d730..47c40d3 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -1,52 +1,108 @@ name: Android Build - + on: pull_request: branches: [main, android] - types: [opened, synchronize, closed] + types: [opened, synchronize, reopened] push: branches: [main, android] + release: + types: [created] jobs: build: runs-on: ubuntu-latest steps: - - name: Enter to android folder - run: cd android + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Set up JDK + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' - - name: Set Up JDK - uses: actions/setup-java@v1 + - name: Change directory + run: cd android + + - name: Setup Android SDK + uses: android-actions/setup-android@v2 + + - name: Cache Gradle packages + uses: actions/cache@v3 with: - java-version: 11 + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + restore-keys: | + ${{ runner.os }}-gradle- - name: Change wrapper permissions run: chmod +x ./gradlew - # Run Build Project - name: Build gradle project run: ./gradlew build - # Create APK Debug - - name: Build apk debug project (APK) + - name: Build debug APK run: ./gradlew assembleDebug - # Create APK Release - - name: Build apk release project (APK) - run: ./gradlew assemble + - name: Upload debug APK + uses: actions/upload-artifact@v3 + with: + name: app-debug + path: app/build/outputs/apk/debug/app-debug.apk + # release: + # needs: build + # if: github.event_name == 'release' && github.event.action == 'created' + # runs-on: ubuntu-latest - # Upload Artifact Build - # Noted For Output [main_project_module]/build/outputs/apk/debug/ - - name: Upload APK Debug - uses: actions/upload-artifact@v2 - with: - name: APK(s) debug generated - path: app/build/outputs/apk/debug/ + # steps: + # - name: Checkout repository + # uses: actions/checkout@v3 - # Noted For Output [main_project_module]/build/outputs/apk/release/ - - name: Upload APK Release - uses: actions/upload-artifact@v2 - with: - name: APK(s) release generated - path: app/build/outputs/apk/release/ + # - name: Set up JDK + # uses: actions/setup-java@v3 + # with: + # java-version: '17' + # distribution: 'temurin' + + # - name: Change directory + # run: cd android + + # - name: Setup Android SDK + # uses: android-actions/setup-android@v2 + + # - name: Cache Gradle packages + # uses: actions/cache@v3 + # with: + # path: | + # ~/.gradle/caches + # ~/.gradle/wrapper + # key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + # restore-keys: | + # ${{ runner.os }}-gradle- + + # - name: Change wrapper permissions + # run: chmod +x ./gradlew + + # - name: Build release APK + # run: ./gradlew assembleRelease + + # - name: Upload release APK + # uses: actions/upload-artifact@v3 + # with: + # name: app-release + # path: app/build/outputs/apk/release/app-release-unsigned.apk + + # - name: Upload release APK to GitHub release + # uses: actions/upload-release-asset@v1 + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # with: + # upload_url: ${{ github.event.release.upload_url }} + # asset_path: app/build/outputs/apk/release/app-release-unsigned.apk + # asset_name: app-release-${{ github.ref_name }}.apk + # asset_content_type: application/vnd.android.package-archive