.gitlab-ci.yml 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. ---
  2. .template: &template
  3. except:
  4. - deploy@ftp-team/dak
  5. test bullseye:
  6. <<: *template
  7. image: debian:bullseye
  8. parallel: 3
  9. script: debian/run-ci --with-coverage
  10. artifacts:
  11. paths:
  12. - output
  13. test bookworm:
  14. <<: *template
  15. image: debian:bookworm
  16. parallel: 3
  17. script: debian/run-ci --with-coverage
  18. artifacts:
  19. paths:
  20. - output
  21. allow_failure: true
  22. flake8:
  23. <<: *template
  24. image: debian:bullseye
  25. script:
  26. - apt-get update
  27. - apt-get install -y flake8
  28. - flake8
  29. get coverage:
  30. <<: *template
  31. image: debian:bullseye
  32. stage: coverage
  33. dependencies:
  34. - test bullseye
  35. script:
  36. - debian/run-coverage
  37. artifacts:
  38. paths:
  39. - coverage
  40. - logs
  41. sphinx:
  42. image: debian:bookworm
  43. script:
  44. - apt-get update
  45. - apt-get install -y build-essential python3-sphinx
  46. - apt-get build-dep -y .
  47. - make -C docs html
  48. artifacts:
  49. paths:
  50. - docs/_build/html
  51. except:
  52. - deploy@ftp-team/dak
  53. contributors:
  54. image: debian:bullseye
  55. stage: deploy
  56. dependencies: []
  57. script:
  58. - apt update && apt install -y git python3-debiancontributors
  59. - dc-tool --mine config/debian/contributor.patch --auth-token "@$DC_TOKEN" --source ftp.debian.org --post
  60. allow_failure: true
  61. only:
  62. - master@ftp-team/dak
  63. pages:
  64. image: debian:buster
  65. script:
  66. - apt-get update
  67. - apt-get install -y python-epydoc
  68. - mkdir -p public/epydoc
  69. - epydoc -q --html --graph all --css white -n DAK -o public/epydoc --include-log --show-imports dak daklib dakweb
  70. - mv coverage public/coverage
  71. - mv docs/_build/html public/docs
  72. stage: deploy
  73. dependencies:
  74. - get coverage
  75. - sphinx
  76. artifacts:
  77. paths:
  78. - public
  79. only:
  80. - master
  81. stages:
  82. - test
  83. - coverage
  84. - deploy