[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