.jenkins.yml 14 KB

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