integration-tests.yml 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. name: Integration Tests
  2. on:
  3. push:
  4. branches: [master]
  5. pull_request:
  6. branches: [master]
  7. env:
  8. LC_CTYPE: en_US.UTF-8
  9. LANG: en_US.UTF-8
  10. jobs:
  11. static-lib:
  12. runs-on: macos-15
  13. steps:
  14. - uses: maxim-lobanov/setup-xcode@v1
  15. with:
  16. xcode-version: ^16.4
  17. - name: Install Platform
  18. run: |
  19. xcrun simctl delete unavailable # Remove unavailable sims - also boots the simulator
  20. xcodebuild -downloadPlatform iOS
  21. - uses: actions/checkout@v5
  22. - uses: sersoft-gmbh/xcodebuild-action@v3
  23. with:
  24. project: Integration/Integration.xcodeproj
  25. scheme: iOSStaticLibraryIntegration
  26. configuration: Release
  27. action: build
  28. dynamic-lib:
  29. runs-on: macos-15
  30. strategy:
  31. matrix:
  32. scheme:
  33. - macOSSwiftIntegration
  34. - iOSFrameworkIntegration
  35. - tvOSSwiftIntegration
  36. - watchOSSwiftIntegration
  37. steps:
  38. - uses: maxim-lobanov/setup-xcode@v1
  39. with:
  40. xcode-version: ^16.4
  41. - name: Install Platform
  42. if: ${{ matrix.scheme != 'macOSSwiftIntegration' }}
  43. env:
  44. SCHEME: ${{ matrix.scheme }}
  45. run: |
  46. xcrun simctl delete unavailable # Remove unavailable sims - also boots the simulator
  47. case "${SCHEME}" in
  48. iOSFrameworkIntegration)
  49. xcodebuild -downloadPlatform iOS
  50. ;;
  51. tvOSSwiftIntegration)
  52. xcodebuild -downloadPlatform tvOS
  53. ;;
  54. watchOSSwiftIntegration)
  55. xcodebuild -downloadPlatform watchOS
  56. ;;
  57. esac
  58. - uses: actions/checkout@v5
  59. - uses: sersoft-gmbh/xcodebuild-action@v3
  60. with:
  61. project: Integration/Integration.xcodeproj
  62. scheme: ${{ matrix.scheme }}
  63. configuration: Release
  64. action: build
  65. # watchOS builds seems to fail as of Xcode 11.4...
  66. continue-on-error: ${{ matrix.scheme == 'watchOSSwiftIntegration' }}