Files
letro-ios/.github/workflows/compound-ios.yml
renovate[bot] 34d746c487 Update dependency SFSafeSymbols/SFSafeSymbols to v7 (#4659)
* Update dependency SFSafeSymbols/SFSafeSymbols to v7

* Update all the Package.resolved files and fix simulator.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Doug <douglase@element.io>
2025-10-28 09:13:04 +00:00

68 lines
2.4 KiB
YAML

# This workflow will build a Swift project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-swift
name: Compound
on:
push:
branches: [ develop ]
paths: [ 'compound-ios/**' ]
pull_request:
paths: [ 'compound-ios/**' ]
jobs:
tests:
runs-on: macos-15
concurrency:
# When running on develop, use the sha to allow all runs of this workflow to run concurrently.
# Otherwise only allow a single run of this workflow on each branch, automatically cancelling older runs.
group: ${{ github.ref == 'refs/heads/develop' && format('compound-develop-{0}', github.sha) || format('compound-{0}', github.ref) }}
cancel-in-progress: true
steps:
- uses: nschloe/action-cached-lfs-checkout@f46300cd8952454b9f0a21a3d133d4bd5684cfc2 #v1.2.3
- name: Configure Xcode 26
run: sudo xcode-select -s /Applications/Xcode_26.0.app
- name: Install sourcery
run: brew install sourcery
- name: Generate preview tests
working-directory: compound-ios
run: sourcery --config Tools/Sourcery/PreviewTestsConfig.yml
- name: Create simulator
run: xcrun simctl create "Snapshots" "iPhone SE (3rd generation)" "com.apple.CoreSimulator.SimRuntime.iOS-26-0"
- name: Run tests
working-directory: compound-ios
run: set -o pipefail && xcodebuild test -scheme 'Compound' -sdk iphonesimulator -destination 'platform=iOS Simulator,name=Snapshots,OS=26.0.1' -skipPackagePluginValidation -resultBundlePath Logs/CompoundTests.xcresult | xcbeautify --renderer github-actions
- name: Zip artifacts
if: failure() # We only care about artefacts if the tests fail
working-directory: compound-ios
run: zip -r Logs/CompoundTests.xcresult.zip Logs/CompoundTests.xcresult/
- name: Archive artifacts
uses: actions/upload-artifact@v5
if: failure() # We only care about artefacts if the tests fail
with:
name: test-results
path: compound-ios/Logs/CompoundTests.xcresult.zip
retention-days: 1
if-no-files-found: ignore
- name: Upload coverage to Codecov
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}
xcode: true
xcode_archive_path: compound-ios/Logs/CompoundTests.xcresult
flags: compound