--- name: build-android-release on: push: branches: - build-release-[0-9]+ - build-release-android-[0-9]+ env: NODE_VERSION: 22.14.0 TERM: xterm jobs: test: runs-on: ubuntu-22.04 steps: - name: ci/checkout-repo uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: ci/test uses: ./.github/actions/test build-and-deploy-android-release: runs-on: ubuntu-22.04 needs: - test permissions: id-token: write contents: read steps: - name: ci/checkout-repo uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: ci/prepare-android-build uses: ./.github/actions/prepare-android-build env: STORE_FILE: "${{ secrets.MM_MOBILE_STORE_FILE }}" STORE_ALIAS: "${{ secrets.MM_MOBILE_STORE_ALIAS }}" STORE_PASSWORD: "${{ secrets.MM_MOBILE_STORE_PASSWORD }}" MATTERMOST_BUILD_GH_TOKEN: "${{ secrets.MATTERMOST_BUILD_GH_TOKEN }}" - name: ci/build-and-deploy-android-release env: AWS_ACCESS_KEY_ID: "${{ secrets.MM_MOBILE_RELEASE_AWS_ACCESS_KEY_ID }}" AWS_SECRET_ACCESS_KEY: "${{ secrets.MM_MOBILE_RELEASE_AWS_SECRET_ACCESS_KEY }}" MATTERMOST_WEBHOOK_URL: "${{ secrets.MM_MOBILE_RELEASE_MATTERMOST_WEBHOOK_URL }}" SENTRY_AUTH_TOKEN: "${{ secrets.MM_MOBILE_SENTRY_AUTH_TOKEN }}" SENTRY_DSN_ANDROID: ${{ secrets.MM_MOBILE_RELEASE_SENTRY_DSN_ANDROID }} SUPPLY_JSON_KEY: ${{ github.workspace }}/mattermost-mobile-private/android/mattermost-credentials.json run: | echo "::group::Build" bundle exec fastlane android build --env android.release echo "::endgroup::" echo "::group::Deploy to Play Store" bundle exec fastlane android deploy file:"${{ github.workspace }}/*.apk" --env android.release echo "::endgroup::" working-directory: ./fastlane - name: ci/upload-android-release-build uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: android-build-release-${{ github.run_id }} path: "*.apk" - name: Configure AWS credentials new bucket uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5.1.1 with: aws-region: us-east-1 role-to-assume: ${{ secrets.MM_MOBILE_RELEASE_AWS_ROLE_TO_ASSUME }} - name: ci/upload-android-release-new-bucket env: AWS_NEW_BUCKET_NAME: "${{ secrets.MM_MOBILE_RELEASE_AWS_NEW_BUCKET_NAME }}" MATTERMOST_WEBHOOK_URL: "${{ secrets.MM_MOBILE_RELEASE_MATTERMOST_WEBHOOK_URL }}" run: | echo "::group::Upload to new S3 bucket" bundle exec fastlane android upload_artifacts_to_s3 --env android.release echo "::endgroup::" working-directory: ./fastlane