<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>42552</bug_id>
          
          <creation_ts>2022-04-22 16:33:09 +0300</creation_ts>
          <short_desc>Add option --keep-going to continue build even with errors</short_desc>
          <delta_ts>2025-02-13 12:38:47 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Infrastructure</classification>
          <product>Infrastructure</product>
          <component>girar</component>
          <version>unspecified</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugzilla.altlinux.org/show_bug.cgi?id=42608</see_also>
    
    <see_also>https://bugzilla.altlinux.org/show_bug.cgi?id=26711</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vitaly Chikunov">vt</reporter>
          <assigned_to name="placeholder@altlinux.org">placeholder</assigned_to>
          <cc>3aHyga</cc>
    
    <cc>glebfm</cc>
    
    <cc>grenka</cc>
    
    <cc>iv</cc>
    
    <cc>ldv</cc>
    
    <cc>manowar</cc>
    
    <cc>rider</cc>
    
    <cc>zerg</cc>
          
          <qa_contact name="Andrey Cherepanov">cas</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>209954</commentid>
    <comment_count>0</comment_count>
    <who name="Vitaly Chikunov">vt</who>
    <bug_when>2022-04-22 16:33:09 +0300</bug_when>
    <thetext>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 &gt;10 times and this took whole day of real time).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209955</commentid>
    <comment_count>1</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2022-04-22 16:38:23 +0300</bug_when>
    <thetext>Есть же --swift</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209956</commentid>
    <comment_count>2</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2022-04-22 16:39:41 +0300</bug_when>
    <thetext>Точнее, уже --hurry</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209957</commentid>
    <comment_count>3</comment_count>
    <who name="Vitaly Chikunov">vt</who>
    <bug_when>2022-04-22 16:54:48 +0300</bug_when>
    <thetext>&quot;Hurry включает режим swift, в котором сборочница считает, что если пакет был хоть раз собран, то no need to rebuild.&quot; На сколько я понял из с Глебом сейчас другого варианта продолжения сборки кроме удаления failed subtasks нет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209958</commentid>
    <comment_count>4</comment_count>
    <who name="Grigory Ustinov">grenka</who>
    <bug_when>2022-04-22 17:26:08 +0300</bug_when>
    <thetext>Поддерживаю.

Я когда-то себе написал скрипт, который каждые n секунд рсинкает events.M.1.log, грепает ключевую фразу task #****** for sisyphus FAILED и если получилось, грепает какой сабтаск свалился, удаляет его, повышает счётчик M и запускает таск снова. Можно заодно рсинкать и логи фейлов.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209959</commentid>
    <comment_count>5</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2022-04-22 17:31:36 +0300</bug_when>
    <thetext>да, я бы тоже не отказался от такой опции.

Потом было бы удобно удалить из задания упавшие подзадания, добавить их в конец и запустить заново.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209998</commentid>
    <comment_count>6</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2022-04-25 10:39:53 +0300</bug_when>
    <thetext>А я бы ещё при этом делал репозиторий независимо от результатов сборки, чтобы можно было сразу же работать над оставшимися пакетами.

Ведь те, что собрались, зачастую нужны для сборки остальных.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237706</commentid>
    <comment_count>7</comment_count>
    <who name="Ivan A. Melnikov">iv</who>
    <bug_when>2023-11-23 12:56:40 +0300</bug_when>
    <thetext>keep_going это очень круто; когда-то я сделал такой флаг для sisyphus_mipsel и sisyphus_riscv64. Для sisyphus_loongarch64 реализация выглядит так:

https://git.altlinux.org/people/iv/packages/girar.git?a=commitdiff;h=af466d56756672c15a13e8da0a2392a923cc363c

(в этом коммите нет интерфейса для пользователей).

Очень помогает при массовых пересборках и приезжающих из основного Сизифа огромных таксках.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237707</commentid>
    <comment_count>8</comment_count>
    <who name="Ivan A. Melnikov">iv</who>
    <bug_when>2023-11-23 12:58:09 +0300</bug_when>
    <thetext>(In reply to Sergey V Turchin from comment #6)
&gt; А я бы ещё при этом делал репозиторий независимо от результатов сборки,
&gt; чтобы можно было сразу же работать над оставшимися пакетами.

+1, можно было бы подключить таску к хешеру и чинить то, что там не собралось. Но это кажется темой отдельной баги. Такая есть?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259139</commentid>
    <comment_count>9</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2025-02-13 11:49:05 +0300</bug_when>
    <thetext>(Ответ для Ivan A. Melnikov на комментарий #8)
&gt; &gt; А я бы ещё при этом делал репозиторий независимо от результатов сборки,
&gt; &gt; чтобы можно было сразу же работать над оставшимися пакетами.
&gt; +1, можно было бы подключить таску к хешеру и чинить то, что там не
&gt; собралось. Но это кажется темой отдельной баги. Такая есть?
Да, полно: #26711 #33069 #39850 #51923</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259146</commentid>
    <comment_count>10</comment_count>
    <who name="Малъ Скрылевъ">3aHyga</who>
    <bug_when>2025-02-13 12:38:47 +0300</bug_when>
    <thetext>(Ответ для Vitaly Chikunov на комментарий #0)
&gt; Currently --fail-late stops build on architecture where previously build
&gt; failure occurred.
&gt; 
&gt; Please add option, like --keep-going, to continue build all subtasks even if
&gt; other tasks are failed.
&gt; 
&gt; This will be useful to build new major kernel versions with many external
&gt; modules (for example, we have 42 packages for std-def)
&gt; - Failed tasks not need to be deleted to continue build - thus, their build
&gt; logs can be inspected later (when we announce build of new kernel);
&gt; - There will be no need to delete sub-task and re-run task to continue test
&gt; build multiple times after each failure (I think I did this &gt;10 times and
&gt; this took whole day of real time).

Какъ врѣменное рѣшеніе могу предложить чѣмъ самъ большуюсь врѣменами.
https://github.com/majioa/rebuild</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>