.drone.yml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. kind: pipeline
  2. type: docker
  3. name: default
  4. steps:
  5. - name: test
  6. image: git.snas.black-burn.ch/sean/poetry-in-a-container:3.10
  7. volumes:
  8. - name: poetry_cache
  9. path: /root/.cache/pypoetry/virtualenvs
  10. - name: pip_cache
  11. path: /root/.cache/pip/
  12. - name: poetry_bin
  13. path: /root/.local/bin
  14. - name: pre_commit_environments
  15. path: /root/.cache/pre-commit
  16. commands:
  17. - poetry install
  18. - poetry run pre-commit run -a
  19. - name: build-latest
  20. image: plugins/docker
  21. settings:
  22. username:
  23. from_secret: NUCNAS_GITEA_DOCKER_USERNAME
  24. password:
  25. from_secret: NUCNAS_GITEA_DOCKER_PASSWORD
  26. repo: git.snas.black-burn.ch/${DRONE_REPO_NAMESPACE,,}/${DRONE_REPO_NAME,,}
  27. registry: git.snas.black-burn.ch
  28. volumes:
  29. - name: docker_sock
  30. path: /var/run/docker.sock
  31. when:
  32. ref:
  33. exclude:
  34. - refs/tags/*
  35. branch:
  36. exclude:
  37. - renovate/*
  38. - name: pypi_publish
  39. image: python:3.10
  40. volumes:
  41. - name: poetry_cache
  42. path: /root/.cache/pypoetry/virtualenvs
  43. - name: pip_cache
  44. path: /root/.cache/pip/
  45. environment:
  46. USERNAME:
  47. from_secret: GITEA_REPO_USERNAME
  48. PASSWORD:
  49. from_secret: GITEA_REPO_PASSWORD
  50. commands:
  51. - pip install poetry
  52. - poetry config repositories.gitea https://git.snas.black-burn.ch/api/packages/${DRONE_REPO_NAMESPACE,,}/pypi
  53. - poetry publish --build --repository gitea --username $USERNAME --password $PASSWORD
  54. when:
  55. ref:
  56. - refs/tags/*
  57. branch:
  58. exclude:
  59. - renovate/*
  60. - name: build-release
  61. image: plugins/docker
  62. settings:
  63. username:
  64. from_secret: NUCNAS_GITEA_DOCKER_USERNAME
  65. password:
  66. from_secret: NUCNAS_GITEA_DOCKER_PASSWORD
  67. repo: git.snas.black-burn.ch/${DRONE_REPO_NAMESPACE,,}/${DRONE_REPO_NAME,,}
  68. registry: git.snas.black-burn.ch
  69. auto_tag: true
  70. volumes:
  71. - name: docker_sock
  72. path: /var/run/docker.sock
  73. when:
  74. ref:
  75. - refs/tags/*
  76. branch:
  77. exclude:
  78. - renovate/*
  79. - name: discord notification
  80. image: appleboy/drone-discord
  81. when:
  82. status:
  83. - failure
  84. - success
  85. settings:
  86. username: drone-ci
  87. webhook_id:
  88. from_secret: DISCORD_WEBHOOK_ID
  89. webhook_token:
  90. from_secret: DISCORD_WEBHOOK_TOKEN
  91. message: >
  92. {{#success build.status}}
  93. :green_square: {{repo.name}} #{{build.number}}
  94. {{commit.branch}} / {{truncate commit.sha 8}} / {{commit.author}}
  95. Build succeeded!
  96. {{else}}
  97. :red_square: {{repo.name}} #{{build.number}}
  98. {{commit.branch}} / {{truncate commit.sha 8}} / {{commit.author}}
  99. Build failed!
  100. {{/success}}
  101. volumes:
  102. - name: docker_sock
  103. host:
  104. path: /var/run/docker.sock
  105. - name: poetry_cache
  106. host:
  107. path: /tmp-drone/cache/poetry
  108. - name: pip_cache
  109. host:
  110. path: /tmp-drone/cache/pip
  111. - name: poetry_bin
  112. host:
  113. path: /tmp-drone/cache/poetry_bin
  114. - name: pre_commit_environments
  115. host:
  116. path: /tmp-drone/cache/pre_commit_environments