Skip to content

Compatibility changes for StreamChat migration #70

Compatibility changes for StreamChat migration

Compatibility changes for StreamChat migration #70

Workflow file for this run

name: Smoke Checks
on:
pull_request:
paths-ignore:
- 'README.md'
- 'CHANGELOG.md'
workflow_dispatch:
inputs:
record_snapshots:
description: 'Record snapshots on CI?'
type: boolean
required: false
default: false
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
HOMEBREW_NO_INSTALL_CLEANUP: 1 # Disable cleanup for homebrew, we don't need it on CI
IOS_SIMULATOR_DEVICE: "iPhone 17 Pro (26.0)"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_PR_NUM: ${{ github.event.pull_request.number }}
jobs:
test_core:
name: Test Core
runs-on: macos-15
steps:
- uses: actions/checkout@v4.1.1
with:
fetch-depth: 0
- uses: ./.github/actions/bootstrap
env:
INSTALL_YEETD: true
INSTALL_SONAR: true
- name: Run Core Tests (Debug)
run: bundle exec fastlane test_core device:"${{ env.IOS_SIMULATOR_DEVICE }}"
timeout-minutes: 40
- name: Run Sonar analysis
run: bundle exec fastlane sonar_upload
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
- uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
text: "You shall not pass!"
job_name: "Test Core (Debug)"
fields: repo,commit,author,workflow
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
if: ${{ github.event_name == 'push' && failure() }}
- name: Parse xcresult
if: failure()
run: |
brew install chargepoint/xcparse/xcparse
xcparse logs fastlane/test_output/StreamCore.xcresult fastlane/test_output/logs/
- uses: actions/upload-artifact@v4
if: failure()
with:
name: Test Data Core
path: |
fastlane/test_output/logs/*/Diagnostics/**/*.txt
fastlane/test_output/logs/*/Diagnostics/simctl_diagnostics/DiagnosticReports/*
- name: Upload Test Coverage
uses: actions/upload-artifact@v4
with:
name: test-coverage-${{ github.event.pull_request.number }}
path: reports/sonarqube-generic-coverage.xml
test_ui:
name: Test UI
runs-on: macos-15
steps:
- uses: actions/checkout@v4.1.1
with:
fetch-depth: 0
- uses: ./.github/actions/bootstrap
env:
INSTALL_YEETD: true
- name: Run UI Tests (Debug)
run: bundle exec fastlane test_ui device:"${{ env.IOS_SIMULATOR_DEVICE }}"
timeout-minutes: 40
- uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
text: "You shall not pass!"
job_name: "Test UI (Debug)"
fields: repo,commit,author,workflow
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
if: ${{ github.event_name == 'push' && failure() }}
test_attachments:
name: Test Attachments
runs-on: macos-15
steps:
- uses: actions/checkout@v4.1.1
with:
fetch-depth: 0
- uses: ./.github/actions/bootstrap
env:
INSTALL_YEETD: true
- name: Run Attachments Tests (Debug)
run: bundle exec fastlane test_attachments device:"${{ env.IOS_SIMULATOR_DEVICE }}"
timeout-minutes: 40
- uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
text: "You shall not pass!"
job_name: "Test Attachments (Debug)"
fields: repo,commit,author,workflow
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
if: ${{ github.event_name == 'push' && failure() }}
automated-code-review:
name: Automated Code Review
runs-on: macos-15
env:
XCODE_VERSION: "16.0"
steps:
- uses: actions/checkout@v4.1.1
- uses: ./.github/actions/bootstrap
env:
INSTALL_INTERFACE_ANALYZER: true
- run: bundle exec fastlane lint_pr
- run: bundle exec fastlane rubocop
- run: bundle exec fastlane run_swift_format strict:true