diff --git a/.github/workflows/build-fdroid-app.yml b/.github/workflows/build-fdroid-app.yml new file mode 100644 index 00000000000..04c23a7adfe --- /dev/null +++ b/.github/workflows/build-fdroid-app.yml @@ -0,0 +1,66 @@ +name: "Fdroid build" + +on: + push: + branches: + - main +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + code-analysis: + uses: ./.github/workflows/code-analysis.yml + ui-tests: + uses: ./.github/workflows/gradle-run-ui-tests.yml + unit-tests: + uses: ./.github/workflows/gradle-run-unit-tests.yml + build-app: + needs: [ code-analysis, ui-tests, unit-tests ] + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: recursive # Needed in order to fetch Kalium sources for building + fetch-depth: 0 + - name: Set up JDK 17 + uses: buildjet/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + cache: gradle + - name: Decode Keystore + env: + ENCODED_STRING: ${{ secrets.ENCODED_KEYSTORE_PUBLIC_RELEASE }} + run: | + TMP_KEYSTORE_FILE_PATH="${RUNNER_TEMP}"/keystore + mkdir "${TMP_KEYSTORE_FILE_PATH}" + echo $ENCODED_STRING | base64 -di > "${TMP_KEYSTORE_FILE_PATH}"/the.keystore + - name: Make gradlew executable + run: chmod +x ./gradlew + - name: build prod flavour APK + run: + ./gradlew app:assembleFdroidCompatRelease + env: + KEYSTORE_FILE_PATH_DEBUG: ${{ vars.KEYSTORE_FILE_PATH }} + KEYSTORE_FILE_PATH_RELEASE: ${{ vars.KEYSTORE_FILE_PATH }} + KEYSTORE_FILE_PATH_COMPAT: ${{ vars.KEYSTORE_FILE_PATH }} + KEYSTORE_FILE_PATH_COMPAT_RELEASE: ${{ vars.KEYSTORE_FILE_PATH }} + KEYSTORE_KEY_NAME_COMPAT_RELEASE: ${{ secrets.SIGNING_KEY_ALIAS_PUBLIC_RELEASE }} + KEYPWD_COMPAT_RELEASE: ${{ secrets.SIGNING_KEY_PASSWORD_PUBLIC_RELEASE }} + KEYSTOREPWD_COMPAT_RELEASE: ${{ secrets.SIGNING_STORE_PASSWORD_PUBLIC_RELEASE }} + ENABLE_SIGNING: ${{ secrets.ENABLE_SIGNING }} + - name: Deploy FdroidCompatRelease to S3 + uses: ./.github/actions/deploy-to-s3 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-bucket: ${{ secrets.AWS_S3_BUCKET }} + github-token: ${{ secrets.GITHUB_TOKEN }} + build-flavour: Fdroid + build-variant: compatrelease + - name: Attach APK to release + uses: softprops/action-gh-release@v2.0.7 + with: + files: app/build/outputs/apk/fdroidCompatRelease/*.apk