@@ -93,7 +93,7 @@ def __init__(self):
9393
9494 self .clean = not self .args .no_clean
9595
96- self .__remainingSteps = len ( [step for step in self .__steps if self .__steps [step ] != self .Status .DISABLED ])
96+ self .__remainingSteps = [step for step in self .__steps if self .__steps [step ] != self .Status .DISABLED ]
9797
9898 self .__stepDependencies = {
9999 "Setup" : {},
@@ -238,14 +238,16 @@ def __run(self, configuredSteps : list[str]):
238238 for step in self .__steps :
239239 if step not in configuredSteps :
240240 self .__steps [step ] = self .Status .DISABLED
241- self .__remainingSteps -= 1
241+ self .__remainingSteps . remove ( step )
242242 Logger .debug ('Step "' + step + '" disabled' )
243243
244244
245245 HasFailed = False
246- while self .__remainingSteps > 0 and not HasFailed :
247- Logger .deepDebug ("Remaining steps: " + str (self .__remainingSteps ))
246+ while len (self .__remainingSteps ) > 0 and not HasFailed :
248247 for step in self .__steps :
248+ if self .__steps [step ] == self .Status .DISABLED :
249+ continue
250+ Logger .deepDebug (f"evaluating step { step } \n remaining : " + str (self .__remainingSteps ))
249251 if self .__steps [step ] == self .Status .WAITING and self .__canStepBeStarted (step ):
250252 Logger .info ('Starting step "' + step + '"' )
251253 self .__steps [step ] = self .Status .RUNNING
@@ -255,7 +257,7 @@ def __run(self, configuredSteps : list[str]):
255257
256258 if hasSucceeded :
257259 self .__steps [step ] = self .Status .FINISHED
258- self .__remainingSteps -= 1
260+ self .__remainingSteps . remove ( step )
259261 else :
260262 self .__steps [step ] = self .Status .FAILED
261263 Logger .error ('Step "' + step + '" failed' )
@@ -285,5 +287,5 @@ def execute():
285287 possibleSteps = ['Setup' , 'Tests' , 'BuildTests' , 'Docs' , 'Build' , 'Publish' ]
286288 steps = [step for step in subClasses [0 ].__dict__ if step in possibleSteps ]
287289 subClasses [0 ]().__run (steps )
288-
290+
289291
0 commit comments