Remove FOREGROUND_SERVICE permission #13
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Publish Releases | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| jobs: | |
| build-and-publish-github-release: | |
| name: Build and publish GitHub release | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v4 | |
| - name: Grant Permission to Execute | |
| run: chmod +x gradlew | |
| - name: Decode GitHub Release Keystore | |
| env: | |
| GITHUB_RELEASE_ENCODED_KEYSTORE: ${{ secrets.GH_RELEASE_ENCODED_KEYSTORE }} | |
| run: | | |
| echo $GITHUB_RELEASE_ENCODED_KEYSTORE | base64 -d > app/gh-release-keystore.jks | |
| - name: Run Unit Tests | |
| run: ./gradlew test | |
| - name: Build Signed Full Release APK | |
| env: | |
| KEYSTORE_FILE: gh-release-keystore.jks | |
| KEYSTORE_PASSWORD: ${{ secrets.GH_RELEASE_KEYSTORE_PASSWORD }} | |
| KEY_ALIAS: ${{ secrets.GH_RELEASE_KEY_ALIAS }} | |
| KEY_PASSWORD: ${{ secrets.GH_RELEASE_KEY_PASSWORD }} | |
| run: ./gradlew assembleFullRelease | |
| - name: Build Signed OSS Release APK | |
| env: | |
| KEYSTORE_FILE: gh-release-keystore.jks | |
| KEYSTORE_PASSWORD: ${{ secrets.GH_RELEASE_KEYSTORE_PASSWORD }} | |
| KEY_ALIAS: ${{ secrets.GH_RELEASE_KEY_ALIAS }} | |
| KEY_PASSWORD: ${{ secrets.GH_RELEASE_KEY_PASSWORD }} | |
| run: ./gradlew assembleOssRelease | |
| - name: Get version name | |
| id: get_version | |
| run: | | |
| VERSION_NAME=$(echo ${GITHUB_REF#refs/tags/v}) | |
| echo "VERSION_NAME=$VERSION_NAME" >> $GITHUB_ENV | |
| - name: Create GitHub Release | |
| id: create_release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| name: Release ${{ env.VERSION_NAME }} | |
| draft: false | |
| prerelease: false | |
| files: | | |
| app/build/outputs/apk/fullRelease/app-full-release.apk | |
| app/build/outputs/apk/ossRelease/app-oss-release.apk | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| build-and-publish-play-store: | |
| name: Build and publish to Play Store | |
| runs-on: ubuntu-latest | |
| needs: build-and-publish-github-release | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| - name: Set up Ruby | |
| uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: '3.2' | |
| bundler-cache: true | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v4 | |
| - name: Grant Permission to Execute | |
| run: chmod +x gradlew | |
| - name: Decode Keystore | |
| env: | |
| ENCODED_KEYSTORE: ${{ secrets.ENCODED_KEYSTORE }} | |
| run: | | |
| echo $ENCODED_KEYSTORE | base64 -d > app/keystore.jks | |
| - name: Build Full Release AAB | |
| env: | |
| KEYSTORE_FILE: keystore.jks | |
| KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} | |
| KEY_ALIAS: ${{ secrets.KEY_ALIAS }} | |
| KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} | |
| run: ./gradlew bundleFullRelease | |
| - name: Setup Fastlane | |
| run: | | |
| gem install fastlane | |
| - name: Decode service account key | |
| env: | |
| PLAY_STORE_CONFIG_JSON: ${{ secrets.PLAY_STORE_CONFIG_JSON }} | |
| run: echo $PLAY_STORE_CONFIG_JSON > play-store-config.json | |
| - name: Deploy to Play Store | |
| run: fastlane deploy |