25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

206 lines
9.5 KiB

  1. jobs:
  2. include:
  3. - stage: test
  4. language: python
  5. name: Test cli
  6. python:
  7. - '3.6'
  8. before_install:
  9. - cd cli
  10. install:
  11. - pip install -r requirements.txt -r test-requirements.txt
  12. script:
  13. - export PYTHONPATH='.'
  14. - python -m unittest discover
  15. - stage: test
  16. language: python
  17. name: Test backend
  18. python:
  19. - '3.6'
  20. before_install:
  21. - cd containers/backend
  22. install:
  23. - pip install -r requirements.txt
  24. script:
  25. - python manage.py test
  26. - stage: test
  27. language: node_js
  28. name: Test JavaScript packages
  29. node_js:
  30. - lts/*
  31. addons:
  32. chrome: stable
  33. cache:
  34. yarn: true
  35. before_install:
  36. - curl -o- -L https://yarnpkg.com/install.sh | bash
  37. - export PATH=$HOME/.yarn/bin:$PATH
  38. install:
  39. - yarn install
  40. script:
  41. - yarn test
  42. - stage: test
  43. language: node_js
  44. name: Test mobile app
  45. node_js:
  46. - lts/*
  47. cache:
  48. yarn: true
  49. before_install:
  50. - curl -o- -L https://yarnpkg.com/install.sh | bash
  51. - export PATH=$HOME/.yarn/bin:$PATH
  52. - cd mobile
  53. install:
  54. - yarn install
  55. script:
  56. - yarn test
  57. - stage: test
  58. language: generic
  59. name: Test containers
  60. services:
  61. - docker
  62. before_script:
  63. - cd containers
  64. script:
  65. - "./test"
  66. - stage: deploy
  67. language: python
  68. name: Deploy cli
  69. python:
  70. - '3.6'
  71. script: skip
  72. before_deploy: cd cli
  73. deploy:
  74. provider: pypi
  75. user: guillaumevincent
  76. password:
  77. secure: AOCdqmMdtzmxZXnnMM4ToA80y1PftTVoPsFi7D9RglfneRruRocfI+HQ1Y2m3wUkdGEKVrzkHudiOVMLpeuiMerz9JzQNX/MoujjTvq0h24pnXC+Y2JLNgqxQNuKttgBYP9yMhdgo0Si25KqRLTbmGNZLVnN1hXKV206alNmRWqsZeI/Yxje2FDgRnVTsAtXM+R2g/SvM5r/zVnFiogT/gbQ1Voz+kUo7c15o3Sp3D9+WL38P9Sk3tIVl7RA8o1yd7actDVezPhQPddSu+o+3poxUfrX9LtnibJiuWvqBRdQ2Pjwc7ZSjNJ/zPXntCu8hvdEVzCAXbVFfkhsk1xEDGrEne1hyRJuRX3F9o+SgkuKz53mSg1Wxw7tK6fmnyNG+EMU+oeIKGzNd4Ta/Dk9MzmrymeQgFsZSSFIlwi0ecJ7N+3f0UYTlMR788Q7JGXLsqHfY473rI1M5cpC24l88Pibsdjzf66sanlsZtzHN/51CZzuLLHwTt714CV2bVsffdp3UqaJ+pbhdLXYtrLColOg5Ua3el+t999pVr0r/V/gSqRKKVZqgbUwd9ajYTqYXDDt0+/+9c7ynhfH4hMLsafAZNhf74KBIbL7C30A/DfptiHlBP/5TWvOpzc+AyxWt8v1nnrEK/1vAGLGAaYkXKqmazb/9KlxkKDqDMC9ZQc=
  78. on:
  79. tags: true
  80. branch: master
  81. - stage: deploy
  82. language: node_js
  83. name: Deploy lesspass
  84. node_js:
  85. - lts/*
  86. script: skip
  87. before_deploy: cd packages/lesspass
  88. deploy:
  89. provider: npm
  90. email: guillaume@oslab.fr
  91. api_key:
  92. secure: rD1rs7QEA7IX8erpnJStx2AKhS8DpzvFxCA/jw/t9cx40Hk29jTVq1h22Sr6Gitm169cH9/sFzZEqera64w/sC7tsLimf/3aQhx8ia0y8taNxVw6nQTRYhvJazhOEnPEN0hZV8cW12yAUWNjjU19xokJsmbaT9ICVy7LNoRhRubpPO58ICkn8A6fBaz49i+Q/WXAdzdpH5nvu0ffz5Vm2QXD5BC6MZcBn3NQX8sDftUK1lqUNuSJIppTR6cUuZW+RluuiajssxYT7LX5BUgW4vTgf1CcPJ5AlI2JLeytphOc7xEwJBk72vO9eLXQZ8CiSwHCYcz9QGDbPke1xfmlqBwjN/FaCLSk7fi1zEMLbDy0K8b26KUqlOaulPX2hjWsBzfX1TykrusqDxYZ72tIWe2GHPsLGQPEkmhUHlUSPaIMDkYIPydLcvLwS8YObThShCvG6AVmSR3v/25SM3pfb98AtLuKLieTq5kQFOog1HRqLjDZ4CdXFhxzLfoQb9+tXYC/cKsyD4GqVL6CQlfERhKUDMwSu284/6g6pqdVvZ7rzE7oiXgyO9PM+T9vA/j4UeNTahANbSx28AQrWa3n5EQHNOHMSAxv4rnpyDYUTUBrlTKYAUTHSvenKgBr9BKnGjJ4Oa+1jMpjgzw+BJT8smhJTVSQr5XFQoXiAUK2nzg=
  93. on:
  94. tags: true
  95. branch: master
  96. - stage: deploy
  97. language: node_js
  98. name: Deploy lesspass-crypto
  99. node_js:
  100. - lts/*
  101. script: skip
  102. before_deploy: cd packages/lesspass-crypto
  103. deploy:
  104. provider: npm
  105. email: guillaume@oslab.fr
  106. api_key:
  107. secure: rD1rs7QEA7IX8erpnJStx2AKhS8DpzvFxCA/jw/t9cx40Hk29jTVq1h22Sr6Gitm169cH9/sFzZEqera64w/sC7tsLimf/3aQhx8ia0y8taNxVw6nQTRYhvJazhOEnPEN0hZV8cW12yAUWNjjU19xokJsmbaT9ICVy7LNoRhRubpPO58ICkn8A6fBaz49i+Q/WXAdzdpH5nvu0ffz5Vm2QXD5BC6MZcBn3NQX8sDftUK1lqUNuSJIppTR6cUuZW+RluuiajssxYT7LX5BUgW4vTgf1CcPJ5AlI2JLeytphOc7xEwJBk72vO9eLXQZ8CiSwHCYcz9QGDbPke1xfmlqBwjN/FaCLSk7fi1zEMLbDy0K8b26KUqlOaulPX2hjWsBzfX1TykrusqDxYZ72tIWe2GHPsLGQPEkmhUHlUSPaIMDkYIPydLcvLwS8YObThShCvG6AVmSR3v/25SM3pfb98AtLuKLieTq5kQFOog1HRqLjDZ4CdXFhxzLfoQb9+tXYC/cKsyD4GqVL6CQlfERhKUDMwSu284/6g6pqdVvZ7rzE7oiXgyO9PM+T9vA/j4UeNTahANbSx28AQrWa3n5EQHNOHMSAxv4rnpyDYUTUBrlTKYAUTHSvenKgBr9BKnGjJ4Oa+1jMpjgzw+BJT8smhJTVSQr5XFQoXiAUK2nzg=
  108. on:
  109. tags: true
  110. branch: master
  111. - stage: deploy
  112. language: node_js
  113. name: Deploy lesspass-entropy
  114. node_js:
  115. - lts/*
  116. script: skip
  117. before_deploy: cd packages/lesspass-entropy
  118. deploy:
  119. provider: npm
  120. email: guillaume@oslab.fr
  121. api_key:
  122. secure: rD1rs7QEA7IX8erpnJStx2AKhS8DpzvFxCA/jw/t9cx40Hk29jTVq1h22Sr6Gitm169cH9/sFzZEqera64w/sC7tsLimf/3aQhx8ia0y8taNxVw6nQTRYhvJazhOEnPEN0hZV8cW12yAUWNjjU19xokJsmbaT9ICVy7LNoRhRubpPO58ICkn8A6fBaz49i+Q/WXAdzdpH5nvu0ffz5Vm2QXD5BC6MZcBn3NQX8sDftUK1lqUNuSJIppTR6cUuZW+RluuiajssxYT7LX5BUgW4vTgf1CcPJ5AlI2JLeytphOc7xEwJBk72vO9eLXQZ8CiSwHCYcz9QGDbPke1xfmlqBwjN/FaCLSk7fi1zEMLbDy0K8b26KUqlOaulPX2hjWsBzfX1TykrusqDxYZ72tIWe2GHPsLGQPEkmhUHlUSPaIMDkYIPydLcvLwS8YObThShCvG6AVmSR3v/25SM3pfb98AtLuKLieTq5kQFOog1HRqLjDZ4CdXFhxzLfoQb9+tXYC/cKsyD4GqVL6CQlfERhKUDMwSu284/6g6pqdVvZ7rzE7oiXgyO9PM+T9vA/j4UeNTahANbSx28AQrWa3n5EQHNOHMSAxv4rnpyDYUTUBrlTKYAUTHSvenKgBr9BKnGjJ4Oa+1jMpjgzw+BJT8smhJTVSQr5XFQoXiAUK2nzg=
  123. on:
  124. tags: true
  125. branch: master
  126. - stage: deploy
  127. language: node_js
  128. name: Deploy lesspass-fingerprint
  129. node_js:
  130. - lts/*
  131. script: skip
  132. before_deploy: cd packages/lesspass-fingerprint
  133. deploy:
  134. provider: npm
  135. email: guillaume@oslab.fr
  136. api_key:
  137. secure: rD1rs7QEA7IX8erpnJStx2AKhS8DpzvFxCA/jw/t9cx40Hk29jTVq1h22Sr6Gitm169cH9/sFzZEqera64w/sC7tsLimf/3aQhx8ia0y8taNxVw6nQTRYhvJazhOEnPEN0hZV8cW12yAUWNjjU19xokJsmbaT9ICVy7LNoRhRubpPO58ICkn8A6fBaz49i+Q/WXAdzdpH5nvu0ffz5Vm2QXD5BC6MZcBn3NQX8sDftUK1lqUNuSJIppTR6cUuZW+RluuiajssxYT7LX5BUgW4vTgf1CcPJ5AlI2JLeytphOc7xEwJBk72vO9eLXQZ8CiSwHCYcz9QGDbPke1xfmlqBwjN/FaCLSk7fi1zEMLbDy0K8b26KUqlOaulPX2hjWsBzfX1TykrusqDxYZ72tIWe2GHPsLGQPEkmhUHlUSPaIMDkYIPydLcvLwS8YObThShCvG6AVmSR3v/25SM3pfb98AtLuKLieTq5kQFOog1HRqLjDZ4CdXFhxzLfoQb9+tXYC/cKsyD4GqVL6CQlfERhKUDMwSu284/6g6pqdVvZ7rzE7oiXgyO9PM+T9vA/j4UeNTahANbSx28AQrWa3n5EQHNOHMSAxv4rnpyDYUTUBrlTKYAUTHSvenKgBr9BKnGjJ4Oa+1jMpjgzw+BJT8smhJTVSQr5XFQoXiAUK2nzg=
  138. on:
  139. tags: true
  140. branch: master
  141. - stage: deploy
  142. language: node_js
  143. name: Deploy lesspass-pure
  144. node_js:
  145. - lts/*
  146. script: skip
  147. before_deploy: cd packages/lesspass-pure
  148. deploy:
  149. provider: npm
  150. email: guillaume@oslab.fr
  151. api_key:
  152. secure: rD1rs7QEA7IX8erpnJStx2AKhS8DpzvFxCA/jw/t9cx40Hk29jTVq1h22Sr6Gitm169cH9/sFzZEqera64w/sC7tsLimf/3aQhx8ia0y8taNxVw6nQTRYhvJazhOEnPEN0hZV8cW12yAUWNjjU19xokJsmbaT9ICVy7LNoRhRubpPO58ICkn8A6fBaz49i+Q/WXAdzdpH5nvu0ffz5Vm2QXD5BC6MZcBn3NQX8sDftUK1lqUNuSJIppTR6cUuZW+RluuiajssxYT7LX5BUgW4vTgf1CcPJ5AlI2JLeytphOc7xEwJBk72vO9eLXQZ8CiSwHCYcz9QGDbPke1xfmlqBwjN/FaCLSk7fi1zEMLbDy0K8b26KUqlOaulPX2hjWsBzfX1TykrusqDxYZ72tIWe2GHPsLGQPEkmhUHlUSPaIMDkYIPydLcvLwS8YObThShCvG6AVmSR3v/25SM3pfb98AtLuKLieTq5kQFOog1HRqLjDZ4CdXFhxzLfoQb9+tXYC/cKsyD4GqVL6CQlfERhKUDMwSu284/6g6pqdVvZ7rzE7oiXgyO9PM+T9vA/j4UeNTahANbSx28AQrWa3n5EQHNOHMSAxv4rnpyDYUTUBrlTKYAUTHSvenKgBr9BKnGjJ4Oa+1jMpjgzw+BJT8smhJTVSQr5XFQoXiAUK2nzg=
  153. on:
  154. tags: true
  155. branch: master
  156. - stage: deploy
  157. language: node_js
  158. name: Deploy lesspass-render-password
  159. node_js:
  160. - lts/*
  161. script: skip
  162. before_deploy: cd packages/lesspass-render-password
  163. deploy:
  164. provider: npm
  165. email: guillaume@oslab.fr
  166. api_key:
  167. secure: rD1rs7QEA7IX8erpnJStx2AKhS8DpzvFxCA/jw/t9cx40Hk29jTVq1h22Sr6Gitm169cH9/sFzZEqera64w/sC7tsLimf/3aQhx8ia0y8taNxVw6nQTRYhvJazhOEnPEN0hZV8cW12yAUWNjjU19xokJsmbaT9ICVy7LNoRhRubpPO58ICkn8A6fBaz49i+Q/WXAdzdpH5nvu0ffz5Vm2QXD5BC6MZcBn3NQX8sDftUK1lqUNuSJIppTR6cUuZW+RluuiajssxYT7LX5BUgW4vTgf1CcPJ5AlI2JLeytphOc7xEwJBk72vO9eLXQZ8CiSwHCYcz9QGDbPke1xfmlqBwjN/FaCLSk7fi1zEMLbDy0K8b26KUqlOaulPX2hjWsBzfX1TykrusqDxYZ72tIWe2GHPsLGQPEkmhUHlUSPaIMDkYIPydLcvLwS8YObThShCvG6AVmSR3v/25SM3pfb98AtLuKLieTq5kQFOog1HRqLjDZ4CdXFhxzLfoQb9+tXYC/cKsyD4GqVL6CQlfERhKUDMwSu284/6g6pqdVvZ7rzE7oiXgyO9PM+T9vA/j4UeNTahANbSx28AQrWa3n5EQHNOHMSAxv4rnpyDYUTUBrlTKYAUTHSvenKgBr9BKnGjJ4Oa+1jMpjgzw+BJT8smhJTVSQr5XFQoXiAUK2nzg=
  168. on:
  169. tags: true
  170. branch: master
  171. - stage: deploy
  172. language: generic
  173. name: Deploy containers
  174. dist: xenial
  175. sudo: required
  176. script: skip
  177. before_deploy:
  178. - sudo add-apt-repository -y ppa:projectatomic/ppa
  179. - sudo apt-get update -y
  180. - sudo apt-get install -y podman
  181. - sudo mkdir -p /etc/containers
  182. - sudo curl https://raw.githubusercontent.com/projectatomic/registries/master/registries.fedora -o /etc/containers/registries.conf
  183. - cd containers
  184. deploy:
  185. provider: script
  186. script: bash ./deploy
  187. - stage: deploy
  188. language: node_js
  189. name: Deploy web extensions
  190. node_js:
  191. - lts/*
  192. cache:
  193. yarn: true
  194. before_install:
  195. - curl -o- -L https://yarnpkg.com/install.sh | bash
  196. - export PATH=$HOME/.yarn/bin:$PATH
  197. install:
  198. - yarn install
  199. script:
  200. - ./bin/build_web_extensions
  201. - git diff-index --quiet HEAD
  202. - yarn workspace lesspass-web-extension run release
  203. stages:
  204. - name: test
  205. - name: deploy
  206. if: tag IS present