--- name: build-pr on: pull_request: types: - labeled env: NODE_VERSION: 22.14.0 TERM: xterm jobs: test: runs-on: ubuntu-22.04 if: ${{ github.event.label.name == 'Build Apps for PR' || github.event.label.name == 'Build App for iOS' || github.event.label.name == 'Build App for Android' }} steps: - name: ci/checkout-repo uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: ref: ${{ github.event.pull_request.head.sha }} - name: ci/test uses: ./.github/actions/test build-ios-pr: runs-on: macos-14-large if: ${{ github.event.label.name == 'Build Apps for PR' || github.event.label.name == 'Build App for iOS' }} needs: - test steps: - name: ci/checkout-repo uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: ref: ${{ github.event.pull_request.head.sha }} - 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-ios-pr env: BRANCH_TO_BUILD: "${{ github.event.pull_request.head.ref }}" AWS_ACCESS_KEY_ID: "${{ secrets.MM_MOBILE_PR_AWS_ACCESS_KEY_ID }}" AWS_SECRET_ACCESS_KEY: "${{ secrets.MM_MOBILE_PR_AWS_SECRET_ACCESS_KEY }}" 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 }}" MATTERMOST_WEBHOOK_URL: "${{ secrets.MM_MOBILE_PR_MATTERMOST_WEBHOOK_URL }}" run: bundle exec fastlane ios build --env ios.pr working-directory: ./fastlane - name: ci/upload-ios-pr-build uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 with: name: ios-build-pr-${{ github.run_id }} path: "*.ipa" build-android-pr: runs-on: ubuntu-22.04 if: ${{ github.event.label.name == 'Build Apps for PR' || github.event.label.name == 'Build App for Android' }} needs: - test steps: - name: ci/checkout-repo uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: ref: ${{ github.event.pull_request.head.sha }} - 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-android-pr env: BRANCH_TO_BUILD: "${{ github.event.pull_request.head.ref }}" AWS_ACCESS_KEY_ID: "${{ secrets.MM_MOBILE_PR_AWS_ACCESS_KEY_ID }}" AWS_SECRET_ACCESS_KEY: "${{ secrets.MM_MOBILE_PR_AWS_SECRET_ACCESS_KEY }}" MATTERMOST_WEBHOOK_URL: "${{ secrets.MM_MOBILE_PR_MATTERMOST_WEBHOOK_URL }}" run: bundle exec fastlane android build --env android.pr working-directory: ./fastlane - name: ci/upload-android-pr-build uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 with: name: android-build-pr-${{ github.run_id }} path: "*.apk"