Skip to content

Commit 4ecd80b

Browse files
committed
feat: add global flag for running dep sequentially
1 parent 4be3908 commit 4ecd80b

3 files changed

Lines changed: 15 additions & 7 deletions

File tree

cmd/run_pipeline.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ package cmd
33
import (
44
"context"
55
"fmt"
6+
"io"
7+
"os"
8+
69
"github.com/loft-sh/devspace/cmd/flags"
710
"github.com/loft-sh/devspace/pkg/devspace/build"
811
"github.com/loft-sh/devspace/pkg/devspace/config/loader"
@@ -30,8 +33,6 @@ import (
3033
"github.com/sirupsen/logrus"
3134
"github.com/spf13/cobra"
3235
"gopkg.in/yaml.v3"
33-
"io"
34-
"os"
3536
)
3637

3738
// RunPipelineCmd holds the command flags
@@ -44,8 +45,9 @@ type RunPipelineCmd struct {
4445
SkipPush bool
4546
SkipPushLocalKubernetes bool
4647

47-
Dependency []string
48-
SkipDependency []string
48+
Dependency []string
49+
SkipDependency []string
50+
SequentialDependencies bool
4951

5052
ForceBuild bool
5153
SkipBuild bool
@@ -68,6 +70,7 @@ type RunPipelineCmd struct {
6870
func (cmd *RunPipelineCmd) AddPipelineFlags(f factory.Factory, command *cobra.Command, pipeline *latest.Pipeline) {
6971
command.Flags().StringSliceVar(&cmd.SkipDependency, "skip-dependency", cmd.SkipDependency, "Skips the following dependencies for deployment")
7072
command.Flags().StringSliceVar(&cmd.Dependency, "dependency", cmd.Dependency, "Deploys only the specified named dependencies")
73+
command.Flags().BoolVar(&cmd.SequentialDependencies, "sequential-dependencies", false, "If set set true dependencies will run sequentially")
7174

7275
command.Flags().BoolVarP(&cmd.ForceBuild, "force-build", "b", cmd.ForceBuild, "Forces to build every image")
7376
command.Flags().BoolVar(&cmd.SkipBuild, "skip-build", cmd.SkipBuild, "Skips building of images")
@@ -413,8 +416,9 @@ func (cmd *RunPipelineCmd) BuildOptions(configOptions *loader.ConfigOptions) *Co
413416
ForcePurge: cmd.ForcePurge,
414417
},
415418
DependencyOptions: types.DependencyOptions{
416-
Exclude: cmd.SkipDependency,
417-
Only: cmd.Dependency,
419+
Exclude: cmd.SkipDependency,
420+
Only: cmd.Dependency,
421+
Sequential: cmd.SequentialDependencies,
418422
},
419423
},
420424
ConfigOptions: configOptions,

pkg/devspace/pipeline/engine/pipelinehandler/commands/run_dependency_pipelines.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@ package commands
22

33
import (
44
"fmt"
5+
"strings"
6+
57
"github.com/jessevdk/go-flags"
68
devspacecontext "github.com/loft-sh/devspace/pkg/devspace/context"
79
types2 "github.com/loft-sh/devspace/pkg/devspace/dependency/types"
810
"github.com/loft-sh/devspace/pkg/devspace/hook"
911
"github.com/loft-sh/devspace/pkg/devspace/pipeline/types"
1012
"github.com/loft-sh/devspace/pkg/util/stringutil"
1113
"github.com/pkg/errors"
12-
"strings"
1314
)
1415

1516
// RunDependencyPipelinesOptions describe how dependencies should get deployed

pkg/devspace/pipeline/pipeline.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,10 +224,13 @@ func (p *pipeline) StartNewDependencies(ctx devspacecontext.Context, dependencie
224224

225225
// Start sequentially
226226
if options.Sequential {
227+
ctx.Log().Debug("Deploying dependencies sequentially")
227228
for _, dependency := range deployDependencies {
228229
err := p.startNewDependency(ctx, dependency, options)
229230
if err != nil {
230231
return errors.Wrapf(err, "run dependency %s", dependency.Name())
232+
} else {
233+
ctx.Log().Debugf("Dependency '%s' deployed", dependency.Name())
231234
}
232235
}
233236

0 commit comments

Comments
 (0)