Add assembled workflow compatibility coverage

This commit is contained in:
2026-08-29 20:08:48 +00:00
parent 3128bef20a
commit 5887839aa1
5 changed files with 314 additions and 39 deletions

View File

@@ -246,18 +246,15 @@ func executeStages(ctx context.Context, cfg *config.Config, stages []stage.Stage
stageEnv := env
decisions := decideStageActions(stages, m, opts.Force)
runNames := make([]string, 0, len(decisions))
executed := make([]string, 0, len(decisions))
skipped := make([]string, 0, len(decisions))
for _, d := range decisions {
s := d.Stage
runNames := make([]string, 0, len(stages))
executed := make([]string, 0, len(stages))
skipped := make([]string, 0, len(stages))
for _, s := range stages {
stageEnv.Force = opts.Force
runNames = append(runNames, s.Name())
d.Action = decideStageAction(s, m, opts.Force)
action := decideStageAction(s, m, opts.Force)
if d.Action == stageActionSkip {
if action == stageActionSkip {
if validator, ok := s.(stage.ResumeValidator); ok {
validation, err := validator.ValidateResume(ctx, stageEnv, m)
if err != nil {
@@ -285,12 +282,12 @@ func executeStages(ctx context.Context, cfg *config.Config, stages []stage.Stage
)
}
env.Logger.Info("stage result is not resumable", "stage", s.Name(), "reason", validation.Reason)
d.Action = stageActionRun
action = stageActionRun
}
}
}
if d.Action == stageActionSkip {
if action == stageActionSkip {
skipped = append(skipped, s.Name())
skipAt := nowUTC()
runManifest.SetStageAction(s.Name(), manifest.RunStageActionSkip, skipAt)