--- name: build-ios-release on: push: branches: - build-release-[0-9]+ - build-release-ios-[0-9]+ - build-release-sim-[0-9]+ env: NODE_VERSION: 20.13.1 TERM: xterm jobs: test: runs-on: ubuntu-22.04 steps: - name: ci/checkout-repo uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: ci/test uses: ./.github/actions/test build-and-deploy-ios-release: runs-on: macos-14-large if: ${{ !contains(github.ref_name, 'release-sim') }} needs: - test steps: - name: ci/checkout-repo uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: ci/prepare-ios-build uses: ./.github/actions/prepare-ios-build - 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/build-and-deploy-ios-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 }}" 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_RELEASE_SENTRY_DSN_IOS }} run: | echo "::group::Build" bundle exec fastlane ios build --env ios.release echo "::endgroup::" echo "::group::Deploy to TestFlight" bundle exec fastlane ios deploy file:"${{ github.workspace }}/*.ipa" --env ios.release echo "::endgroup::" working-directory: ./fastlane - name: ci/upload-ios-release-build uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 with: name: ios-build-release-${{ github.run_id }} path: "*.ipa" build-ios-simulator: runs-on: macos-14-large if: ${{ !contains(github.ref_name , 'release-ios') }} needs: - test steps: - name: ci/checkout-repo uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - 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@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 with: name: ios-build-simulator-${{ github.run_id }} path: Mattermost-simulator-x86_64.app.zip