.drone.yml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. ---
  2. kind: pipeline
  3. name: integration-testing
  4. platform:
  5. os: linux
  6. arch: amd64
  7. clone:
  8. disable: true
  9. steps:
  10. - name: prepare-tests
  11. pull: default
  12. image: timovibritannia/ansible
  13. commands:
  14. - git clone https://github.com/mailcow/mailcow-integration-tests.git --branch $(curl -sL https://api.github.com/repos/mailcow/mailcow-integration-tests/releases/latest | jq -r '.tag_name') --single-branch .
  15. - chmod +x ci.sh
  16. - chmod +x ci-ssh.sh
  17. - chmod +x ci-piprequierments.sh
  18. - ./ci.sh
  19. - wget -O group_vars/all/secrets.yml $SECRETS_DOWNLOAD_URL --quiet
  20. environment:
  21. SECRETS_DOWNLOAD_URL:
  22. from_secret: SECRETS_DOWNLOAD_URL
  23. VAULT_PW:
  24. from_secret: VAULT_PW
  25. when:
  26. branch:
  27. - master
  28. event:
  29. - push
  30. - name: lint
  31. pull: default
  32. image: timovibritannia/ansible
  33. commands:
  34. - ansible-lint ./
  35. when:
  36. branch:
  37. - master
  38. event:
  39. - push
  40. - name: create-server
  41. pull: default
  42. image: timovibritannia/ansible
  43. commands:
  44. - ./ci-piprequierments.sh
  45. - ansible-playbook mailcow-start-server.yml --diff
  46. - ./ci-ssh.sh
  47. environment:
  48. ANSIBLE_HOST_KEY_CHECKING: false
  49. ANSIBLE_FORCE_COLOR: true
  50. when:
  51. branch:
  52. - master
  53. event:
  54. - push
  55. - name: setup-server
  56. pull: default
  57. image: timovibritannia/ansible
  58. commands:
  59. - sleep 120
  60. - ./ci-piprequierments.sh
  61. - ansible-playbook mailcow-setup-server.yml --private-key /drone/src/id_ssh_rsa --diff
  62. environment:
  63. ANSIBLE_HOST_KEY_CHECKING: false
  64. ANSIBLE_FORCE_COLOR: true
  65. when:
  66. branch:
  67. - master
  68. event:
  69. - push
  70. - name: run-tests
  71. pull: default
  72. image: timovibritannia/ansible
  73. commands:
  74. - ./ci-piprequierments.sh
  75. - ansible-playbook mailcow-integration-tests.yml --private-key /drone/src/id_ssh_rsa --diff
  76. environment:
  77. ANSIBLE_HOST_KEY_CHECKING: false
  78. ANSIBLE_FORCE_COLOR: true
  79. when:
  80. branch:
  81. - master
  82. event:
  83. - push
  84. - name: delete-server
  85. pull: default
  86. image: timovibritannia/ansible
  87. commands:
  88. - ./ci-piprequierments.sh
  89. - ansible-playbook mailcow-delete-server.yml --diff
  90. environment:
  91. ANSIBLE_HOST_KEY_CHECKING: false
  92. ANSIBLE_FORCE_COLOR: true
  93. when:
  94. branch:
  95. - master
  96. event:
  97. - push
  98. status:
  99. - failure
  100. - success
  101. ---
  102. kind: signature
  103. hmac: 78793b0d115828cf74f6dbac3341205c6d48ef2e59661529f3412f2fac3831a9
  104. ...