build.yaml 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. name: build
  2. defaults:
  3. run:
  4. shell: bash -leo pipefail {0}
  5. on:
  6. push:
  7. branches:
  8. - master
  9. pull_request:
  10. types: [opened, synchronize, reopened]
  11. concurrency:
  12. group: ${{ github.workflow }}-${{ github.ref }}
  13. cancel-in-progress: true
  14. jobs:
  15. build-framework:
  16. name: build (Xcode ${{ matrix.xcode }}, ${{ matrix.label }})
  17. runs-on: self-hosted
  18. strategy:
  19. matrix:
  20. include:
  21. - xcode: '16.2'
  22. destination: 'macOS'
  23. label: 'macOS'
  24. - xcode: '16.2'
  25. destination: 'iOS Simulator,name=iPhone 16,OS=18.2'
  26. label: 'iOS 18.2'
  27. - xcode: '16.2'
  28. destination: 'tvOS Simulator,name=Apple TV 4K (3rd generation),OS=18.2'
  29. label: 'tvOS 18.2'
  30. - xcode: '16.2'
  31. destination: 'watchOS Simulator,name=Apple Watch Series 10 (42mm),OS=11.2'
  32. label: 'watchOS 11.2'
  33. - xcode: '16.3'
  34. destination: 'macOS'
  35. label: 'macOS'
  36. - xcode: '16.3'
  37. destination: 'iOS Simulator,name=iPhone 16,OS=18.4'
  38. label: 'iOS 18.4'
  39. - xcode: '16.3'
  40. destination: 'tvOS Simulator,name=Apple TV 4K (3rd generation),OS=18.4'
  41. label: 'tvOS 18.4'
  42. - xcode: '16.3'
  43. destination: 'watchOS Simulator,name=Apple Watch Series 10 (42mm),OS=11.4'
  44. label: 'watchOS 11.4'
  45. - xcode: '26.0.1'
  46. destination: 'macOS'
  47. label: 'macOS'
  48. - xcode: '26.0.1'
  49. destination: 'iOS Simulator,name=iPhone 17,OS=26.0.1'
  50. label: 'iOS 26.0.1'
  51. - xcode: '26.0.1'
  52. destination: 'tvOS Simulator,name=Apple TV 4K (3rd generation),OS=26.0.1'
  53. label: 'tvOS 26.0.1'
  54. - xcode: '26.0.1'
  55. destination: 'watchOS Simulator,name=Apple Watch Series 11 (42mm),OS=26.0.1'
  56. label: 'watchOS 26.0.1'
  57. - xcode: '26.1.1'
  58. destination: 'macOS'
  59. label: 'macOS'
  60. - xcode: '26.1.1'
  61. destination: 'iOS Simulator,name=iPhone 17,OS=26.1'
  62. label: 'iOS 26.1'
  63. - xcode: '26.1.1'
  64. destination: 'tvOS Simulator,name=Apple TV 4K (3rd generation),OS=26.1'
  65. label: 'tvOS 26.1'
  66. - xcode: '26.1.1'
  67. destination: 'watchOS Simulator,name=Apple Watch Series 11 (42mm),OS=26.1'
  68. label: 'watchOS 26.1'
  69. steps:
  70. - uses: actions/checkout@v4
  71. - name: Install Gems
  72. run: bundle install
  73. - name: Build framework
  74. env:
  75. DESTINATION: platform=${{ matrix.destination }}
  76. XCODE_VERSION: ${{ matrix.xcode }}
  77. FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT: '60'
  78. FASTLANE_XCODEBUILD_SETTINGS_RETRIES: '4'
  79. run: bundle exec fastlane build_ci