verification.yml 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. {% metadata_file .yamato/package.metafile -%}
  2. # This job emulates a package verification.
  3. # UnityEditorTests.TestEditorTestsLinuxEditorIsolatedPackagesVerified1804
  4. # - lin_18.04_bokken
  5. # UnityEditorTests.TestEditorTestsMacEditorIsolatedPackagesVerified1014
  6. # - mac_test_10.14
  7. # UnityEditorTests.TestEditorTestsWindowsEditorIsolatedPackagesVerified
  8. # - win10_test
  9. # UnityIntegrationTests.TestIntegrationTestsiOSiPhoneSE
  10. # - mac_iphone_se
  11. # UnityPlaymodeTests.TestPlaymodeTestsLinuxEditorIsolatedPackagesVerified1604
  12. # - lin_test_ubuntu16.04
  13. # UnityPlaymodeTests.TestPlaymodeTestsMacEditorIsolatedPackagesVerified1014
  14. # - mac_test_10.14
  15. # UnityPlaymodeTests.TestPlaymodeTestsWindowsEditorIsolatedPackagesVerified
  16. # - win10_test
  17. # UnityEditorTests.TestEditorTestsLinuxEditorIsolatedPackagesVerified1604
  18. # - lin_test_ubuntu16.04
  19. # UnityEditorTests.TestEditorTestsMacEditorIsolatedPackagesVerified
  20. # - mac_test_10.13
  21. platforms:
  22. - name: Ubuntu 18.04
  23. agent: lin_18.04_bokken
  24. type: Unity::VM
  25. image: katana-to-yamato/desktop-ubuntu-18.04-desktop-katana-git:v1.8-auto
  26. flavor: b1.large
  27. group: linux
  28. - name: macOS 10.14
  29. agent: mac_test_10.14
  30. type: Unity::VM::osx
  31. image: katana-to-yamato/automation-tooling-macos-10.14-katana-git:v1.9-auto
  32. flavor: m1.mac
  33. group: macos
  34. - name: Windows 10
  35. agent: win10_test
  36. type: Unity::VM
  37. image: katana-to-yamato/test-platform-win10-katana-git:v1.9-auto
  38. flavor: b1.large
  39. group: windows
  40. - name: iOS
  41. agent: mac_iphone_se
  42. type: Unity::mobile::iPhone
  43. image: katana-to-yamato/mobile-ios-macos-11-katana-se-git:v1.4-auto
  44. flavor: m1.mac
  45. group: ios
  46. - name: Ubuntu 16.04
  47. agent: lin_test_ubuntu16.04
  48. type: Unity::VM
  49. image: katana-to-yamato/test-platform-ubuntu16.04-katana-git:v1.9-auto
  50. flavor: b1.large
  51. group: linux
  52. - name: macOS 10.13
  53. agent: mac_test_10.13
  54. type: Unity::VM::osx
  55. image: katana-to-yamato/test-platform-macos-10.13-katana-git:v1.10-auto
  56. flavor: m1.mac
  57. group: macos
  58. tests:
  59. - name: Editor Tests on Ubuntu 18.04
  60. id: TestEditorTestsLinuxEditorIsolatedPackagesVerified1804
  61. suite: editor
  62. agent: lin_18.04_bokken
  63. - name: Editor Tests on macOS 10.14
  64. id: TestEditorTestsMacEditorIsolatedPackagesVerified1014
  65. suite: editor
  66. agent: mac_test_10.14
  67. - name: Editor Tests on Windows 10
  68. id: TestEditorTestsWindowsEditorIsolatedPackagesVerified
  69. suite: editor
  70. agent: win10_test
  71. - name: Integration Tests on iPhone SE
  72. id: TestIntegrationTestsiOSiPhoneSE
  73. suite: playmode
  74. agent: mac_iphone_se
  75. - name: Playmode Tests on Ubuntu 16.04
  76. id: TestPlaymodeTestsLinuxEditorIsolatedPackagesVerified1604
  77. suite: playmode
  78. agent: lin_test_ubuntu16.04
  79. - name: Playmode Tests on Ubuntu 18.04
  80. id: TestPlaymodeTestsLinuxEditorIsolatedPackagesVerified1804
  81. suite: playmode
  82. agent: lin_18.04_bokken
  83. - name: Playmode Tests on macOS 10.04
  84. id: TestPlaymodeTestsMacEditorIsolatedPackagesVerified1014
  85. suite: playmode
  86. agent: mac_test_10.14
  87. - name: Playmode Tests on Windows 10
  88. id: TestPlaymodeTestsWindowsEditorIsolatedPackagesVerified
  89. suite: playmode
  90. agent: win10_test
  91. - name: Editor Tests on Ubuntu 16.04
  92. id: TestEditorTestsLinuxEditorIsolatedPackagesVerified1604
  93. suite: editor
  94. agent: lin_test_ubuntu16.04
  95. - name: Editor Tests on macOS 10.13
  96. id: TestEditorTestsMacEditorIsolatedPackagesVerified
  97. suite: editor
  98. agent: mac_test_10.13
  99. - name: Playmode Tests on macOS 10.13
  100. id: TestPlaymodeTestsMacEditorIsolatedPackagesVerified
  101. suite: playmode
  102. agent: mac_test_10.13
  103. # todo:: APV requires that the package works well on Ubuntu 16.04. However,
  104. # unity-downloader-cli doesn't support Ubuntu 16.04. Therefore, there is no way
  105. # to install Unity Editor to the test environments.
  106. # Added tests on Ubuntu 18.04 instead of Ubuntu 16.04 for the reasons above.
  107. test_editors:
  108. - version: trunk
  109. tests:
  110. - TestEditorTestsLinuxEditorIsolatedPackagesVerified1804
  111. - TestEditorTestsMacEditorIsolatedPackagesVerified1014
  112. - TestEditorTestsWindowsEditorIsolatedPackagesVerified
  113. - TestIntegrationTestsiOSiPhoneSE
  114. - TestPlaymodeTestsLinuxEditorIsolatedPackagesVerified1804
  115. - TestPlaymodeTestsMacEditorIsolatedPackagesVerified1014
  116. - TestPlaymodeTestsWindowsEditorIsolatedPackagesVerified
  117. - version: 2022.1
  118. tests:
  119. - TestEditorTestsLinuxEditorIsolatedPackagesVerified1804
  120. - TestEditorTestsMacEditorIsolatedPackagesVerified
  121. - TestEditorTestsWindowsEditorIsolatedPackagesVerified
  122. - TestIntegrationTestsiOSiPhoneSE
  123. - TestPlaymodeTestsLinuxEditorIsolatedPackagesVerified1804
  124. - TestPlaymodeTestsMacEditorIsolatedPackagesVerified
  125. - TestPlaymodeTestsWindowsEditorIsolatedPackagesVerified
  126. - version: 2021.3
  127. tests:
  128. - TestEditorTestsLinuxEditorIsolatedPackagesVerified1804
  129. - TestEditorTestsMacEditorIsolatedPackagesVerified
  130. - TestEditorTestsWindowsEditorIsolatedPackagesVerified
  131. - TestIntegrationTestsiOSiPhoneSE
  132. - TestPlaymodeTestsLinuxEditorIsolatedPackagesVerified1804
  133. - TestPlaymodeTestsMacEditorIsolatedPackagesVerified
  134. - TestPlaymodeTestsWindowsEditorIsolatedPackagesVerified
  135. - version: 2020.3
  136. tests:
  137. - TestEditorTestsLinuxEditorIsolatedPackagesVerified1804
  138. - TestEditorTestsMacEditorIsolatedPackagesVerified
  139. - TestEditorTestsWindowsEditorIsolatedPackagesVerified
  140. - TestIntegrationTestsiOSiPhoneSE
  141. - TestPlaymodeTestsLinuxEditorIsolatedPackagesVerified1804
  142. - TestPlaymodeTestsMacEditorIsolatedPackagesVerified
  143. - TestPlaymodeTestsWindowsEditorIsolatedPackagesVerified
  144. - version: 2019.4
  145. tests:
  146. - TestEditorTestsLinuxEditorIsolatedPackagesVerified1804
  147. - TestEditorTestsMacEditorIsolatedPackagesVerified
  148. - TestEditorTestsWindowsEditorIsolatedPackagesVerified
  149. - TestPlaymodeTestsLinuxEditorIsolatedPackagesVerified1804
  150. - TestPlaymodeTestsMacEditorIsolatedPackagesVerified
  151. - TestPlaymodeTestsWindowsEditorIsolatedPackagesVerified
  152. ---
  153. {% for editor in test_editors %}
  154. verificationtest_{{ editor.version }}:
  155. name : Verification Test on Unity Editor {{ editor.version }}
  156. dependencies:
  157. {% for id in editor.tests %}
  158. - .yamato/verification.yml#verificationtest_{{ id }}_{{ editor.version }}
  159. {% endfor %}
  160. {% endfor %}
  161. {% for editor in test_editors %}
  162. {% for id in editor.tests %}
  163. {% assign test = tests | where: "id", id | first %}
  164. {% assign platform = platforms | where: "agent", test.agent | first %}
  165. verificationtest_{{ id }}_{{ editor.version }}:
  166. name : Verification Test {{ test.name }} on Unity Editor {{ editor.version }}
  167. agent:
  168. type: {{ platform.type }}
  169. image: {{ platform.image }}
  170. flavor: {{ platform.flavor }}
  171. commands:
  172. {% if platform.group == "linux" %}
  173. #install utr
  174. - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools/utr-standalone/utr --output utr
  175. - chmod a+x ./utr
  176. # install unity-downloader-cli
  177. - curl -L https://artifactory.prd.it.unity3d.com/artifactory/api/gpg/key/public | sudo apt-key add -
  178. - sudo sh -c "echo 'deb https://artifactory.prd.it.unity3d.com/artifactory/unity-apt-local bionic main' > /etc/apt/sources.list.d/unity.list"
  179. - sudo apt update
  180. - sudo apt install unity-downloader-cli -y
  181. - unity-downloader-cli -u {{ editor.version }} -c editor --fast --wait
  182. # run utr
  183. - ./utr --suite={{ test.suite }} --editor-location=.Editor --testproject=WebRTC~ --reruncount=2 --timeout=3600
  184. {% elsif platform.group == "macos" %}
  185. #install utr
  186. - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools/utr-standalone/utr --output utr; chmod a+x ./utr
  187. - chmod a+x ./utr
  188. # install unity-downloader-cli
  189. - pip3 install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple
  190. - unity-downloader-cli -u {{ editor.version }} -c editor --fast --wait
  191. # run utr
  192. - ./utr --suite={{ test.suite }} --editor-location=.Editor --testproject=WebRTC~ --reruncount=2 --timeout=3600
  193. {% elsif platform.group == "windows" %}
  194. #install utr
  195. - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools/utr-standalone/utr.bat > utr.bat
  196. # install unity-downloader-cli
  197. - pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple
  198. - unity-downloader-cli -u {{ editor.version }} -c editor --fast --wait
  199. # run utr
  200. - git config --local core.symlinks true
  201. - gsudo git checkout -f --detach FETCH_HEAD
  202. - utr --suite={{ test.suite }} --editor-location=.Editor --testproject=./WebRTC~ --reruncount=2 --timeout=3600
  203. {% elsif platform.group == "ios" %}
  204. #install utr
  205. - curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools/utr-standalone/utr --output utr; chmod a+x ./utr
  206. - chmod a+x ./utr
  207. # install unity-downloader-cli
  208. - pip3 install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple
  209. - unity-downloader-cli -u {{ editor.version }} -c editor -c iOS --fast --wait
  210. # run utr
  211. - ./utr --suite={{ test.suite }} --platform=iOS --build-only --editor-location=.Editor --testproject=WebRTC~ --player-save-path=players --reruncount=2 --timeout=3600
  212. - ./utr --suite={{ test.suite }} --platform=iOS --platform=iOS --player-load-path=players --reruncount=2 --timeout=3600
  213. {% endif %}
  214. artifacts:
  215. {{ id }}_{{ editor.version }}_results:
  216. paths:
  217. - "upm-ci~/test-results/**/*"
  218. # dependencies:
  219. # - .yamato/upm-ci-webrtc-packages.yml#pack_webrtc
  220. {% endfor %}
  221. {% endfor %}