[devel] I: gyle --test-only by default

Dmitry V. Levin ldv на altlinux.org
Ср Мар 20 15:57:24 MSK 2019


On Wed, Mar 20, 2019 at 12:18:15PM +0300, Alexey V. Vissarionov wrote:
> On 2019-03-20 00:42:25 +0300, Dmitry V. Levin wrote:
>  >> Например, в данном случае достаточно было полностью разделить
>  >> два действия - build $repo $tag и commit $task - так, чтобы
>  >> результатом первого являлся набор бинарных пакетов (ну, или
>  >> внятная диагностика того, почему они не были собраны), а
>  >> результатом второго появление этих пакетов в репозитарии.
>  >> Все. Неужели это так сложно?
>  > В реализации они так и разделены, но в пользовательском
>  > интерфейсе такое разделение неудобно, а удобно другое: собрать
>  > задание, но не коммитить vs собрать задание и закоммитить.
> 
> Неправильно. Удобно немного по-другому - когда есть возможность:
> 1. Собрать (build --test-only).
> 2. Отправить в репу собранное (сейчас для этого используется task
> run, а лучше было бы сделать команду commit).
> 3. Собрать и попробовать отправить в репу (хорошо бы назвать это
> действие build --commit).
> 
> Меня в свое время учили проектированию интерфейсов (пусть даже на
> примере органов управления), ага :-) Кстати, единственный реально
> существующий орган управления, выполняющий одновременно две функции -
> это ручка "шаг-газ" в вертолете (да и то на ней есть корректор газа,
> который делает эту связку не такой жесткой).
> 
> Еще было бы очень полезно, чтобы команда build выдавала номер
> задания точно так же, как task new - в stdout. А все остальное -
> соответственно, в stderr.
> 
> В общем, оптимальный по эргономике вариант видится мне примерно так:
> 
> set task=`ssh build.alt build $repo $tag`
> тестируем - лопухнулись, исправляем
> set task=`ssh build.alt build $repo $tag`
> опять тестируем - порядок
> ssh build.alt commit $task
> 
> Или, в самых простых случаях:
> 
> ssh build.alt build --commit $repo $tag

Что касается UI, то у нас есть более высокоуровневая операция build
и пачка менее высокоуровневых операций task cmd, где cmd это new, add,
run, и т.д., причём build реализована поверх task.

С точки зрения UI несложно завести операцию commit, которая будет
реализована как task run --commit, если на это есть спрос.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 801 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20190320/2fdbc3a7/attachment.bin>


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