Summary: | Add option --keep-going to continue build even with errors | ||
---|---|---|---|
Product: | Infrastructure | Reporter: | Vitaly Chikunov <vt> |
Component: | girar | Assignee: | placeholder <placeholder> |
Status: | NEW --- | QA Contact: | Andrey Cherepanov <cas> |
Severity: | normal | ||
Priority: | P5 | CC: | 3aHyga, glebfm, grenka, iv, ldv, manowar, rider, zerg |
Version: | unspecified | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
See Also: |
https://bugzilla.altlinux.org/show_bug.cgi?id=42608 https://bugzilla.altlinux.org/show_bug.cgi?id=26711 |
Description
Vitaly Chikunov
2022-04-22 16:33:09 MSK
Есть же --swift Точнее, уже --hurry "Hurry включает режим swift, в котором сборочница считает, что если пакет был хоть раз собран, то no need to rebuild." На сколько я понял из с Глебом сейчас другого варианта продолжения сборки кроме удаления failed subtasks нет. Поддерживаю. Я когда-то себе написал скрипт, который каждые n секунд рсинкает events.M.1.log, грепает ключевую фразу task #****** for sisyphus FAILED и если получилось, грепает какой сабтаск свалился, удаляет его, повышает счётчик M и запускает таск снова. Можно заодно рсинкать и логи фейлов. да, я бы тоже не отказался от такой опции. Потом было бы удобно удалить из задания упавшие подзадания, добавить их в конец и запустить заново. А я бы ещё при этом делал репозиторий независимо от результатов сборки, чтобы можно было сразу же работать над оставшимися пакетами. Ведь те, что собрались, зачастую нужны для сборки остальных. keep_going это очень круто; когда-то я сделал такой флаг для sisyphus_mipsel и sisyphus_riscv64. Для sisyphus_loongarch64 реализация выглядит так: https://git.altlinux.org/people/iv/packages/girar.git?a=commitdiff;h=af466d56756672c15a13e8da0a2392a923cc363c (в этом коммите нет интерфейса для пользователей). Очень помогает при массовых пересборках и приезжающих из основного Сизифа огромных таксках. (In reply to Sergey V Turchin from comment #6) > А я бы ещё при этом делал репозиторий независимо от результатов сборки, > чтобы можно было сразу же работать над оставшимися пакетами. +1, можно было бы подключить таску к хешеру и чинить то, что там не собралось. Но это кажется темой отдельной баги. Такая есть? (Ответ для Ivan A. Melnikov на комментарий #8) > > А я бы ещё при этом делал репозиторий независимо от результатов сборки, > > чтобы можно было сразу же работать над оставшимися пакетами. > +1, можно было бы подключить таску к хешеру и чинить то, что там не > собралось. Но это кажется темой отдельной баги. Такая есть? Да, полно: #26711 #33069 #39850 #51923 (Ответ для Vitaly Chikunov на комментарий #0) > Currently --fail-late stops build on architecture where previously build > failure occurred. > > Please add option, like --keep-going, to continue build all subtasks even if > other tasks are failed. > > This will be useful to build new major kernel versions with many external > modules (for example, we have 42 packages for std-def) > - Failed tasks not need to be deleted to continue build - thus, their build > logs can be inspected later (when we announce build of new kernel); > - There will be no need to delete sub-task and re-run task to continue test > build multiple times after each failure (I think I did this >10 times and > this took whole day of real time). Какъ врѣменное рѣшеніе могу предложить чѣмъ самъ большуюсь врѣменами. https://github.com/majioa/rebuild |