ci.yml 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. name: "Alamofire CI"
  2. on:
  3. push:
  4. branches:
  5. - master
  6. - hotfix
  7. pull_request:
  8. branches:
  9. - '*'
  10. jobs:
  11. macOS_5_1:
  12. name: Build macOS (5.1)
  13. runs-on: macOS-latest
  14. env:
  15. DEVELOPER_DIR: /Applications/Xcode_11.3.1.app/Contents/Developer
  16. steps:
  17. - uses: actions/checkout@v2
  18. - name: macOS (5.1)
  19. run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "Alamofire.xcodeproj" -scheme "Alamofire macOS" -destination "platform=macOS" clean build | xcpretty
  20. macOS_5_2:
  21. name: Test macOS (5.2)
  22. runs-on: macOS-latest
  23. env:
  24. DEVELOPER_DIR: /Applications/Xcode_11.7.app/Contents/Developer
  25. steps:
  26. - uses: actions/checkout@v2
  27. - name: Install Firewalk
  28. run: brew install alamofire/alamofire/firewalk && firewalk &
  29. - name: macOS (5.2)
  30. run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "Alamofire.xcodeproj" -scheme "Alamofire macOS" -destination "platform=macOS" clean test | xcpretty
  31. macOS_Catalina_5_3:
  32. name: Test macOS 10.15 (5.3)
  33. runs-on: macOS-10.15
  34. env:
  35. DEVELOPER_DIR: /Applications/Xcode_12.4.app/Contents/Developer
  36. steps:
  37. - uses: actions/checkout@v2
  38. - name: Install Firewalk
  39. run: brew install alamofire/alamofire/firewalk && firewalk &
  40. - name: macOS (5.3)
  41. run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "Alamofire.xcodeproj" -scheme "Alamofire macOS" -destination "platform=macOS" clean test | xcpretty
  42. # macOS_Big_Sur_5_3:
  43. # name: Test macOS 11 (5.3)
  44. # runs-on: macOS-11.0
  45. # env:
  46. # DEVELOPER_DIR: /Applications/Xcode_12.4.app/Contents/Developer
  47. # steps:
  48. # - uses: actions/checkout@v2
  49. # - name: Install Firewalk
  50. # run: brew install alamofire/alamofire/firewalk && firewalk &
  51. # - name: macOS (5.3)
  52. # run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "Alamofire.xcodeproj" -scheme "Alamofire macOS" -destination "platform=macOS" clean test | xcpretty
  53. Catalyst:
  54. name: Test Catalyst
  55. runs-on: macOS-latest
  56. env:
  57. DEVELOPER_DIR: /Applications/Xcode_12.4.app/Contents/Developer
  58. steps:
  59. - uses: actions/checkout@v2
  60. - name: Install Firewalk
  61. run: brew install alamofire/alamofire/firewalk && firewalk &
  62. - name: Catalyst
  63. run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "Alamofire.xcodeproj" -scheme "Alamofire iOS" -destination "platform=macOS" clean test | xcpretty
  64. iOS:
  65. name: Test iOS
  66. runs-on: macOS-latest
  67. env:
  68. DEVELOPER_DIR: /Applications/Xcode_12.4.app/Contents/Developer
  69. strategy:
  70. matrix:
  71. destination: ["OS=14.4,name=iPhone 12 Pro"] #, "OS=12.4,name=iPhone XS", "OS=11.4,name=iPhone X", "OS=10.3.1,name=iPhone SE"]
  72. steps:
  73. - uses: actions/checkout@v2
  74. - name: Install Firewalk
  75. run: brew install alamofire/alamofire/firewalk && firewalk &
  76. - name: iOS - ${{ matrix.destination }}
  77. run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "Alamofire.xcodeproj" -scheme "Alamofire iOS" -destination "${{ matrix.destination }}" clean test | xcpretty
  78. tvOS:
  79. name: Test tvOS
  80. runs-on: macOS-latest
  81. env:
  82. DEVELOPER_DIR: /Applications/Xcode_12.4.app/Contents/Developer
  83. strategy:
  84. matrix:
  85. destination: ["OS=14.3,name=Apple TV 4K"] #, "OS=11.4,name=Apple TV 4K", "OS=10.2,name=Apple TV 1080p"]
  86. steps:
  87. - uses: actions/checkout@v2
  88. - name: Install Firewalk
  89. run: brew install alamofire/alamofire/firewalk && firewalk &
  90. - name: tvOS - ${{ matrix.destination }}
  91. run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "Alamofire.xcodeproj" -scheme "Alamofire tvOS" -destination "${{ matrix.destination }}" clean test | xcpretty
  92. watchOS:
  93. name: Build watchOS
  94. runs-on: macOS-latest
  95. env:
  96. DEVELOPER_DIR: /Applications/Xcode_12.4.app/Contents/Developer
  97. strategy:
  98. matrix:
  99. destination: ["OS=7.2,name=Apple Watch Series 6 - 44mm"] #, "OS=4.2,name=Apple Watch Series 3 - 42mm", "OS=3.2,name=Apple Watch Series 2 - 42mm"]
  100. steps:
  101. - uses: actions/checkout@v2
  102. - name: watchOS - ${{ matrix.destination }}
  103. run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "Alamofire.xcodeproj" -scheme "Alamofire watchOS" -destination "${{ matrix.destination }}" clean build | xcpretty
  104. spm:
  105. name: Test with SPM
  106. runs-on: macOS-latest
  107. env:
  108. DEVELOPER_DIR: /Applications/Xcode_12.4.app/Contents/Developer
  109. steps:
  110. - uses: actions/checkout@v2
  111. - name: Install Firewalk
  112. run: brew install alamofire/alamofire/firewalk && firewalk &
  113. - name: SPM Test
  114. run: swift test -c debug