Skip to content

Commit

Permalink
split up swift-test.yml to run calendar and mail test in parallel
Browse files Browse the repository at this point in the history
  • Loading branch information
ganthern committed Jan 9, 2025
1 parent 7dad473 commit e2dd5f3
Show file tree
Hide file tree
Showing 4 changed files with 155 additions and 91 deletions.
39 changes: 39 additions & 0 deletions .github/shared/swift-common/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: "Swift Common"
description: "Common Swift Checks"

runs:
using: "composite"

steps:
- 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
shell: bash
run: |
brew install swiftlint swift-format xcodegen
brew upgrade rustup
- name: Versions
shell: bash
run: |
rustup --version
cargo --version
rustc --version
- name: Add rust target
shell: bash
run: rustup target add aarch64-apple-ios-sim
- name: Lint
working-directory: ./app-ios
shell: bash
run: ./lint.sh lint:check
- name: Format
working-directory: ./app-ios
shell: bash
run: ./lint.sh style:check
- name: Xcodegen sdk
working-directory: tuta-sdk/ios
shell: bash
run: xcodegen
57 changes: 57 additions & 0 deletions .github/workflows/swift-calendar-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Swift CI - Calendar

on:
pull_request:
types: [ opened, synchronize, edited ]
paths:
- 'app-ios/**'
- '.github/workflows/swift-calendar-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'
- uses: ./.github/shared/swift-common
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 #3.0.2
id: filter
with:
filters: |
calendar:
- 'app-ios/calendar/**'
- 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
59 changes: 59 additions & 0 deletions .github/workflows/swift-mail-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Swift CI - Mail

on:
pull_request:
types: [ opened, synchronize, edited ]
paths:
- 'app-ios/**'
- '.github/workflows/swift-mail-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'
- uses: ./.github/shared/swift-common
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 #3.0.2
id: filter
with:
filters: |
mail:
- 'app-ios/tutanota/**'
calendar:
- 'app-ios/calendar/**'
- 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
91 changes: 0 additions & 91 deletions .github/workflows/swift-test.yml

This file was deleted.

0 comments on commit e2dd5f3

Please sign in to comment.