Перейти к содержанию
    

Continuous integration в проектах на ПЛИС

1 hour ago, syoma said:

 

Действительно для CI, тогда наверное такое не подходит, но по идее если сборка занимает больше заданного времени - ее надо тупо обрывать и говорить, что это фейл. 

Для ci комфортно - чтобы тесты проходили минут за 10 (не вся регрессия, разумеется). Иначе, стоит попробовать другие подходы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У нас сборки в CI (дженкинс) используются в основном для того, чтобы убедиться, что в реп лёг правильный целостный проект, что он собирается с нуля, там всего хватает. Потому как собираемость на локальной рабочей станции разработчика не означает, что в репозиторий попадает всё, что нужно - каких-нибудь библиотек может не хватает или настроек, которые есть в локальном контексте, но не попадают в реп проекта. И если в CI собрался без ошибок, то всё гуд. Но все вопросы с функциональной целостностью, таймингами и прочим - это всё добивается самим разработчиком в своём локальном окружении. Включая и тестирование в симуляторе и железе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мы планируем на gitlab разворачиваться, но суть в другом...
Предполагается концепция, что каждая сборка должна разворачиваться с чистого листа, на чистой виртуалке. Сразу возник вопрос, можно ли из 100 ГГб Витиса/Вивады вытащить нечто маленькое, что занимается непосредственно сборкой/синтезом/имплементацией. К примеру положить ./vivado и ./xsim в пакет .deb и ими прожевать весь проект. В общем отсечь всё, что нужно для gui и оставить только то, что надо для batch-mode. Это вообще возможно? Или всё делается по-другому?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смотря что у вас за продукт. Разворачивание с нуля делается, чтобы избежать неявных зависимостей от библиотек, переменных среды и т.п. Например, ваш продукт - это какой-нибудь сайт интернет-магазина, и совсем не нужно, чтобы система оплаты отвалилась, потому что у условного Сидорыча, который проверку делает, запускается "волшебный" скриптик, который заставляет программу работать, и этого волшебного скриптика ни у кого больше нет. Или того хуже, - каждый раз происходит головная боль с тем, чтобы настроить рабочие сервера.

Если же у вас продукт другого типа, то не ясно, зачем делать это каждый раз. Более того, большие RTL проекты даже не компилируются лишний раз без нужды, и все запуски тестов делаются на одном и том же snapshot'е. Периодически, при выпуске релиза, можно, конечно, весь маршрут развернуть с нуля, но в этом случае нет нужды экономить десяток минут на развёртывание с GUI/без GUI, даже если такая возможность имеется.

Изменено пользователем one_eight_seven

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...