[sisyphus] [POLICY] Sisyphus - альфа, бета, гамма

Denis Smirnov =?iso-8859-1?q?mithraen_=CE=C1_freesource=2Einfo?=
Ср Янв 28 18:30:52 MSK 2004


On Wed, Jan 28, 2004 at 01:45:19PM +0300, info wrote:

 > Итак, целеполагание.
 > В чем цель Сизифа и смысл его существования? На мой взгляд - в 
 > том, чтобы отлавливать всевозможные ошибки в новых версиях 
 > пакетов на их пути в стабильный дистрибутив. 
 
Я хочу сразу ввести дополнительный вопрос -- для кого смысл? Для меня
смысл Сизифа никак не в Мастере, я мечтаю что когда-нибудь выйдет Castle,
и тогда Мастер _лично мне_ будет малоинтересен. Сегодня он мне тоже
малоинтересен (хотя сразу по выходу коробочка, видимо, будет куплена, а
возможно и не только для себя).

А вот "дистрибутив команды ALTLinux от 28 января 2004г" мне может быть
нужен и интересен.
 
 > Развлечение, удовлетворение амбиций программистов, все что 
 > угодно...

... или просто реальная работа, акцентированая не только на коробочку.
 
 > Итак, повторяю: конечный результат работы над Сизифом  - скажем 
 > так,  pre-Master. Который может быть оформлен в очередной 
 > Master x.x тогда, когда это сочтет руководство ALT.

Вот с этим полностью согласен. Результат, который позволит формировать
коробочку тогда, когда это понадобится ALT, а не тогда, когда будет
"техническая возможность" выпустить качественный продукт, это полезный
результат.
 
 > Вот это и есть целеполагание: цель Сизифа -> pre-Master.

Моя формулировка: цель Сизифа -> дистрибутив GNU/Linux. Какой именно и в
какой момент времени другой вопрос. В том числе я хочу иметь возможность
на базе Сизифа в любой момент делать спецдистрибутивы для конкретных задач
(роутеры на флешке, live cd, терминалы, специализированые рабочие места,
всё что угодно ещё), при этом не занимаясь тем, в чём я не специалист
(хоть меня убейте, но я не знаю какие патчи и в каком порядке надо
накладывать на нынешнее ядро, и, что самое интересное, знать не слишком-то
и хочу, мне проще спек поправить и собрать то, что мне надо).
 
 > Она достигается путем тестирования новых пакетов, поиска и 
 > исправления в них самых разнообразных ошибок. И только! А 
 > улучшение функциональности самих пакетов, удобства пользования 
 > ими, и т.д., и т.п. - это задача разработки пакетов, и к работе 
 > над Сизифом она не имеет никакого отношения.

Согласен.
 
 > Какое бывает тестирование? Вообще-то, двух видов - "системное" и 
 > "пользовательское". 
 > При системном тестировании проверяются зависимости, 
 > устанавливаемость, запускаемость, взаимодействие с другими 
 > пакетами и пр. То есть, решается подзадача - чтобы данное 
 > приложение без проблем устанавливалось и запускалось.

... и этот этап практически полностью автоматизируется.
 
 > При пользовательском тестировании проверяются приложения в 
 > работе. То есть, решается подзадача - чтобы данное приложение 
 > выполняло те функции, которые в нем заявлены.

... а вот это, де факто, не автоматизируется, и для этого, фактически, и
существует сизиф.
 
 > Системное тестирование проводят программисты - прежде всего, 
 > упаковщики.

Скрипты они надёжнее :)
 
 > Пользовательское тестирование проводят те "продвинутые 
 > пользователи" и "пионэры", которые рискуют использовать новые 
 > версии пакетов для решения своих пользовательских задач, и на 
 > своей шкуре вылавливают ошибки в функциональности.

...а также сами девелоперы.
 
 > Отсюда же, кстати, разные требования к соотношению 
 > динамика/стабильность. Для системного тестирования крен должен 
 > быть в сторону динамики за счет стабильности, для 
 > пользовательского тестирования - наоборот.

В общем и целом -- да.
 
 > Отсюда получаем следующее - предлагаю использовать общепринятую 
 > терминологию при тестировании (альфа, бета и т.д.)
 > Альфа-сизиф. 
 > Предназначение: системное тестирование. 
 > Кто пользуется: паковщики и разработчики.
 > Фактически нынешний сизиф, но с четким разделением на "периоды 
 > жизни", или фазы:
 >  - incoming (~ 2 дня) - принимаются любые свежие пакеты
 >  - systesting (~ 3 дня) - упаковщики обновляют cвои машины до 
 > состояния на конец фазы incoming, проверяют устанавливаемость, 
 > запускаемость и пр., если надо - списываются друг с другом, 
 > фиксят ошибки и пр.
 >  - fixing (~ 1 день) - принимаются только пофиксенные пакеты, 
 > исправляющие ошибки, замеченные на фазе systesting.
 >  - frozen (~ 1 день) - не принимается вообще ничего; фаза 
 > предназначена для того, чтобы упаковщики могли обновить свои 
 > машины и далее собирать пакеты в гарантированно одинаковом 
 > окружении.

Вот как раз в _альфа_ сизифе, IMHO, никаких ограничений быть и не должно.
Он должен быть даже бОльшей помойкой чем нынешний Сизиф. В идеале он даже
через incominger'а проходить не должен, если отправивший пакет и последний
сделавший модификацию один и тот же человек. Серия автоматических тестов
(типа sisyphus_check) -- и вперёд и с песней.

Предлагаемая мною последовательность:

"Chaos" -- там есть всё, или почти всё. Гарантируется лишь прохождение
элементарных проверок и собираемость на самом последнем сизифе.
Автоматические тесты _предлагают_ incominger'у перенос пакета по
прошествию некоторого (очень маленького, максимум рабочий день) времени.
Если incominger даёт добро, то пакет уходит в Сизиф. Если incominger в
течении 1 рабочего дня игнорирует это предложение, то пакет уходит в сизиф.

"Incoming" -- почти то, что сейчас Сизиф, за исключением того, что заведомо
ломающие зависимости изменения в него не пройдут. Он уже тогда альфа-сизиф
в вашей терминологии, который используется разработчиками.

"Sisyphus" -- а вот это уже то, что прошло тестирование в Incoming, и
более-менее пригодно для установки на пользовательские рабочие машины.

Соответственно перед выходом Мастера делается отдельная ветка Сизифа, в
которой и тестируется Мастер (как это и делается сейчас).

 > Вот такая очередная схемка на обсуждение. Комментарии???

Всё, конечно, хорошо, но не учитывается всего лишь один факт -- любая
попытка "построить" мантейнеров снижает их мотивацию. Каждое лишнее
телодвижение, необхоимое мантейнеру уменьшает количество мантейнеров.
 
Поэтому любая система, которая требует от мантейнера определённых
действий, привязаных к определённым дням недели обречена.

-- 
С уважением, Денис

http://freesource.info




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