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

ajratma ajratma на basealt.ru
Пт Ноя 1 23:56:04 MSK 2024


01.11.2024 22:26, Paul Wolneykien пишет:

> В Fri, 1 Nov 2024 22:11:17 +0300
> Paul Wolneykien <manowar на altlinux.org> пишет:
>
>> В 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.
>    Хотя нет, не только в этом. N2 должно начать собираться в этом
> случае по достижению N1 состояния TESTED, а не DONE, как сейчас
> для deps.
>
>
>> Опция --temporary
>> аналогична --test-only, но с той разницей, что после коммита
>> N2 в репозиторий, N1 автоматически удаляется.
>>
>>    Мне кажется, что доступность репозитория задания для другого
>> задания сделать, всё же, легче, чем доступность сабтасков друг
>> для друга.

Доступность сабтасков реализована уже сейчас: сабтаски более высокого 
номера при наличии сборочной зависимости уже имеют в сборочном окружении 
сабтаски более низкого номера. Я предлагаю вообще не добавлять новые 
опции: все сабтаски пакета, которые по этому пакету не имеют 
максимальный номер, будут являться промежуточными и не попадут в 
репозиторий.

>>
>>> Кстати, если дать таким цепочкам имена, возможно, мы получим
>>> очередной подход к карманам.
>> _______________________________________________
>> Devel mailing list
>> Devel на lists.altlinux.org
>> https://lists.altlinux.org/mailman/listinfo/devel
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel


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