diff --git a/.github/workflows/android-deploy.yml b/.github/workflows/android-deploy.yml new file mode 100644 index 00000000..a842f7bd --- /dev/null +++ b/.github/workflows/android-deploy.yml @@ -0,0 +1,62 @@ +name: Android CI/CD + +on: + push: + branches: [ "main" ] + +jobs: + build: + + runs-on: ubuntu-latest + env: + LOCAL_PROPERTIES_CONTENTS: ${{ secrets.LOCAL_PROPERTIES_CONTENTS }} + + steps: + - uses: actions/checkout@v4 + - name: set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + cache: gradle + + - name: Setup Android SDK + uses: android-actions/setup-android@v2 + + - name: Grant execute permission for gradlew + run: chmod +x gradlew + + - name: Create local.properties + run: | + echo "$LOCAL_PROPERTIES_CONTENTS" > local.properties + + - name: Build with Gradle + run: ./gradlew build + + - name: Build Release AAB + id: buildRelease + run: ./gradlew bundleRelease + + - name: Sign AAB + id: sign + uses: r0adkll/sign-android-release@v1 + with: + releaseDirectory: app/build/outputs/bundle/release + signingKeyBase64: ${{ secrets.SIGNING_KEY }} + alias: ${{ secrets.ALIAS }} + keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} + keyPassword: ${{ secrets.KEY_PASSWORD }} + + - name: Create service_account.json + id: createServiceAccount + run: echo '${{ secrets.SERVICE_ACCOUNT_JSON }}' > service_account.json + + - name: Deploy to Play Store (BETA) + id: deploy + uses: r0adkll/upload-google-play@v1 + with: + serviceAccountJson: service_account.json + packageName: com.easyhz.noffice + releaseFile: app/build/outputs/bundle/release/app-release.aab + track: beta + whatsNewDirectory: whatsnew/