.drone.yml 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. ---
  2. kind: pipeline
  3. type: docker
  4. name: gplay-stable
  5. steps:
  6. - name: gplay
  7. image: nextcloudci/android:android-49
  8. privileged: true
  9. environment:
  10. LOG_USERNAME:
  11. from_secret: LOG_USERNAME
  12. LOG_PASSWORD:
  13. from_secret: LOG_PASSWORD
  14. GIT_USERNAME:
  15. from_secret: GIT_USERNAME
  16. GIT_TOKEN:
  17. from_secret: GIT_TOKEN
  18. ORG_GRADLE_PROJECT_coverage: ''
  19. commands:
  20. - scripts/checkIfRunDrone.sh $GIT_USERNAME $GIT_TOKEN $DRONE_PULL_REQUEST || exit 0
  21. - emulator-headless -avd android-27 -no-snapshot -gpu swiftshader_indirect -no-window -no-audio -skin 500x833 &
  22. - sed -i s'#<bool name="is_beta">false</bool>#<bool name="is_beta">true</bool>#'g src/main/res/values/setup.xml
  23. - sed -i s"#server#server-stable#" gradle.properties
  24. - ./gradlew assembleGplay
  25. - ./gradlew assembleGplayDebug
  26. - scripts/wait_for_emulator.sh
  27. - ./gradlew jacocoTestGplayDebugUnitTestReport || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "stable-Unit" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
  28. - ./gradlew installGplayDebugAndroidTest
  29. - scripts/wait_for_server.sh "server-stable"
  30. - ./gradlew createGplayDebugCoverageReport || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "stable-IT" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
  31. - ./gradlew executeScreenshotTests || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "stable-Screenshot" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
  32. - ./gradlew combinedTestReport
  33. - name: notify
  34. image: drillster/drone-email
  35. settings:
  36. port: 587
  37. from: nextcloud-drone@kaminsky.me
  38. recipients_only: true
  39. username:
  40. from_secret: EMAIL_USERNAME
  41. password:
  42. from_secret: EMAIL_PASSWORD
  43. recipients:
  44. from_secret: EMAIL_RECIPIENTS
  45. host:
  46. from_secret: EMAIL_HOST
  47. when:
  48. event:
  49. - push
  50. status:
  51. - failure
  52. branch:
  53. - master
  54. services:
  55. - name: server-stable
  56. image: nextcloudci/server:server-17 # also change in updateScreenshots.sh
  57. commands:
  58. - BRANCH='stable18' /usr/local/bin/initnc.sh
  59. - su www-data -c "OC_PASS=user1 php /var/www/html/occ user:add --password-from-env --display-name='User One' user1"
  60. - su www-data -c "OC_PASS=user2 php /var/www/html/occ user:add --password-from-env --display-name='User Two' user2"
  61. - su www-data -c "OC_PASS=user3 php /var/www/html/occ user:add --password-from-env --display-name='User Three' user3"
  62. - su www-data -c "php /var/www/html/occ user:setting user2 files quota 1G"
  63. - su www-data -c "php /var/www/html/occ group:add users"
  64. - su www-data -c "php /var/www/html/occ group:adduser users user1"
  65. - su www-data -c "php /var/www/html/occ group:adduser users user2"
  66. - su www-data -c "git clone -b stable18 https://github.com/nextcloud/activity.git /var/www/html/apps/activity/"
  67. - su www-data -c "php /var/www/html/occ app:enable activity"
  68. - su www-data -c "git clone -b stable18 https://github.com/nextcloud/text.git /var/www/html/apps/text/"
  69. - su www-data -c "php /var/www/html/occ app:enable text"
  70. - su www-data -c "php /var/www/html/occ app:enable end_to_end_encryption"
  71. - /usr/local/bin/run.sh
  72. trigger:
  73. branch:
  74. - master
  75. event:
  76. - push
  77. - pull_request
  78. ---
  79. kind: pipeline
  80. type: docker
  81. name: gplay-master
  82. steps:
  83. - name: gplay
  84. image: nextcloudci/android:android-49
  85. privileged: true
  86. environment:
  87. LOG_USERNAME:
  88. from_secret: LOG_USERNAME
  89. LOG_PASSWORD:
  90. from_secret: LOG_PASSWORD
  91. GIT_USERNAME:
  92. from_secret: GIT_USERNAME
  93. GIT_TOKEN:
  94. from_secret: GIT_TOKEN
  95. ORG_GRADLE_PROJECT_coverage: ''
  96. commands:
  97. - scripts/checkIfRunDrone.sh $GIT_USERNAME $GIT_TOKEN $DRONE_PULL_REQUEST || exit 0
  98. - emulator-headless -avd android-27 -no-snapshot -gpu swiftshader_indirect -no-window -no-audio -skin 500x833 &
  99. - sed -i s'#<bool name="is_beta">false</bool>#<bool name="is_beta">true</bool>#'g src/main/res/values/setup.xml
  100. - sed -i s"#server#server-master#" gradle.properties
  101. - ./gradlew assembleGplay
  102. - ./gradlew assembleGplayDebug
  103. - scripts/wait_for_emulator.sh
  104. - ./gradlew jacocoTestGplayDebugUnitTestReport || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "master-Unit" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
  105. - ./gradlew installGplayDebugAndroidTest
  106. - scripts/wait_for_server.sh "server-master"
  107. - ./gradlew createGplayDebugCoverageReport || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "master-IT" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
  108. - ./gradlew executeScreenshotTests || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "master-Screenshot" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
  109. - ./gradlew combinedTestReport
  110. - curl -o codecov.sh https://codecov.io/bash
  111. - bash ./codecov.sh -t fc506ba4-33c3-43e4-a760-aada38c24fd5
  112. - name: notify
  113. image: drillster/drone-email
  114. settings:
  115. port: 587
  116. from: nextcloud-drone@kaminsky.me
  117. recipients_only: true
  118. username:
  119. from_secret: EMAIL_USERNAME
  120. password:
  121. from_secret: EMAIL_PASSWORD
  122. recipients:
  123. from_secret: EMAIL_RECIPIENTS
  124. host:
  125. from_secret: EMAIL_HOST
  126. when:
  127. event:
  128. - push
  129. status:
  130. - failure
  131. branch:
  132. - master
  133. services:
  134. - name: server-master
  135. image: nextcloudci/server:server-17 # also change in updateScreenshots.sh
  136. commands:
  137. - /usr/local/bin/initnc.sh
  138. - su www-data -c "php /var/www/html/occ status"
  139. - su www-data -c "OC_PASS=user1 php /var/www/html/occ user:add --password-from-env --display-name='User One' user1"
  140. - su www-data -c "OC_PASS=user2 php /var/www/html/occ user:add --password-from-env --display-name='User Two' user2"
  141. - su www-data -c "OC_PASS=user3 php /var/www/html/occ user:add --password-from-env --display-name='User Three' user3"
  142. - su www-data -c "php /var/www/html/occ user:setting user2 files quota 1G"
  143. - su www-data -c "php /var/www/html/occ group:add users"
  144. - su www-data -c "php /var/www/html/occ group:adduser users user1"
  145. - su www-data -c "php /var/www/html/occ group:adduser users user2"
  146. - su www-data -c "git clone -b master https://github.com/nextcloud/activity.git /var/www/html/apps/activity/"
  147. - su www-data -c "php /var/www/html/occ app:enable activity"
  148. - su www-data -c "git clone -b master https://github.com/nextcloud/text.git /var/www/html/apps/text/"
  149. - su www-data -c "php /var/www/html/occ app:enable text"
  150. - su www-data -c "git clone -b master https://github.com/nextcloud/end_to_end_encryption/ /var/www/html/apps/end_to_end_encryption/"
  151. - su www-data -c "php /var/www/html/occ app:enable end_to_end_encryption"
  152. - /usr/local/bin/run.sh
  153. trigger:
  154. branch:
  155. - master
  156. event:
  157. - push
  158. - pull_request
  159. ---
  160. kind: pipeline
  161. type: docker
  162. name: analysis
  163. steps:
  164. - name: analysis
  165. image: nextcloudci/android:android-49
  166. environment:
  167. GIT_USERNAME:
  168. from_secret: GIT_USERNAME
  169. GIT_TOKEN:
  170. from_secret: GIT_TOKEN
  171. LOG_USERNAME:
  172. from_secret: LOG_USERNAME
  173. LOG_PASSWORD:
  174. from_secret: LOG_PASSWORD
  175. commands:
  176. - scripts/checkIfRunDrone.sh $GIT_USERNAME $GIT_TOKEN $DRONE_PULL_REQUEST || exit 0
  177. - export BRANCH=$(scripts/analysis/getBranchName.sh $GIT_USERNAME $GIT_TOKEN $DRONE_PULL_REQUEST)
  178. - scripts/analysis/analysis-wrapper.sh $GIT_USERNAME $GIT_TOKEN $BRANCH $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER $DRONE_PULL_REQUEST
  179. - name: notify
  180. image: drillster/drone-email
  181. settings:
  182. port: 587
  183. from: nextcloud-drone@kaminsky.me
  184. recipients_only: true
  185. username:
  186. from_secret: EMAIL_USERNAME
  187. password:
  188. from_secret: EMAIL_PASSWORD
  189. recipients:
  190. from_secret: EMAIL_RECIPIENTS
  191. host:
  192. from_secret: EMAIL_HOST
  193. when:
  194. event:
  195. - push
  196. status:
  197. - failure
  198. branch:
  199. - master
  200. trigger:
  201. branch:
  202. - master
  203. event:
  204. - push
  205. - pull_request
  206. ---
  207. kind: pipeline
  208. type: docker
  209. name: qa
  210. steps:
  211. - name: qa
  212. image: nextcloudci/android:android-49
  213. privileged: true
  214. environment:
  215. LOG_USERNAME:
  216. from_secret: LOG_USERNAME
  217. LOG_PASSWORD:
  218. from_secret: LOG_PASSWORD
  219. GIT_USERNAME:
  220. from_secret: GIT_USERNAME
  221. GIT_TOKEN:
  222. from_secret: GIT_TOKEN
  223. KS_PASS:
  224. from_secret: KS_PASS
  225. KEY_PASS:
  226. from_secret: KEY_PASS
  227. commands:
  228. - scripts/checkIfRunDrone.sh $GIT_USERNAME $GIT_TOKEN $DRONE_PULL_REQUEST || exit 0
  229. - sed -i "/qa/,/\}/ s/versionCode .*/versionCode $DRONE_BUILD_NUMBER/" build.gradle
  230. - sed -i "/qa/,/\}/ s/versionName .*/versionName \"$DRONE_BUILD_NUMBER\"/" build.gradle
  231. - ./gradlew assembleQaDebug
  232. - /opt/android-sdk-linux/build-tools/*/apksigner sign --ks-pass pass:$KS_PASS --key-pass pass:$KEY_PASS --ks-key-alias key0 --ks scripts/QA_keystore.jks build/outputs/apk/qa/debug/qa-debug-*.apk
  233. - scripts/uploadArtifact.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
  234. trigger:
  235. event:
  236. - pull_request