jenkins-env.groovy 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. mail_to = "d.telenkov@b-i-systems.ru" // Кого оповещать всегда при любой сборке или неудаче (разработчики)
  2. rc_mail_to = "s.lysikov@b-i-systems.ru" // Кого дополнительно оповещать при выходе релиз-кандидата (тестировщики)
  3. release_mail_to = "a.kolyaskin@labinsys.ru, i.garipov@labinsys.ru" // Кого дополнительно оповещать при релизе (производство, ГИП, менеджеры и т.п.)
  4. // Папка в хранилище, в которую нужно публиковать артефакты.
  5. // Состоит из типа артефактов (firmware, docker и т.д.)
  6. // названия семейства продуктов ('EPU', 'bt67xx', 'Modem' и т.п.)
  7. // и названия самого репозитория
  8. targetFolder = "firmware/BT-67xx/bt67xx_universal_hw/"
  9. // Папка с артефактами сборки
  10. // Если сборка из данной ветки производится для нескольких устройств,
  11. // то артефакты при сборке должны помещаться в подпапки
  12. // c именами устройств (например output/device1/device1.bin)
  13. outputFolder = "output_all/"
  14. // Больше не используется
  15. //fwRegex = "BT_67*xx.bin" // Какие файлы публиковать при релизе основного ПО
  16. //mibRegex = "*.MIB" // Какие MIB-файлы сохранять при релизе
  17. //serviceRegex = "BT_*service.bin" // Какие файлы публиковать при релизе сервисного ПО
  18. //bootloaderRegex = "iap.bin" // Какие файлы публиковать при релизе загрузчика
  19. //changelogFileName = "Changelog.md" // Имя файла с историей релизов ПО
  20. // Скрипт с инструкцией для сборки ПО, например "make" или "make preconfig && make".
  21. // Так же в скрипте необходимо скопировать MIB файлы в папку ${outputPath}
  22. // Если сборка производится для нескольких устройств - MIB файлы должны лежать в подпапках устрйоств
  23. makeScript = """\
  24. make HARDWARE=bt6703 VERBOSE=1 DEBUG=0 PRINTF=custom MAC=EC-4C-4D-00-80-0A || true
  25. make distclean
  26. make HARDWARE=bt6703 VERBOSE=1 DEBUG=0 PRINTF=custom MAC=EC-4C-4D-00-80-0A
  27. mkdir -p ./output_all/bt6703/
  28. rm ./output/stm32* ./output/cortex_crc
  29. cp ./output/* ./output_all/bt6703/
  30. cp ./docs/bt6703/*.MIB ./output_all/bt6703/
  31. cp ./docs/bt6703/Changelog.md ./output_all/bt6703/
  32. make distclean
  33. make HARDWARE=bt6703_rt VERBOSE=1 DEBUG=0 PRINTF=custom MAC=EC-4C-4D-00-81-0A
  34. mkdir -p ./output_all/bt6703-rt/
  35. rm ./output/stm32* ./output/cortex_crc
  36. cp ./output/* ./output_all/bt6703-rt/
  37. cp ./docs/bt6703_rt/*.MIB ./output_all/bt6703-rt/
  38. cp ./docs/bt6703_rt/Changelog.md ./output_all/bt6703-rt/
  39. make distclean
  40. make HARDWARE=bt6707 VERBOSE=1 DEBUG=0 PRINTF=custom MAC=EC-4C-4D-00-83-0A
  41. mkdir -p ./output_all/bt6707/
  42. rm ./output/stm32* ./output/cortex_crc
  43. cp ./output/* ./output_all/bt6707/
  44. cp ./docs/bt6707/*.MIB ./output_all/bt6707/
  45. cp ./docs/bt6707/Changelog.md ./output_all/bt6707/
  46. make distclean
  47. make HARDWARE=bt6709 VERBOSE=1 DEBUG=0 PRINTF=custom MAC=EC-4C-4D-00-93-DA
  48. mkdir -p ./output_all/bt6709/
  49. rm ./output/stm32* ./output/cortex_crc
  50. cp ./output/* ./output_all/bt6709/
  51. cp ./docs/bt6709/*.MIB ./output_all/bt6709/
  52. cp ./docs/bt6709/Changelog.md ./output_all/bt6709/
  53. make distclean
  54. make HARDWARE=bt6709_mts VERBOSE=1 DEBUG=0 PRINTF=custom MAC=EC-4C-4D-00-94-DA
  55. mkdir -p ./output_all/bt6709-mts/
  56. rm ./output/stm32* ./output/cortex_crc
  57. cp ./output/* ./output_all/bt6709-mts/
  58. cp ./docs/bt6709_mts/*.MIB ./output_all/bt6709-mts/
  59. cp ./docs/bt6709_mts/Changelog.md ./output_all/bt6709-mts/
  60. make distclean
  61. make HARDWARE=bt6710 VERBOSE=1 DEBUG=0 PRINTF=custom MAC=EC-4C-4D-00-EE-DA
  62. mkdir -p ./output_all/bt6710/
  63. rm ./output/stm32* ./output/cortex_crc
  64. cp ./output/* ./output_all/bt6710/
  65. cp ./docs/bt6710/*.MIB ./output_all/bt6710/
  66. cp ./docs/bt6710/Changelog.md ./output_all/bt6710/
  67. make distclean
  68. make HARDWARE=bt6711 VERBOSE=1 DEBUG=0 PRINTF=custom MAC=EC-4C-4D-00-EE-DВ
  69. mkdir -p ./output_all/bt6711/
  70. rm ./output/stm32* ./output/cortex_crc
  71. cp ./output/* ./output_all/bt6711/
  72. cp ./docs/bt6711/*.MIB ./output_all/bt6711/
  73. cp ./docs/bt6711/Changelog.md ./output_all/bt6711/
  74. make distclean
  75. make HARDWARE=bt6711_v1 VERBOSE=1 DEBUG=0 PRINTF=custom MAC=EC-4C-4D-00-EE-DC
  76. mkdir -p ./output_all/bt6711-v1/
  77. rm ./output/stm32* ./output/cortex_crc
  78. cp ./output/* ./output_all/bt6711-v1/
  79. cp ./docs/bt6711_v1/*.MIB ./output_all/bt6711-v1/
  80. cp ./docs/bt6711_v1/Changelog.md ./output_all/bt6711-v1/
  81. """
  82. /// Следующие два параметра уточнить у ответственного тестировщика
  83. testType = "robot" // Тип тестов. По сути указывает на задачу Jenkins, в которой запускаются тесты
  84. testTags = "smoke" // Теги, с которыми запускаются тесты. Определяют, какие наборы тестов будут запущены
  85. stopOnTestFail = false // Завершать сборку с ошибкой, если тесты провалены (true - да, false - игнорировать тесты)
  86. // Указывает на имя докер-образа с окружением для сборки.
  87. // Для связи исходного кода данного репозитория с версией образа (окружения) указывать только версионные образы
  88. // Например ":v1" или ":v2.0", нежелательно ссылаться на образ ":latest"
  89. buildenvImage = "stm32-buildenv:v3"
  90. buildenvArgs = "" // только если необходимо для корректной сборки, иначе оставить пустым
  91. // Список устройств, для которых компилируется данный код (только тукущая ветка, не весь репозиторий).
  92. // При сборке релиза проверяется, что устройство указанное в теге состоит в этом множестве.
  93. // Синтаксис: groovy list
  94. devices = ['bt6703', 'bt6703-rt', 'bt6707', 'bt6709', 'bt6709-mts', 'bt6710', 'bt6711', 'bt6711-v1']