--- name: build-ios-beta on: push: branches: - build-beta-[0-9]+ - build-beta-ios-[0-9]+ - build-beta-sim-[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-ios-simulator: runs-on: macos-14-large if: ${{ !contains(github.ref_name, 'beta-ios') }} needs: - test steps: - name: ci/checkout-repo uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: ci/prepare-ios-build uses: ./.github/actions/prepare-ios-build - name: ci/build-ios-simulator env: TAG: "${{ github.ref_name }}" AWS_ACCESS_KEY_ID: "${{ secrets.MM_MOBILE_BETA_AWS_ACCESS_KEY_ID }}" AWS_SECRET_ACCESS_KEY: "${{ secrets.MM_MOBILE_BETA_AWS_SECRET_ACCESS_KEY }}" MATTERMOST_WEBHOOK_URL: "${{ secrets.MM_MOBILE_BETA_MATTERMOST_WEBHOOK_URL }}" GITHUB_TOKEN: "${{ secrets.MM_MOBILE_GITHUB_TOKEN }}" run: bundle exec fastlane ios simulator --env ios.simulator working-directory: ./fastlane - name: ci/upload-ios-pr-simulator uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: ios-build-simulator-${{ github.run_id }} path: Mattermost-simulator-x86_64.app.zip build-and-deploy-ios-beta: runs-on: macos-14-large if: ${{ !contains(github.ref_name, 'beta-sim') }} needs: - test steps: - name: ci/checkout-repo uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: ci/output-ssh-private-key shell: bash run: | SSH_KEY_PATH=~/.ssh/id_ed25519 mkdir -p ~/.ssh echo -e '${{ secrets.MM_MOBILE_PRIVATE_DEPLOY_KEY }}' > ${SSH_KEY_PATH} chmod 0600 ${SSH_KEY_PATH} ssh-keygen -y -f ${SSH_KEY_PATH} > ${SSH_KEY_PATH}.pub - name: ci/prepare-ios-build uses: ./.github/actions/prepare-ios-build - name: ci/build-and-deploy-ios-beta env: AWS_ACCESS_KEY_ID: "${{ secrets.MM_MOBILE_BETA_AWS_ACCESS_KEY_ID }}" AWS_SECRET_ACCESS_KEY: "${{ secrets.MM_MOBILE_BETA_AWS_SECRET_ACCESS_KEY }}" MATTERMOST_WEBHOOK_URL: "${{ secrets.MM_MOBILE_BETA_MATTERMOST_WEBHOOK_URL }}" FASTLANE_TEAM_ID: "${{ secrets.MM_MOBILE_FASTLANE_TEAM_ID }}" IOS_API_ISSUER_ID: "${{ secrets.MM_MOBILE_IOS_API_ISSUER_ID }}" IOS_API_KEY: "${{ secrets.MM_MOBILE_IOS_API_KEY }}" IOS_API_KEY_ID: "${{ secrets.MM_MOBILE_IOS_API_KEY_ID }}" MATCH_GIT_URL: "${{ secrets.MM_MOBILE_MATCH_GIT_URL }}" MATCH_PASSWORD: "${{ secrets.MM_MOBILE_MATCH_PASSWORD }}" SENTRY_AUTH_TOKEN: "${{ secrets.MM_MOBILE_SENTRY_AUTH_TOKEN }}" SENTRY_DSN_IOS: "${{ secrets.MM_MOBILE_BETA_SENTRY_DSN_IOS }}" run: | echo "::group::Build" bundle exec fastlane ios build --env ios.beta echo "::endgroup::" echo "::group::Deploy to TestFlight" bundle exec fastlane ios deploy file:"${{ github.workspace }}/*.ipa" --env ios.beta echo "::endgroup::" working-directory: ./fastlane - name: ci/upload-ios-beta-build uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: ios-build-beta-${{ github.run_id }} path: "*.ipa"