Skip to content

Commit 0147677

Browse files
respect --no-input flag in pipeline picker (#604)
* fix(pipeline): respect --no-input flag in pipeline picker - Add PickOneWithNoInput() function to accept noInput parameter - Add PickOneWithFactory() function that uses factory's NoInput flag - Update all 11 command files to use PickOneWithFactory(f) - Add safety check to prevent panic when pipeline not found - Fixes issue where pipeline picker ignored --no-input flag - Makes CLI automation-friendly and CI/CD ready PBI: #SUP-5609 * chore: remove CHANGELOG.md We don't use this file anymore
1 parent c1383d1 commit 0147677

File tree

14 files changed

+61
-161
lines changed

14 files changed

+61
-161
lines changed

CHANGELOG.md

Lines changed: 0 additions & 120 deletions
This file was deleted.

cmd/artifacts/list.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,8 @@ func (c *ListCmd) Run(kongCtx *kong.Context, globals cli.GlobalFlags) error {
7575
// Resolve a pipeline based on how bk build resolves the pipeline
7676
pipelineRes := pipelineResolver.NewAggregateResolver(
7777
pipelineResolver.ResolveFromFlag(c.Pipeline, f.Config),
78-
pipelineResolver.ResolveFromConfig(f.Config, pipelineResolver.PickOne),
79-
pipelineResolver.ResolveFromRepository(f, pipelineResolver.CachedPicker(f.Config, pipelineResolver.PickOne, f.GitRepository != nil)),
78+
pipelineResolver.ResolveFromConfig(f.Config, pipelineResolver.PickOneWithFactory(f)),
79+
pipelineResolver.ResolveFromRepository(f, pipelineResolver.CachedPicker(f.Config, pipelineResolver.PickOneWithFactory(f), f.GitRepository != nil)),
8080
)
8181

8282
// We resolve a build an optional argument or positional argument

cmd/build/cancel.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ func (c *CancelCmd) Run(kongCtx *kong.Context, globals cli.GlobalFlags) error {
4949

5050
pipelineRes := pipelineResolver.NewAggregateResolver(
5151
pipelineResolver.ResolveFromFlag(c.Pipeline, f.Config),
52-
pipelineResolver.ResolveFromConfig(f.Config, pipelineResolver.PickOne),
53-
pipelineResolver.ResolveFromRepository(f, pipelineResolver.CachedPicker(f.Config, pipelineResolver.PickOne, f.GitRepository != nil)),
52+
pipelineResolver.ResolveFromConfig(f.Config, pipelineResolver.PickOneWithFactory(f)),
53+
pipelineResolver.ResolveFromRepository(f, pipelineResolver.CachedPicker(f.Config, pipelineResolver.PickOneWithFactory(f), f.GitRepository != nil)),
5454
)
5555

5656
args := []string{c.BuildNumber}

cmd/build/create.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ func (c *CreateCmd) Run(kongCtx *kong.Context, globals cli.GlobalFlags) error {
6565

6666
resolvers := resolver.NewAggregateResolver(
6767
resolver.ResolveFromFlag(c.Pipeline, f.Config),
68-
resolver.ResolveFromConfig(f.Config, resolver.PickOne),
69-
resolver.ResolveFromRepository(f, resolver.CachedPicker(f.Config, resolver.PickOne, f.GitRepository != nil)),
68+
resolver.ResolveFromConfig(f.Config, resolver.PickOneWithFactory(f)),
69+
resolver.ResolveFromRepository(f, resolver.CachedPicker(f.Config, resolver.PickOneWithFactory(f), f.GitRepository != nil)),
7070
)
7171

7272
resolvedPipeline, err := resolvers.Resolve(ctx)

cmd/build/download.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ func (c *DownloadCmd) Run(kongCtx *kong.Context, globals cli.GlobalFlags) error
6767
// 3. find pipelines matching the current repository from the API
6868
pipelineRes := pipelineResolver.NewAggregateResolver(
6969
pipelineResolver.ResolveFromFlag(c.Pipeline, f.Config),
70-
pipelineResolver.ResolveFromConfig(f.Config, pipelineResolver.PickOne),
71-
pipelineResolver.ResolveFromRepository(f, pipelineResolver.CachedPicker(f.Config, pipelineResolver.PickOne, f.GitRepository != nil)),
70+
pipelineResolver.ResolveFromConfig(f.Config, pipelineResolver.PickOneWithFactory(f)),
71+
pipelineResolver.ResolveFromRepository(f, pipelineResolver.CachedPicker(f.Config, pipelineResolver.PickOneWithFactory(f), f.GitRepository != nil)),
7272
)
7373

7474
// we resolve a build based on the following rules:

cmd/build/list.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,7 @@ func (c *ListCmd) fetchBuilds(ctx context.Context, f *factory.Factory, org strin
345345
func (c *ListCmd) getBuildsByPipeline(ctx context.Context, f *factory.Factory, org string, listOpts *buildkite.BuildsListOptions) ([]buildkite.Build, error) {
346346
pipelineRes := pipelineResolver.NewAggregateResolver(
347347
pipelineResolver.ResolveFromFlag(c.Pipeline, f.Config),
348-
pipelineResolver.ResolveFromConfig(f.Config, pipelineResolver.PickOne),
348+
pipelineResolver.ResolveFromConfig(f.Config, pipelineResolver.PickOneWithFactory(f)),
349349
)
350350

351351
pipeline, err := pipelineRes.Resolve(ctx)

cmd/build/rebuild.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@ func (c *RebuildCmd) Run(kongCtx *kong.Context, globals cli.GlobalFlags) error {
6969
// 3. find pipelines matching the current repository from the API
7070
pipelineRes := pipelineResolver.NewAggregateResolver(
7171
pipelineResolver.ResolveFromFlag(c.Pipeline, f.Config),
72-
pipelineResolver.ResolveFromConfig(f.Config, pipelineResolver.PickOne),
73-
pipelineResolver.ResolveFromRepository(f, pipelineResolver.CachedPicker(f.Config, pipelineResolver.PickOne, f.GitRepository != nil)),
72+
pipelineResolver.ResolveFromConfig(f.Config, pipelineResolver.PickOneWithFactory(f)),
73+
pipelineResolver.ResolveFromRepository(f, pipelineResolver.CachedPicker(f.Config, pipelineResolver.PickOneWithFactory(f), f.GitRepository != nil)),
7474
)
7575

7676
// we resolve a build based on the following rules:

cmd/build/view.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@ func (c *ViewCmd) Run(kongCtx *kong.Context, globals cli.GlobalFlags) error {
8383
// Resolve pipeline first
8484
pipelineRes := pipelineResolver.NewAggregateResolver(
8585
pipelineResolver.ResolveFromFlag(opts.Pipeline, f.Config),
86-
pipelineResolver.ResolveFromConfig(f.Config, pipelineResolver.PickOne),
87-
pipelineResolver.ResolveFromRepository(f, pipelineResolver.CachedPicker(f.Config, pipelineResolver.PickOne, f.GitRepository != nil)),
86+
pipelineResolver.ResolveFromConfig(f.Config, pipelineResolver.PickOneWithFactory(f)),
87+
pipelineResolver.ResolveFromRepository(f, pipelineResolver.CachedPicker(f.Config, pipelineResolver.PickOneWithFactory(f), f.GitRepository != nil)),
8888
)
8989

9090
// Resolve build options

cmd/build/watch.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ func (c *WatchCmd) Run(kongCtx *kong.Context, globals cli.GlobalFlags) error {
7373

7474
pipelineRes := pipelineResolver.NewAggregateResolver(
7575
pipelineResolver.ResolveFromFlag(c.Pipeline, f.Config),
76-
pipelineResolver.ResolveFromConfig(f.Config, pipelineResolver.PickOne),
77-
pipelineResolver.ResolveFromRepository(f, pipelineResolver.CachedPicker(f.Config, pipelineResolver.PickOne, f.GitRepository != nil)),
76+
pipelineResolver.ResolveFromConfig(f.Config, pipelineResolver.PickOneWithFactory(f)),
77+
pipelineResolver.ResolveFromRepository(f, pipelineResolver.CachedPicker(f.Config, pipelineResolver.PickOneWithFactory(f), f.GitRepository != nil)),
7878
)
7979

8080
optionsResolver := options.AggregateResolver{

cmd/job/list.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -580,7 +580,7 @@ func jobListOptionsFromFlags(opts *jobListOptions) (*buildkite.BuildsListOptions
580580
func getBuildsByPipeline(ctx context.Context, f *factory.Factory, org, pipelineFlag string, listOpts *buildkite.BuildsListOptions) ([]buildkite.Build, error) {
581581
pipelineRes := pipelineResolver.NewAggregateResolver(
582582
pipelineResolver.ResolveFromFlag(pipelineFlag, f.Config),
583-
pipelineResolver.ResolveFromConfig(f.Config, pipelineResolver.PickOne),
583+
pipelineResolver.ResolveFromConfig(f.Config, pipelineResolver.PickOneWithFactory(f)),
584584
)
585585

586586
pipeline, err := pipelineRes.Resolve(ctx)

0 commit comments

Comments
 (0)