v251.241113.0 #1186
This file contains 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: Swift CI | |
on: | |
pull_request: | |
types: [ opened, synchronize, edited ] | |
paths: | |
- 'app-ios/**' | |
- '.github/workflows/swift-test.yml' | |
push: | |
branches: | |
- dev-* | |
- '*/dev' | |
paths: | |
- 'app-ios/**' | |
env: | |
swift-version: "5.9.2" | |
swift-format-version: "509.0.0" | |
jobs: | |
test-swift: | |
runs-on: macos-14 | |
permissions: | |
actions: none | |
checks: none | |
contents: read | |
deployments: none | |
id-token: none | |
issues: none | |
discussions: none | |
packages: none | |
pages: none | |
pull-requests: none | |
repository-projects: none | |
security-events: none | |
statuses: none | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1 | |
with: | |
submodules: 'true' | |
- name: Setup Swift | |
uses: swift-actions/setup-swift@cdbe0f7f4c77929b6580e71983e8606e55ffe7e4 # v1.26.2 | |
with: | |
swift-version: ${{ env.swift-version }} | |
- name: Install Homebrew | |
uses: Homebrew/actions/setup-homebrew@d54a6744d5fcdff54b45a9659f3e17f769389952 | |
- name: Install Homebrew dependencies | |
run: | | |
brew install swiftlint swift-format xcodegen | |
brew upgrade rustup | |
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 #3.0.2 | |
id: filter | |
with: | |
filters: | | |
mail: | |
- 'app-ios/tutanota/**' | |
calendar: | |
- 'app-ios/calendar/**' | |
- name: Versions | |
run: | | |
rustup --version | |
cargo --version | |
rustc --version | |
- name: Add rust target | |
run: rustup target add aarch64-apple-ios-sim | |
- name: Lint | |
working-directory: ./app-ios | |
run: ./lint.sh lint:check | |
- name: Format | |
working-directory: ./app-ios | |
run: ./lint.sh style:check | |
- name: Xcodegen sdk | |
working-directory: tuta-sdk/ios | |
run: xcodegen | |
- name: Test Calendar | |
working-directory: app-ios | |
if: ${{ steps.filter.outputs.calendar == 'true' }} | |
run: | | |
mkdir -p ../build-calendar-app | |
xcodegen --spec calendar-project.yml | |
fastlane test_calendar_github | |
- name: Test Mail | |
working-directory: app-ios | |
if: ${{ steps.filter.outputs.calendar == 'false' || steps.filter.outputs.mail == 'true' }} # Runs mail test also as fallback test | |
run: | | |
mkdir -p ../build | |
xcodegen --spec mail-project.yml | |
fastlane test_github | |