diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index f6af304b..246485d2 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -207,4 +207,70 @@ jobs: files: | ${{ github.workspace }}/temp/* env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + publish-fdroid-public: + runs-on: ubuntu-latest + needs: + - build-fdroid + if: inputs.release_type == 'release' + steps: + - name: Dispatch update for fdroid repo + uses: peter-evans/repository-dispatch@v3 + with: + token: ${{ secrets.GITHUB_TOKEN }} + repository: wgtunnel/fdroid + event-type: fdroid-update + + publish-play: + if: ${{ inputs.track != 'none' && inputs.track != '' }} + name: Publish to Google Play + runs-on: ubuntu-latest + + env: + SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }} + SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }} + SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }} + KEY_STORE_FILE: 'android_keystore.jks' + KEY_STORE_LOCATION: ${{ github.workspace }}/app/keystore/ + + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: '17' + cache: gradle + + - name: Grant execute permission for gradlew + run: chmod +x gradlew + + # Here we need to decode keystore.jks from base64 string and place it + # in the folder specified in the release signing configuration + - name: Decode Keystore + id: decode_keystore + uses: timheuer/base64-to-file@v1.2 + with: + fileName: ${{ env.KEY_STORE_FILE }} + fileDir: ${{ env.KEY_STORE_LOCATION }} + encodedString: ${{ secrets.KEYSTORE }} + + # create keystore path for gradle to read + - name: Create keystore path env var + run: | + store_path=${{ env.KEY_STORE_LOCATION }}${{ env.KEY_STORE_FILE }} + echo "KEY_STORE_PATH=$store_path" >> $GITHUB_ENV + + - name: Create service_account.json + id: createServiceAccount + run: echo '${{ secrets.SERVICE_ACCOUNT_JSON }}' > service_account.json + + - name: Deploy with fastlane + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.2' # Not needed with a .ruby-version file + bundler-cache: true + + - name: Distribute app to Prod track 🚀 + run: (cd ${{ github.workspace }} && bundle install && bundle exec fastlane ${{ inputs.track }}) \ No newline at end of file