[devel] про автоматическое и ручное тестирование пакетов
Michael Shigorin
mike на osdn.org.ua
Вт Июн 16 14:36:11 MSD 2009
содержание
~~~~~~~~~~
* mithraen, sin: в [[Pockets]] допишите, чтоб не по архивам
* ldv: это всё твоя гениальная идея ;)
* rider: ...плюс нотификация всей страны
* legion: а давай попробуем у себя?
* sin, at: и новички с peer review сюда же
* sin: о маргинальности
* mithraen: распределённость и A&A; ресурсы; усложнение ли
* ldv: о значимости преимуществ
On Tue, Jun 16, 2009 at 04:00:55AM +0400, Dmitry V. Levin wrote:
> > Разумеется. Тут ты прав. Ничто не мешает тестировать свои
> > сборки отдельно.
Просто дальше возникает следующий вопрос: зачем мучиться их
куда-то вливать?
> > Насколько я помню, когда-то цель git.alt была помощь в
> > совместной разработке.
> Хостинг git-репозиториев подразумевает и помощь в совместной
> разработке (в т.ч. подписка на уведомления об изменениях).
> Да и сборка пакетов (в т.ч. shared tasks) тоже.
Вот и при централизованном кармановодстве это всё заметно проще
в реализации, насколько понимаю. Т.е. для совсем распределённой
системы, скорее всего, сразу потребуется распределённая
аутентификация и авторизация.
> > Так вот и "карманы" нужны для упрощения работы разработчиков Сизифа.
> В этом вся соль. Прийти бы к взаимопониманию, какие карманы
> какой формы нужны
По части формы -- просьба к понявшим, чего им-то надо,
фиксировать здесь: http://www.altlinux.org/Pockets
(перетащил список свойств из Contrib).
2 mithraen, sin: и вы тоже :)
> кто их реализует и внедрит.
Я берусь помочь с тестированием реализации (и, возможно, смогу
помочь с кодом, но пока не строил и не вычитывал подобные
системы, сложно сказать). Если вдруг будет удобно получаться
и распределённость, то есть некоторые ресурсы, которые возможно
подключить к сборке (вероятно, это было бы удобней всего киевской
части команды, для которой уже года два как надеюсь сделать здесь
сборочный сервер).
Проверять у меня точно можно. Как вот и alt.linux.kiev.ua был.
Дим, вообще это всё твоя идея, она тебе уже приходила в голову:
http://lists.altlinux.org/pipermail/devel/2008-July/157594.html
:)
On Tue, Jun 16, 2009 at 10:47:06AM +0400, Anton Farygin wrote:
> я бы стал пользоваться "карманами", в которых будут собираться
> новые версии пакетов, и которые пока нестабильны для попадания
> в центральный репозиторий.
Или "уже работает для меня", но лучше погонять подготовленным
составом перед вываливанием и на не ожидающий.
По крайней мере попытка поддержки и отслеживания Sisyphus changes
скорее заглохла, причём не в последнюю очередь из-за обычного
"так что ж вы, даже в changes не читали? -- нет..."
> usecase примерно таков:
> мейнтейнер xorg делает shared "карман" xorg-2.0
> дальше все операции типа task и build принимают в виде опции
> имя кармана. другие мейнтенеры так-же имеют возможность
> создать подобный task, результат которого попадёт в карман
> xorg-2.0.
Здесь не совсем понятна степень публичности карманов по записи
в пределах команды, но это можно или посмотреть на практике,
или предполагать возможность переключения изначально.
> Собранные пакеты попадают в отдельный репозиторий, который можно
> подключить к apt'у и поставить из него всю бороду пакетов.
Здесь есть очень важный момент: в отличие от Daedalus и более
близко к одному из вариантов использования people, обновление
и тестирование получается _узконаправленным_. Т.е. нет опасения,
что забыв карман xorg-2.0 подключенным, ты получишь из него
firefox-4.0. С дедалом такое было возможно, сам разок нарвался.
При этом у people исключительно ручная нотификация, а также
затруднения с совместной работой (мне известен один прецедент
обратного -- /people/gnome/ -- и неизвестна цена его создания).
Мне уже это отличие от тестирования изменений всего используемого
подмножества Sisyphus сразу _и_ от текущего неструктурированного
people кажется достаточным обоснованием для по крайней мере
компактного эксперимента -- другое дело, кто найдёт на него время.
> Перенос (пересборка) пакетов на сизиф из кармана осуществляется
> одной командой task merge. В этом случае все пакеты из кармана
> собираются на сизифе в том порядке, в котором они были собраны
> в кармане (в случае, если в сизиф ещё не вброшена более новая
> версия, естественно).
Здесь может быть казус, если эта новая версия что-то сломала
в кармане, но IMHO вполне обрабатывабельно как exception:
ну не собрался перед мержем на Sisyphus+pocket, ну просигналили
и пусть люди думают, у них это по крайней мере получается.
> Т.е. - по сути - это не карманы, а варианты
а-ля гитовых?
> бранчей для кусочка репозитория. Такой продвинутый вариант дедала.
fine-grained.
Кстати, да -- у нас сейчас получается CVS со всеми прелестями
merge conflict'ов и HEAD, выданным на откуп сотне с лишним
коммиттеров (вместо release engineer aka keeper), а предлагается
git с topic branch'ами, которые мержатся "когда готово", а не
"побыстрее".
> Ответы на вопросы "кто реализует" и "кто внедрит",
> я, к сожалению - не знаю...
Лёш, а ты бы взялся за код? Просто из всех уже желающих
подобного в системы сборки только ты вникал, насколько понимаю
(хотя viy@ и sin@ тоже подходили к снаряду, а я когда-то читал
incominger-code, но это было давно и неправда).
Требовать не могу, сам понимаешь, но спрашиваю -- загрузка-то
по работе понятна.
On Tue, Jun 16, 2009 at 03:30:05AM +0400, Alexey Gladkov wrote:
> Я не верю, что столь очевидные примеры, не приходили тебе в голову.
Вот и мне кажется, что роботы вызвали неоправданную эйфорию.
Вплоть до перевеса в приоритете по ресурсам над людьми.
> Многие сложные интерактивные (хотя бы) программы легче
> отлаживать и притирать друг к другу не включая в HEAD сизифа.
> Ибо эта работа требует времени и промежуточных результатов для
> тестирования.
_И_ в случае подсистем или того же fx+extensions --
координированной работы нескольких человек.
On Tue, Jun 16, 2009 at 04:19:02AM +0400, Alexey Gladkov wrote:
> > При этом ты выкладываешь сборки firefox в people и даёшь ни
> > них ссылки.
> Именно. Но в эти репозитории не могут собирать другие
> и перекладывать пакеты из них в сизиф неудобно.
И следить за ними -- тоже.
> > Вопрос в том, "карманы" какой формы подойдут тебе и
> > пользователям пакетов, которые ты собираешь, больше, чем
> > репозитории в people.
> То что подойдёт всем уже выясняется некоторое время во многих тредах.
При этом один из основных вопросов -- вообще есть желание слышать
или нет. Потому как можно хором убеждать, что нужно, но не убедить.
On Tue, Jun 16, 2009 at 04:15:00AM +0400, Evgeny Sinelnikov wrote:
> > Есть другие соображения на эту тему?
> Кроме того, текущая модель, не даёт возможности делать "мягкие"
> bootstrap'ы. Сейчас это всегда волевое решение.
Угу, причём и для простых случаев вроде смены soname мороки
получается многовато.
> - средство для оценки и самооценки результатов сборок новичков.
> Дело в том, что ни один новичок с ходу, скорее всего, не
> придумает куда ему выкладывать свои предварительные наработки.
> Таким образом он вынужден долго топтаться на месте, вместо того
> чтобы получить грамотную оценку своих результатов у коллег из
> Team.
Мало того, как смотреть в глаза интересным людям в community@
и sisyphus@, которых приглашаешь сюда, а здесь им презрительно
кидают "неудачник"? Действительно, идея at@ про peer review
технически более удобореализуема при помощи обособленных репо
без того, чтобы "позориться" в сизифе.
> - возможность конкуренции и параллельных сборок в команде не
> приводящая к конфликтам, а позволяющая вести технические споры
> на техническом поле.
Это одно из главных; удивлён, что Дима не заметил(?) письма ab@:
http://lists.altlinux.org/pipermail/sisyphus/2009-May/339495.html
> И да... всё это можно делать отдельно на своей какой-то базе...
> Но от этого, мне кажется пропадает какое-то единство при работе
> в команде... Я ведь могу попытаться сделать описанное и на
> git.etersoft.ru. Но вы ведь сами понимаете, что это будет
> маргинальный ресурс.
Ну этого как раз не стоит бояться, alt.linux.kiev.ua тоже был
некоторое время маргинальным ресурсом, как и некоторые рассылки
на lists.osdn.org.ua. Главное, хоть что-то пригодилось и пошло
дальше (sisyphus.ru, sysadmins@).
On Tue, Jun 16, 2009 at 07:37:23AM +0400, Денис Смирнов wrote:
> DVL> Я на данный момент не вижу, в чём заключается значимое преимущество
> DVL> централизованных "карманов" для предварительного тестирования, о которых
> DVL> так много говорят последнее время, над распределёнными "карманами", которые
> DVL> каждый может устроить где угодно при наличии соответствующих ресурсов.
> DVL> Могу лишь предположить:
> 1. Затраты времени на создание этих распределенных карманов. То
> есть это означает необходимость каждому поднимать у себя girar,
Даже если не каждому, а сделать стопку таких точек -- я не очень
себе представляю авторизацию на них без ещё одного кусочка
инфраструктуры вроде ldap.altlinux.org с публичными ключами.
> DVL> - доступность (централизованная сборка в среднем более доступна всем
> DVL> заинтересованным);
> Не каждый вообще имеет ресурсы для того чтобы что-то куда-то
> удобно выкладывать. Скажем у меня есть свой сервер на площадке,
> однако у меня пока не было времени развернуть там аналог
> git.alt, да еще и прикрутить туда pocket'ы.
Хотя ты бы тоже скорее всего согласился предоставить часть его
ресурсов, поскольку это было озвучено как один из важных вопросов?
> DVL> - интеграция (централизованный "карман" теоретически должно быть немного
> DVL> легче интегрировать в "материнский" репозиторий);
> Это является наиболее существенным преимуществом. Поясню --
> использоваине pocket'ов само по себе это дополнительное
> усложнение workflow разработки.
Необязательно, если не отменяется и текущий путь. Например,
не вижу смысла усложнять попадание в сизиф "листьев", от которых
ничто не зависит по сборке и в рантайме, в случае несущественных
изменений и уверенности сборщика в достаточности своей проверки.
Вот доберусь обновить man-pages-uk -- так главная проблема с
кодировками будет сразу видна, и покеты не нужны, потому как
в любом разе некритично.
> И если они хорошо интегрированы в git.alt, то будут причины
> _сначала_ собирать в pocket для тестирования, и в последующем
> выполнять перенос. Как минимум было бы важно чтобы этот
> workflow использовался для критичных подсистем -- kernel, xorg.
Угу.
> Да и alterator'у бы не помешал.
alterator/installer -- другое, тут нет внешнего фактора в виде
апстрима и вопрос исключительно в удобстве координации между
собой, когда надо подтянуть стопку разного и хорошо бы выложить
в сизиф одновременно.
> > На данный момент мне эти преимущества не кажутся значимыми.
Ну а мне преимущества git.alt не кажутся значимыми. Серьёзно,
SCM-то можно и локально использовать, а трафик нонче не проблема.
Собственно, потому я этими преимуществами и пользуюсь от случая
к случаю, а не постоянно и исключительно.
> > Грубо говоря, я не вижу, каким образом появления
> > централизованных "карманов" заметно повысит качество
> > предварительного ручного тестирования.
Дим, ты когда-нибудь что-нибудь из people помогал тестировать?
> > Есть другие соображения на эту тему?
> Несмотря на разговоры о карманах в течении нескольких _лет_ я
> пока ни у кого не видел собственной инфраструктуры карманов,
> которую бы он использовал для публикации. Таким образом есть
> основания считать что без появления карманов на git.alt эта
> технология использоваться на практике не будет.
У нас. Повторюсь, в мире и это уже нашло применение, пока у нас
опять всё продумано и на том и встало.
Мне вот в 2005 было досадно, что в Ubuntu очень много _сделали_
продуманного гораздо раньше у нас по части инфраструктуры той же.
Хотя не думаю, что они позаимствовали идеи -- просто уже витало.
> Однако тот факт что некоторые пакеты необходимо публиковать
> до отправки в Сизиф, как мне кажется, очевиден.
Да вот да. Но почему-то не всем. Сам не пойму, почему,
но не думаю, что из вредности.
--
---- WBR, Michael Shigorin <mike на altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
Подробная информация о списке рассылки Devel