Add Meeting Detection for Teams, Zoom, Google Meet #8
This file contains hidden or 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: CI | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| workflow_dispatch: | |
| jobs: | |
| lint: | |
| name: SwiftLint | |
| runs-on: macos-15 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Install SwiftLint | |
| run: brew install swiftlint | |
| - name: Run SwiftLint | |
| run: | | |
| cd Recap | |
| swiftlint --strict --reporter github-actions-logging | |
| build: | |
| name: Build | |
| runs-on: macos-15 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Xcode | |
| uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: latest-stable | |
| - name: Cache DerivedData | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/Library/Developer/Xcode/DerivedData | |
| key: ${{ runner.os }}-deriveddata-${{ hashFiles('Recap.xcodeproj/project.pbxproj') }} | |
| restore-keys: | | |
| ${{ runner.os }}-deriveddata- | |
| - name: Install xcbeautify | |
| run: brew install xcbeautify | |
| - name: Resolve Package Dependencies | |
| run: | | |
| xcodebuild -resolvePackageDependencies \ | |
| -project Recap.xcodeproj \ | |
| -scheme Recap | |
| - name: Build Debug | |
| run: | | |
| set -o pipefail | |
| xcodebuild build \ | |
| -project Recap.xcodeproj \ | |
| -scheme Recap \ | |
| -configuration Debug \ | |
| -destination 'platform=macOS' \ | |
| | xcbeautify | |
| - name: Build Release | |
| run: | | |
| set -o pipefail | |
| xcodebuild build \ | |
| -project Recap.xcodeproj \ | |
| -scheme Recap \ | |
| -configuration Release \ | |
| -destination 'platform=macOS' \ | |
| | xcbeautify | |
| test: | |
| name: Test | |
| runs-on: macos-15 | |
| needs: build | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Xcode | |
| uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: latest-stable | |
| - name: Cache DerivedData | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/Library/Developer/Xcode/DerivedData | |
| key: ${{ runner.os }}-deriveddata-${{ hashFiles('Recap.xcodeproj/project.pbxproj') }} | |
| restore-keys: | | |
| ${{ runner.os }}-deriveddata- | |
| - name: Install xcbeautify | |
| run: brew install xcbeautify | |
| - name: Resolve Package Dependencies | |
| run: | | |
| xcodebuild -resolvePackageDependencies \ | |
| -project Recap.xcodeproj \ | |
| -scheme Recap | |
| - name: Run Tests with Coverage | |
| run: | | |
| set -o pipefail | |
| xcodebuild test \ | |
| -project Recap.xcodeproj \ | |
| -scheme Recap \ | |
| -destination 'platform=macOS' \ | |
| -resultBundlePath TestResults.xcresult \ | |
| -enableCodeCoverage YES \ | |
| -only-testing:RecapTests \ | |
| | xcbeautify | |
| - name: Generate Coverage Report | |
| run: | | |
| xcrun xccov view --report --json TestResults.xcresult > coverage.json | |
| - name: Upload Test Results | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: test-results | |
| path: TestResults.xcresult | |
| - name: Upload Coverage Reports | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| file: coverage.json | |
| flags: unittests | |
| name: recap-coverage | |
| fail_ci_if_error: false |