Skip to content

feat(ci): Add workflow to publish scheduled beta builds #242

feat(ci): Add workflow to publish scheduled beta builds

feat(ci): Add workflow to publish scheduled beta builds #242

Workflow file for this run

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