.drone.yml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. kind: pipeline
  2. name: generic
  3. steps:
  4. - name: generic
  5. image: nextcloudci/android:android-49
  6. environment:
  7. GIT_USERNAME:
  8. from_secret: GIT_USERNAME
  9. GIT_TOKEN:
  10. from_secret: GIT_TOKEN
  11. commands:
  12. - scripts/checkIfRunDrone.sh $GIT_USERNAME $GIT_TOKEN $DRONE_PULL_REQUEST || exit 0
  13. - ./gradlew assembleGeneric
  14. - name: notify
  15. image: drillster/drone-email
  16. settings:
  17. port: 587
  18. from: nextcloud-drone@kaminsky.me
  19. recipients_only: true
  20. username:
  21. from_secret: EMAIL_USERNAME
  22. password:
  23. from_secret: EMAIL_PASSWORD
  24. recipients:
  25. from_secret: EMAIL_RECIPIENTS
  26. host:
  27. from_secret: EMAIL_HOST
  28. GIT_USERNAME:
  29. from_secret: GIT_USERNAME
  30. GIT_TOKEN:
  31. from_secret: GIT_TOKEN
  32. when:
  33. event:
  34. - push
  35. status:
  36. - failure
  37. branch:
  38. - master
  39. trigger:
  40. branch:
  41. - master
  42. event:
  43. - pull_request
  44. - push
  45. ---
  46. kind: pipeline
  47. name: gplay
  48. steps:
  49. - name: gplay
  50. image: nextcloudci/android:android-49
  51. privileged: true
  52. environment:
  53. LOG_USERNAME:
  54. from_secret: LOG_USERNAME
  55. LOG_PASSWORD:
  56. from_secret: LOG_PASSWORD
  57. GIT_USERNAME:
  58. from_secret: GIT_USERNAME
  59. GIT_TOKEN:
  60. from_secret: GIT_TOKEN
  61. ORG_GRADLE_PROJECT_coverage: ''
  62. commands:
  63. - scripts/checkIfRunDrone.sh $GIT_USERNAME $GIT_TOKEN $DRONE_PULL_REQUEST || exit 0
  64. - emulator-headless -avd android-27 -no-snapshot -gpu swiftshader_indirect -no-window -no-audio -skin 500x833 &
  65. - sed -i s'#<bool name="is_beta">false</bool>#<bool name="is_beta">true</bool>#'g src/main/res/values/setup.xml
  66. - ./gradlew assembleGplay
  67. - ./gradlew assembleGplayDebug
  68. - scripts/wait_for_emulator.sh
  69. - ./gradlew jacocoTestGplayDebugUnitTestReport || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "Unit" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
  70. - ./gradlew installGplayDebugAndroidTest
  71. - ./gradlew createGplayDebugCoverageReport || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "IT" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
  72. - ./gradlew executeScreenshotTests || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "Screenshot" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
  73. - ./gradlew combinedTestReport
  74. - curl -o codecov.sh https://codecov.io/bash
  75. - bash ./codecov.sh -t fc506ba4-33c3-43e4-a760-aada38c24fd5
  76. - name: notify
  77. image: drillster/drone-email
  78. settings:
  79. port: 587
  80. from: nextcloud-drone@kaminsky.me
  81. recipients_only: true
  82. username:
  83. from_secret: EMAIL_USERNAME
  84. password:
  85. from_secret: EMAIL_PASSWORD
  86. recipients:
  87. from_secret: EMAIL_RECIPIENTS
  88. host:
  89. from_secret: EMAIL_HOST
  90. when:
  91. event:
  92. - push
  93. status:
  94. - failure
  95. branch:
  96. - master
  97. services:
  98. - name: server
  99. image: nextcloudci/server:server-3
  100. trigger:
  101. branch:
  102. - master
  103. event:
  104. - push
  105. - pull_request
  106. ---
  107. kind: pipeline
  108. name: analysis
  109. steps:
  110. - name: analysis
  111. image: nextcloudci/android:android-49
  112. environment:
  113. GIT_USERNAME:
  114. from_secret: GIT_USERNAME
  115. GIT_TOKEN:
  116. from_secret: GIT_TOKEN
  117. LOG_USERNAME:
  118. from_secret: LOG_USERNAME
  119. LOG_PASSWORD:
  120. from_secret: LOG_PASSWORD
  121. commands:
  122. - scripts/checkIfRunDrone.sh $GIT_USERNAME $GIT_TOKEN $DRONE_PULL_REQUEST || exit 0
  123. - export BRANCH=$(scripts/analysis/getBranchName.sh $GIT_USERNAME $GIT_TOKEN $DRONE_PULL_REQUEST)
  124. - scripts/analysis/analysis-wrapper.sh $GIT_USERNAME $GIT_TOKEN $BRANCH $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER $DRONE_PULL_REQUEST
  125. - name: notify
  126. image: drillster/drone-email
  127. settings:
  128. port: 587
  129. from: nextcloud-drone@kaminsky.me
  130. recipients_only: true
  131. username:
  132. from_secret: EMAIL_USERNAME
  133. password:
  134. from_secret: EMAIL_PASSWORD
  135. recipients:
  136. from_secret: EMAIL_RECIPIENTS
  137. host:
  138. from_secret: EMAIL_HOST
  139. when:
  140. event:
  141. - push
  142. status:
  143. - failure
  144. branch:
  145. - master
  146. trigger:
  147. branch:
  148. - master
  149. event:
  150. - push
  151. - pull_request
  152. ---
  153. kind: pipeline
  154. name: qa
  155. steps:
  156. - name: qa
  157. image: nextcloudci/android:android-49
  158. privileged: true
  159. environment:
  160. LOG_USERNAME:
  161. from_secret: LOG_USERNAME
  162. LOG_PASSWORD:
  163. from_secret: LOG_PASSWORD
  164. GIT_USERNAME:
  165. from_secret: GIT_USERNAME
  166. GIT_TOKEN:
  167. from_secret: GIT_TOKEN
  168. KS_PASS:
  169. from_secret: KS_PASS
  170. KEY_PASS:
  171. from_secret: KEY_PASS
  172. commands:
  173. - scripts/checkIfRunDrone.sh $GIT_USERNAME $GIT_TOKEN $DRONE_PULL_REQUEST || exit 0
  174. - sed -i "/qa/,/\}/ s/versionCode .*/versionCode $DRONE_BUILD_NUMBER/" build.gradle
  175. - sed -i "/qa/,/\}/ s/versionName .*/versionName \"$DRONE_BUILD_NUMBER\"/" build.gradle
  176. - ./gradlew assembleQaDebug
  177. - /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
  178. - scripts/uploadArtifact.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
  179. trigger:
  180. event:
  181. - pull_request