name: PR Build on: pull_request: types: [ labeled, synchronize, opened, reopened ] jobs: build: # Only run for PRs that contain the trigger label. The action will fail for forks due to # missing secrets, but there's no need to handle this as it won't run automatically. if: contains(github.event.pull_request.labels.*.name, 'Trigger-PR-Build') name: Release runs-on: macos-12 concurrency: # Only allow a single run of this workflow on each branch, automatically cancelling older runs. group: alpha-${{ github.head_ref }} cancel-in-progress: true steps: - uses: actions/checkout@v3 - name: Cache Ruby gems uses: actions/cache@v3 with: path: vendor/bundle key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }} restore-keys: | ${{ runner.os }}-gems- - name: Brew bundle run: brew bundle - name: SwiftFormat run: swiftformat --lint . - name: Bundle install run: | bundle config path vendor/bundle bundle install --jobs 4 --retry 3 - name: Import signing certificate uses: apple-actions/import-codesign-certs@v1 with: p12-file-base64: ${{ secrets.ALPHA_CERTIFICATES_P12 }} p12-password: ${{ secrets.ALPHA_CERTIFICATES_P12_PASSWORD }} - name: Build alpha run: bundle exec fastlane alpha env: APPSTORECONNECT_KEY_ID: ${{ secrets.APPSTORECONNECT_KEY_ID }} APPSTORECONNECT_KEY_ISSUER_ID: ${{ secrets.APPSTORECONNECT_KEY_ISSUER_ID }} APPSTORECONNECT_KEY_CONTENT: ${{ secrets.APPSTORECONNECT_KEY_CONTENT }} DIAWI_API_TOKEN: ${{ secrets.DIAWI_API_TOKEN }} GITHUB_PR_NUMBER: ${{ github.event.number }} BROWSERSTACK_USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }} BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }} - name: Add release notes and Diawi info uses: NejcZdovc/comment-pr@v1 with: message: | :iphone: Scan the QR code below to install the build for this PR. :lock: This build is for internal testing purpose. Only devices listed in the ad-hoc provisioning profile can install Element Alpha. ![QR code](${{ env.DIAWI_QR_CODE_LINK }}) If you can't scan the QR code you can install the build via this link: ${{ env.DIAWI_FILE_LINK }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}