test.yaml 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. name: test
  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. run-tests:
  16. name: test (Xcode ${{ matrix.xcode }}, ${{ matrix.label }})
  17. runs-on: self-hosted
  18. strategy:
  19. matrix:
  20. include:
  21. - xcode: '16.4'
  22. destination: 'macOS'
  23. label: 'macOS'
  24. - xcode: '16.4'
  25. destination: 'iOS Simulator,name=iPhone 16,OS=18.5'
  26. label: 'iOS 18.5'
  27. - xcode: '16.4'
  28. destination: 'tvOS Simulator,name=Apple TV 4K (3rd generation),OS=18.5'
  29. label: 'tvOS 18.5'
  30. - xcode: '16.4'
  31. destination: 'watchOS Simulator,name=Apple Watch Series 10 (42mm),OS=11.5'
  32. label: 'watchOS 11.5'
  33. - xcode: '26.2'
  34. destination: 'macOS'
  35. label: 'macOS'
  36. - xcode: '26.2'
  37. destination: 'iOS Simulator,name=iPhone 17,OS=26.2'
  38. label: 'iOS 26.2'
  39. - xcode: '26.2'
  40. destination: 'tvOS Simulator,name=Apple TV 4K (3rd generation),OS=26.2'
  41. label: 'tvOS 26.2'
  42. - xcode: '26.2'
  43. destination: 'watchOS Simulator,name=Apple Watch Series 11 (42mm),OS=26.2'
  44. label: 'watchOS 26.2'
  45. steps:
  46. - uses: actions/checkout@v4
  47. - name: Install Gems
  48. run: bundle install
  49. - name: Run tests
  50. env:
  51. DESTINATION: platform=${{ matrix.destination }}
  52. XCODE_VERSION: ${{ matrix.xcode }}
  53. FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT: '60'
  54. FASTLANE_XCODEBUILD_SETTINGS_RETRIES: '4'
  55. run: bundle exec fastlane test_ci