[devel] Промежуточные сабтаски в сборочных заданиях

Paul Wolneykien manowar на altlinux.org
Пт Ноя 1 22:11:17 MSK 2024


В Fri, 1 Nov 2024 22:31:59 +0400
"Ivan A. Melnikov" <iv на altlinux.org> пишет:

> On Fri, Nov 01, 2024 at 06:46:08PM GMT, Ajrat Makhmutov wrote:
> > Привет всем! Предлагаю добавить новый формат сабтасков: промежуточные
> > сабтаски.
> >   
> [...]
> > Такое изменение значительно упростит поддержание и отправку в стабильные
> > репозитории пакеты, которые зависят от себя же, и пакеты с кольцевыми
> > зависимостями.  
> 
> Действительно, тут есть некое противоречие: регламент обновления
> стабильной ветки предполагает определённую целостность и ценность
> результата сборки для каждой таски, а в случае бутстрапа это
> не всегда так.
> 
> > Ответ от @glebfm: "Но мой пойнт в целом в том, что это большой хак, который
> > к тому же предполагает сильное переписывание сборочницы".  
> 
> Может, возможно подойти к вопросу с другой стороны: не запихивать
> все промежуточные этапы в одну задачу, а выстраивать цепочки
> зависимых задач, способных использовать результаты сборки
> друг друга, и закоммититься только всей пачкой (т.е. либо
> все задачи из такой цепочки, либо ниодной)?

  Насколько я понял, Айрат же как раз хочет только последний
результат, _без_ промежуточных. А цепочки тасков у нас и так есть,
только без возможности использования тасков в сборочных окружениях.
Если последнее реализовать, то тогда можно было бы сказать:

  $ ssh girar task new
  $ ssh girar task add N1 rust1
  $ ssh girar task run N1 --temporary

  $ ssh girar task new
  $ ssh girar task add N2 rust2
  $ ssh girar task uses N2 add N1
  $ ssh girar task run N2 --commit

  Причём, uses аналогично deps но дополнительно ещё и делает
репозиторий N1 доступным для задания N2. Опция --temporary
аналогична --test-only, но с той разницей, что после коммита
N2 в репозиторий, N1 автоматически удаляется.

  Мне кажется, что доступность репозитория задания для другого
задания сделать, всё же, легче, чем доступность сабтасков друг
для друга.


> Кстати, если дать таким цепочкам имена, возможно, мы получим
> очередной подход к карманам.


Подробная информация о списке рассылки Devel