feat(ci): Add workflow to publish scheduled beta builds #242
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and Test | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| push: | |
| branches: | |
| - main | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }}-${{ github.job.name}} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| name: Build | |
| runs-on: macos-26 | |
| timeout-minutes: 60 | |
| steps: | |
| - name: Checkout Code | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Install Dependencies | |
| run: brew bundle --file Brewfile-ci | |
| - name: Setup Ruby | |
| uses: ruby/setup-ruby@v1 | |
| with: | |
| bundler-cache: true | |
| - run: bundle exec fastlane build_ci | |
| env: | |
| SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} | |
| MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} | |
| MATCH_GIT_PRIVATE_KEY: ${{ secrets.MATCH_GIT_PRIVATE_KEY }} | |
| LICENSE_PLIST_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Upload Logs | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: build-logs | |
| path: | | |
| raw-build-ios.log | |
| retention-days: 1 | |
| - name: Run CI Diagnostics | |
| if: failure() | |
| run: ./Scripts/ci-diagnostics.sh | |
| build-test: | |
| name: Test | |
| runs-on: macos-26 | |
| timeout-minutes: 60 | |
| steps: | |
| - name: Checkout Code | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Install Dependencies | |
| run: brew bundle --file Brewfile-ci | |
| - name: Test | |
| run: make test-ios SIMULATOR_OS=26.1 "DEVICE_NAME=iPhone 17 Pro" | |
| env: | |
| LICENSE_PLIST_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Upload Logs | |
| uses: actions/upload-artifact@v6 | |
| if: failure() | |
| with: | |
| name: test-logs | |
| path: | | |
| raw-test-ios.log | |
| retention-days: 1 | |
| - name: Upload Test Results | |
| uses: actions/upload-artifact@v6 | |
| if: failure() | |
| with: | |
| name: test-results | |
| path: | | |
| ~/Library/Developer/Xcode/DerivedData/**/Logs/Test/*.xcresult | |
| retention-days: 7 | |
| - name: Run CI Diagnostics | |
| if: failure() | |
| run: ./Scripts/ci-diagnostics.sh | |
| build-test-ui: | |
| name: Test UI | |
| runs-on: macos-26 | |
| timeout-minutes: 60 | |
| steps: | |
| - name: Checkout Code | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| - name: Install Dependencies | |
| run: brew bundle --file Brewfile-ci | |
| - name: Test UI | |
| run: make test-ui-ios SIMULATOR_OS=26.1 "DEVICE_NAME=iPhone 17 Pro" | |
| env: | |
| LICENSE_PLIST_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Upload Logs | |
| uses: actions/upload-artifact@v6 | |
| if: failure() | |
| with: | |
| name: ui-test-logs | |
| path: | | |
| raw-test-ui-ios.log | |
| retention-days: 1 | |
| - name: Upload Test Results | |
| uses: actions/upload-artifact@v6 | |
| if: failure() | |
| with: | |
| name: ui-test-results | |
| path: | | |
| ~/Library/Developer/Xcode/DerivedData/**/Logs/Test/*.xcresult | |
| retention-days: 7 | |
| - name: Run CI Diagnostics | |
| if: failure() | |
| run: ./Scripts/ci-diagnostics.sh |