Changes between Version 3 and Version 4 of Meetings/MacPortsMeeting2018/BuildbotRestructuring


Ignore:
Timestamp:
Mar 15, 2018, 5:43:38 PM (6 years ago)
Author:
raimue (Rainer Müller)
Comment:

Add some notes from informal discussion on the last evening of the meeting

Legend:

Unmodified
Added
Removed
Modified
  • Meetings/MacPortsMeeting2018/BuildbotRestructuring

    v3 v4  
    205205                          +----------------+  +----------------+
    206206}}}
     207
     208== Caveats
     209
     210Special attention needs to be put into cases where unrelated ports are being updated in the same commit. Here is an example for such a case, all the ports A B C D where updated in the same commit. One possible topological build order could be: `D A B C`.
     211
     212{{{
     213A -> D
     214B ---´
     215C
     216}}}
     217
     218
     219Imaging that the build for D failed, we would still want to attempt to build C. Only the builds for A and B may be cancelled/skipped.
     220
     221If using builds, A and B would try to run, but then fail as D is not available. If using dynamic steps, the build would fail on the first failing step (by default).
     222
     223=== Possible solutions
     224
     225For this to work correctly with buildbot, this dependency hierarchy has to be available in Python data structures to be able to:
     226  * cancel pending builds on build failure, or
     227  * add dependencies to builds, or
     228  * execute as steps with doStepIf (checking for execution status of dependencies)