.drone.yml 9.5 KB

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