Handle ICS files on mobile #868
Workflow file for this run
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-* | |
paths: | |
- 'app-ios/**' | |
env: | |
swift-version: "5.9.2" | |
swift-format-version: "509.0.0" | |
jobs: | |
test-swift: | |
runs-on: macos-13 # macos 14 is ARM only and our tests don't run on ARM simulators due to libcrypto | |
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 x86_64-apple-ios # 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 | |