.jenkins.yml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308
  1. # Yaml Axis Plugin
  2. # https://wiki.jenkins-ci.org/display/JENKINS/Yaml+Axis+Plugin
  3. xcode_version:
  4. - 9.4
  5. - 10.0
  6. - 10.1
  7. - 10.2.1
  8. - 10.3
  9. target:
  10. - osx
  11. - docs
  12. - ios-static
  13. - ios-dynamic
  14. - ios-swift
  15. - osx-swift
  16. - watchos
  17. - cocoapods-ios
  18. - cocoapods-osx
  19. - cocoapods-watchos
  20. - swiftlint
  21. - tvos
  22. - osx-encryption
  23. - osx-object-server
  24. - swiftpm
  25. # These are disabled because the machinen with the devices attached is currently offline
  26. # - ios-device-objc-ios8
  27. # - ios-device-objc-ios10
  28. # - tvos-device
  29. # These are disabled because they were very unreliable on CI
  30. # - ios-device-swift-ios8
  31. # - ios-device-swift-ios10
  32. configuration:
  33. - Debug
  34. - Release
  35. # Combinations have to be excluded in a way that's hard to read.
  36. # This table shows which jobs will run:
  37. # +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  38. # | Configuration Matrix | osx | docs | ios-static | ios-dynamic | ios-swift | osx-swift | watchos | cocoapods-ios | cocoapods-osx | cocoapods-watchos | swiftlint | swiftpm | tvos | osx-encryption | osx-object-server | ios-device-objc-ios8 | ios-device-swift-ios8 | ios-device-objc-ios10 | ios-device-swift-ios10 | tvos-device |
  39. # | -------------------- | --- | ---- | ---------- | ----------- | --------- | --------- | ------- | ------------- | ------------- | ----------------- | --------- | ------- | ---- | -------------- | ----------------- | -------------------- | --------------------- | --------------------- | ---------------------- | ----------- |
  40. # | 9.4 | Debug | X | | X | | | | | | | | | | | | | | | | | |
  41. # | 9.4 | Release | X | | X | X | X | X | X | X | X | X | | | X | X | X | X | | X | | |
  42. # | -------------------- | --- | ---- | ---------- | ----------- | --------- | --------- | ------- | ------------- | ------------- | ----------------- | --------- | ------- | ---- | -------------- | ----------------- | -------------------- | --------------------- | --------------------- | ---------------------- | ----------- |
  43. # | 10.0 | Debug | X | | | | | | | | | | | | | | | | | | | |
  44. # | 10.0 | Release | X | | X | X | X | X | X | X | X | X | | | X | | | | | | | |
  45. # | -------------------- | --- | ---- | ---------- | ----------- | --------- | --------- | ------- | ------------- | ------------- | ----------------- | --------- | ------- | ---- | -------------- | ----------------- | -------------------- | --------------------- | --------------------- | ---------------------- | ----------- |
  46. # | 10.1 | Debug | X | | | | | | | | | | | | | | | | | | | |
  47. # | 10.1 | Release | X | | X | X | X | X | X | X | X | X | | | X | | | | | | | |
  48. # | -------------------- | --- | ---- | ---------- | ----------- | --------- | --------- | ------- | ------------- | ------------- | ----------------- | --------- | ------- | ---- | -------------- | ----------------- | -------------------- | --------------------- | --------------------- | ---------------------- | ----------- |
  49. # | 10.2.1| Debug | X | | | | | | | | | | | | | | | | | | | |
  50. # | 10.2.1| Release | X | | X | X | X | X | X | X | X | X | | | X | | | | | | | |
  51. # | -------------------- | --- | ---- | ---------- | ----------- | --------- | --------- | ------- | ------------- | ------------- | ----------------- | --------- | ------- | ---- | -------------- | ----------------- | -------------------- | --------------------- | --------------------- | ---------------------- | ----------- |
  52. # | 10.3 | Debug | X | | | X | X | X | X | | | | | | X | | | | | | | |
  53. # | 10.3 | Release | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | | | X | | X |
  54. # +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  55. exclude:
  56. ################
  57. # docs
  58. ################
  59. # Just run on 10.4 Release
  60. - xcode_version: 9.4
  61. target: docs
  62. - xcode_version: 10.0
  63. target: docs
  64. - xcode_version: 10.1
  65. target: docs
  66. - xcode_version: 10.2.1
  67. target: docs
  68. - target: docs
  69. configuration: Debug
  70. ################
  71. # ios-static
  72. ################
  73. # Skip Debug on everything but 9.4
  74. - xcode_version: 10.0
  75. target: ios-static
  76. configuration: Debug
  77. - xcode_version: 10.1
  78. target: ios-static
  79. configuration: Debug
  80. - xcode_version: 10.2.1
  81. target: ios-static
  82. configuration: Debug
  83. - xcode_version: 10.3
  84. target: ios-static
  85. configuration: Debug
  86. ################
  87. # ios-dynamic
  88. ################
  89. # Skip Debug on everything but 10.3
  90. - xcode_version: 9.4
  91. target: ios-dynamic
  92. configuration: Debug
  93. - xcode_version: 10.0
  94. target: ios-dynamic
  95. configuration: Debug
  96. - xcode_version: 10.1
  97. target: ios-dynamic
  98. configuration: Debug
  99. - xcode_version: 10.2.1
  100. target: ios-dynamic
  101. configuration: Debug
  102. ################
  103. # ios-swift
  104. ################
  105. # Skip Debug on everything but 10.3
  106. - xcode_version: 9.4
  107. target: ios-swift
  108. configuration: Debug
  109. - xcode_version: 10.0
  110. target: ios-swift
  111. configuration: Debug
  112. - xcode_version: 10.1
  113. target: ios-swift
  114. configuration: Debug
  115. - xcode_version: 10.2.1
  116. target: ios-swift
  117. configuration: Debug
  118. ################
  119. # osx-swift
  120. ################
  121. # Skip Debug on everything but 10.3
  122. - xcode_version: 9.4
  123. target: osx-swift
  124. configuration: Debug
  125. - xcode_version: 10.0
  126. target: osx-swift
  127. configuration: Debug
  128. - xcode_version: 10.1
  129. target: osx-swift
  130. configuration: Debug
  131. - xcode_version: 10.2.1
  132. target: osx-swift
  133. configuration: Debug
  134. ################
  135. # watchos
  136. ################
  137. # Skip Debug on everything but 10.3
  138. - xcode_version: 9.4
  139. target: watchos
  140. configuration: Debug
  141. - xcode_version: 10.0
  142. target: watchos
  143. configuration: Debug
  144. - xcode_version: 10.1
  145. target: watchos
  146. configuration: Debug
  147. - xcode_version: 10.2.1
  148. target: watchos
  149. configuration: Debug
  150. ################
  151. # cocoapods
  152. ################
  153. # Skip Debug
  154. - target: cocoapods-ios
  155. configuration: Debug
  156. - target: cocoapods-osx
  157. configuration: Debug
  158. - target: cocoapods-watchos
  159. configuration: Debug
  160. ################
  161. # swiftlint
  162. ################
  163. # Just run on 10.3 Release
  164. - xcode_version: 9.4
  165. target: swiftlint
  166. - xcode_version: 10.0
  167. target: swiftlint
  168. - xcode_version: 10.1
  169. target: swiftlint
  170. - xcode_version: 10.2.1
  171. target: swiftlint
  172. - target: swiftlint
  173. configuration: Debug
  174. ################
  175. # swiftpm
  176. ################
  177. # Just run on 10.2/10.3 Release
  178. - xcode_version: 9.4
  179. target: swiftpm
  180. - xcode_version: 10.0
  181. target: swiftpm
  182. - xcode_version: 10.1
  183. target: swiftpm
  184. - target: swiftpm
  185. configuration: Debug
  186. ################
  187. # tvos
  188. ################
  189. # Skip Debug on everything but 10.3
  190. - xcode_version: 9.4
  191. target: tvos
  192. configuration: Debug
  193. - xcode_version: 10.0
  194. target: tvos
  195. configuration: Debug
  196. - xcode_version: 10.1
  197. target: tvos
  198. configuration: Debug
  199. - xcode_version: 10.2.1
  200. target: tvos
  201. configuration: Debug
  202. ################
  203. # osx-encryption
  204. ################
  205. # Just run on 9.4/10.3 Release
  206. - xcode_version: 10.0
  207. target: osx-encryption
  208. - xcode_version: 10.1
  209. target: osx-encryption
  210. - xcode_version: 10.2.1
  211. target: osx-encryption
  212. - target: osx-encryption
  213. configuration: Debug
  214. ################
  215. # osx-object-server
  216. ################
  217. # Just run on 9.4/10.3 Release
  218. - xcode_version: 10.0
  219. target: osx-object-server
  220. - xcode_version: 10.1
  221. target: osx-object-server
  222. - xcode_version: 10.2.1
  223. target: osx-object-server
  224. - target: osx-object-server
  225. configuration: Debug
  226. ################
  227. # ios-device-objc-ios8
  228. ################
  229. # Just run on 9.4/10.3 Release
  230. - xcode_version: 10.0
  231. target: ios-device-objc-ios8
  232. - xcode_version: 10.1
  233. target: ios-device-objc-ios8
  234. - xcode_version: 10.2.1
  235. target: ios-device-objc-ios8
  236. - target: ios-device-objc-ios8
  237. configuration: Debug
  238. ################
  239. # ios-device-swift-ios8
  240. ################
  241. # Just run on 9.4/10.3 Release
  242. - xcode_version: 10.0
  243. target: ios-device-swift-ios8
  244. - xcode_version: 10.1
  245. target: ios-device-swift-ios8
  246. - xcode_version: 10.2.1
  247. target: ios-device-swift-ios8
  248. - target: ios-device-swift-ios8
  249. configuration: Debug
  250. ################
  251. # ios-device-objc-ios10
  252. ################
  253. # Just run on 9.3/10.3 Release
  254. - xcode_version: 10.0
  255. target: ios-device-objc-ios10
  256. - xcode_version: 10.1
  257. target: ios-device-objc-ios10
  258. - xcode_version: 10.2.1
  259. target: ios-device-objc-ios10
  260. - target: ios-device-objc-ios10
  261. configuration: Debug
  262. ################
  263. # ios-device-swift-ios10
  264. ################
  265. # Just run on 9.4/10.3 Release
  266. - xcode_version: 10.0
  267. target: ios-device-swift-ios10
  268. - xcode_version: 10.1
  269. target: ios-device-swift-ios10
  270. - xcode_version: 10.2.1
  271. target: ios-device-swift-ios10
  272. - target: ios-device-swift-ios10
  273. configuration: Debug
  274. ################
  275. # tvos-device
  276. ################
  277. # Just run on 10.2 Release
  278. - xcode_version: 9.4
  279. target: tvos-device
  280. - xcode_version: 10.0
  281. target: tvos-device
  282. - xcode_version: 10.1
  283. target: tvos-device
  284. - xcode_version: 10.2.1
  285. target: tvos-device
  286. - target: tvos-device
  287. configuration: Debug