bitrise.yml 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. format_version: "6"
  2. default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git
  3. project_type: android
  4. trigger_map:
  5. - push_branch: develop
  6. workflow: nightly
  7. - pull_request_source_branch: '*'
  8. workflow: primary
  9. - tag: '*'
  10. workflow: release
  11. workflows:
  12. nightly:
  13. steps:
  14. - activate-ssh-key:
  15. run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
  16. - git-clone@8.0: {}
  17. - cache-pull@2.7: {}
  18. - install-missing-android-tools:
  19. inputs:
  20. - gradlew_path: $PROJECT_LOCATION/gradlew
  21. - change-android-versioncode-and-versionname@1.3: {}
  22. - gradle-runner@2:
  23. inputs:
  24. - apk_file_include_filter: '*.aab'
  25. - gradlew_path: ./gradlew
  26. - gradle_options: ""
  27. - gradle_task: ktlintCheck testGreenReleaseUnitTest bundleGreenRelease
  28. - sign-apk@1:
  29. inputs:
  30. - apk_path: $BITRISE_AAB_PATH
  31. - script:
  32. inputs:
  33. - content: |
  34. #!/usr/bin/env bash
  35. # write the git log to a file for the deploy step to pick up
  36. git log -3 --pretty=%B | head -c 500 > whatsnew-en-US
  37. - google-play-deploy@3.7:
  38. inputs:
  39. - apk_path: $BITRISE_SIGNED_APK_PATH
  40. - package_name: com.keylesspalace.tusky.test
  41. - track: production
  42. - app_path: $BITRISE_SIGNED_AAB_PATH
  43. - whatsnews_dir: ./
  44. - service_account_json_key_path: $TUSKY_SERVICE_ACC_URL
  45. - deploy-to-bitrise-io@2.1: {}
  46. - cache-push@2.7: {}
  47. primary:
  48. steps:
  49. - activate-ssh-key:
  50. run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
  51. - git-clone: {}
  52. - cache-pull@2.7: {}
  53. - install-missing-android-tools:
  54. inputs:
  55. - gradlew_path: $PROJECT_LOCATION/gradlew
  56. - gradle-runner@2:
  57. inputs:
  58. - app_file_include_filter: |-
  59. *.apk
  60. *.aab
  61. - app_file_exclude_filter: |2+
  62. - test_apk_file_include_filter: ""
  63. - mapping_file_include_filter: ""
  64. - retry_on_failure: "no"
  65. - gradlew_path: ./gradlew
  66. - gradle_options: --no-daemon
  67. - gradle_task: ktlintCheck
  68. - android-unit-test@1.0:
  69. inputs:
  70. - project_location: $PROJECT_LOCATION
  71. - module: app
  72. - variant: greenDebug
  73. - android-build:
  74. inputs:
  75. - variant: greenDebug
  76. - module: app
  77. - deploy-to-bitrise-io@2.1:
  78. inputs:
  79. - debug_mode: "true"
  80. - notify_user_groups: none
  81. - cache-push@2.7: {}
  82. release:
  83. steps:
  84. - activate-ssh-key:
  85. run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
  86. - git-clone: {}
  87. - cache-pull@2.7: {}
  88. - install-missing-android-tools@3.1:
  89. inputs:
  90. - gradlew_path: $PROJECT_LOCATION/gradlew
  91. - gradle-runner@2.0:
  92. inputs:
  93. - apk_file_include_filter: ""
  94. - gradlew_path: ./gradlew
  95. - gradle_task: assembleBlueRelease bundleBlueRelease
  96. - sign-apk:
  97. inputs:
  98. - debuggable_permitted: "false"
  99. - keystore_alias: $TUSKY_RELEASE_KEY_NAME
  100. - private_key_password: $TUSKY_RELEASE_KEY_PASSWORD
  101. - verbose_log: "true"
  102. - android_app: $BITRISE_APK_PATH|$BITRISE_AAB_PATH
  103. - apk_path: ""
  104. - deploy-to-bitrise-io@2.1:
  105. inputs:
  106. - generate_universal_apk_if_none: "false"
  107. - script@1:
  108. inputs:
  109. - content: |
  110. #!/usr/bin/env bash
  111. # find the newest english changelog, write it to a file for the deploy step to pick up
  112. changelog_file=$(ls -1 fastlane/metadata/android/en-US/changelogs | sort -V -r | head -n 1)
  113. cat fastlane/metadata/android/en-US/changelogs/$changelog_file >> whatsnew-en-US
  114. - google-play-deploy@3:
  115. inputs:
  116. - app_path: $BITRISE_AAB_PATH
  117. - track: internal
  118. - service_account_json_key_path: $TUSKY_SERVICE_ACC_URL
  119. - package_name: com.keylesspalace.tusky
  120. - cache-push@2.7: {}
  121. app:
  122. envs:
  123. - opts:
  124. is_expand: false
  125. PROJECT_LOCATION: .
  126. - opts:
  127. is_expand: false
  128. MODULE: app
  129. - opts:
  130. is_expand: false
  131. BUILD_VARIANT: GreenDebug
  132. - opts:
  133. is_expand: false
  134. TEST_VARIANT: GreenDebug
  135. meta:
  136. bitrise.io:
  137. stack: linux-docker-android-20.04