.drone.yml 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  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 &
  65. - ./gradlew assembleGplay
  66. - ./gradlew assembleGplayDebug
  67. - ./wait_for_emulator.sh
  68. - ./gradlew jacocoTestGplayDebugUnitTestReport || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "Unit" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
  69. - ./gradlew installGplayDebugAndroidTest
  70. - ./gradlew createGplayDebugCoverageReport || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "IT" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
  71. - ./gradlew combinedTestReport
  72. - curl -o codecov.sh https://codecov.io/bash
  73. - bash ./codecov.sh -t fc506ba4-33c3-43e4-a760-aada38c24fd5
  74. - name: notify
  75. image: drillster/drone-email
  76. settings:
  77. port: 587
  78. from: nextcloud-drone@kaminsky.me
  79. recipients_only: true
  80. username:
  81. from_secret: EMAIL_USERNAME
  82. password:
  83. from_secret: EMAIL_PASSWORD
  84. recipients:
  85. from_secret: EMAIL_RECIPIENTS
  86. host:
  87. from_secret: EMAIL_HOST
  88. when:
  89. event:
  90. - push
  91. status:
  92. - failure
  93. branch:
  94. - master
  95. services:
  96. - name: server
  97. image: nextcloudci/server:server-3
  98. trigger:
  99. branch:
  100. - master
  101. event:
  102. - push
  103. - pull_request
  104. ---
  105. kind: pipeline
  106. name: analysis
  107. steps:
  108. - name: analysis
  109. image: nextcloudci/android:android-49
  110. environment:
  111. GIT_USERNAME:
  112. from_secret: GIT_USERNAME
  113. GIT_TOKEN:
  114. from_secret: GIT_TOKEN
  115. LOG_USERNAME:
  116. from_secret: LOG_USERNAME
  117. LOG_PASSWORD:
  118. from_secret: LOG_PASSWORD
  119. commands:
  120. - scripts/checkIfRunDrone.sh $GIT_USERNAME $GIT_TOKEN $DRONE_PULL_REQUEST || exit 0
  121. - export BRANCH=$(scripts/analysis/getBranchName.sh $GIT_USERNAME $GIT_TOKEN $DRONE_PULL_REQUEST)
  122. - scripts/analysis/analysis-wrapper.sh $GIT_USERNAME $GIT_TOKEN $BRANCH $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER $DRONE_PULL_REQUEST
  123. - name: notify
  124. image: drillster/drone-email
  125. settings:
  126. port: 587
  127. from: nextcloud-drone@kaminsky.me
  128. recipients_only: true
  129. username:
  130. from_secret: EMAIL_USERNAME
  131. password:
  132. from_secret: EMAIL_PASSWORD
  133. recipients:
  134. from_secret: EMAIL_RECIPIENTS
  135. host:
  136. from_secret: EMAIL_HOST
  137. when:
  138. event:
  139. - push
  140. status:
  141. - failure
  142. branch:
  143. - master
  144. trigger:
  145. branch:
  146. - master
  147. event:
  148. - push
  149. - pull_request
  150. ---
  151. kind: pipeline
  152. name: qa
  153. steps:
  154. - name: qa
  155. image: nextcloudci/android:android-49
  156. privileged: true
  157. environment:
  158. LOG_USERNAME:
  159. from_secret: LOG_USERNAME
  160. LOG_PASSWORD:
  161. from_secret: LOG_PASSWORD
  162. GIT_USERNAME:
  163. from_secret: GIT_USERNAME
  164. GIT_TOKEN:
  165. from_secret: GIT_TOKEN
  166. KS_PASS:
  167. from_secret: KS_PASS
  168. KEY_PASS:
  169. from_secret: KEY_PASS
  170. commands:
  171. - scripts/checkIfRunDrone.sh $GIT_USERNAME $GIT_TOKEN $DRONE_PULL_REQUEST || exit 0
  172. - sed -i "/qa/,/\}/ s/versionCode .*/versionCode $DRONE_BUILD_NUMBER/" build.gradle
  173. - sed -i "/qa/,/\}/ s/versionName .*/versionName \"$DRONE_BUILD_NUMBER\"/" build.gradle
  174. - ./gradlew assembleQaDebug
  175. - /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
  176. - scripts/uploadArtifact.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN
  177. trigger:
  178. event:
  179. - pull_request