.drone.yml 4.4 KB

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