additional-targets.yml 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. name: Build additional targets
  2. on:
  3. push:
  4. branches:
  5. - master
  6. - develop
  7. pull_request:
  8. types: [synchronize, opened, reopened, ready_for_review]
  9. branches:
  10. - master
  11. - develop
  12. jobs:
  13. build-and-test:
  14. name: Build and Test
  15. runs-on: macOS-latest
  16. if: github.event.pull_request.draft == false
  17. env:
  18. PROJECT: Nextcloud.xcodeproj
  19. DESTINATION: platform=iOS Simulator,name=iPhone 14
  20. steps:
  21. - name: Set env var
  22. run: echo "DEVELOPER_DIR=$(xcode-select --print-path)" >> $GITHUB_ENV
  23. - uses: actions/checkout@v3
  24. - name: Setup Bundler and Install Gems
  25. run: |
  26. gem install bundler
  27. bundle install
  28. bundle update
  29. - name: Restore Carhage Cache
  30. uses: actions/cache@v3
  31. id: carthage-cache
  32. with:
  33. path: Carthage
  34. key: ${{ runner.os }}-carthage-${{ hashFiles('**/Cartfile.resolved') }}
  35. restore-keys: |
  36. ${{ runner.os }}-carthage-
  37. - name: Carthage
  38. if: steps.carthage-cache.outputs.cache-hit != 'true'
  39. run: carthage bootstrap --use-xcframeworks --platform iOS
  40. - name: Download GoogleService-Info.plist
  41. run: wget "https://raw.githubusercontent.com/firebase/quickstart-ios/master/mock-GoogleService-Info.plist" -O GoogleService-Info.plist
  42. - name: Build iOS Share
  43. run: |
  44. xcodebuild build -project $PROJECT -scheme "$SCHEME" -destination "$DESTINATION"
  45. env:
  46. SCHEME: Share
  47. - name: Build iOS File Extension
  48. run: |
  49. xcodebuild build -project $PROJECT -scheme "$SCHEME" -destination "$DESTINATION"
  50. env:
  51. SCHEME: File Provider Extension
  52. - name: Build iOS Notification Extension
  53. run: |
  54. xcodebuild build -project $PROJECT -scheme "$SCHEME" -destination "$DESTINATION"
  55. env:
  56. SCHEME: Notification Service Extension
  57. - name: Build iOS Widget
  58. run: |
  59. xcodebuild build -project $PROJECT -scheme "$SCHEME" -destination "$DESTINATION"
  60. env:
  61. SCHEME: Widget
  62. - name: Build iOS Widget Dashboard IntentHandler
  63. run: |
  64. xcodebuild build -project $PROJECT -scheme "$SCHEME" -destination "$DESTINATION"
  65. env:
  66. SCHEME: WidgetDashboardIntentHandler