Skip to content

Commit 6270de2

Browse files
fix: ignore dependents from CI (#1629)
We never care about dependents in CI, so this does some defensive programming to make sure they are ignored
1 parent 2e894e4 commit 6270de2

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

cmd/run.go

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -210,10 +210,12 @@ func preRun(cmd *cobra.Command, flags *RunFlags) error {
210210
}
211211

212212
var dependents []string
213-
for dependent := range wf.Dependents {
214-
dependents = append(dependents, dependent)
213+
if !env.IsCI() { // Dependents are never relevant in GitHub Actions. This check is essential to ensure the right source/target gets chosen when dependents are set.
214+
for dependent := range wf.Dependents {
215+
dependents = append(dependents, dependent)
216+
}
217+
slices.Sort(dependents) // Must sort or else order will be different on each run
215218
}
216-
slices.Sort(dependents) // Must sort or else order will be different on each run
217219

218220
if flags.GitHubRepos != "" {
219221
flags.GitHub = true
@@ -223,7 +225,7 @@ func preRun(cmd *cobra.Command, flags *RunFlags) error {
223225
}
224226

225227
if flags.Target == "" && flags.Source == "" && flags.Dependent == "" {
226-
sourcesOnly := len(wf.Targets) == 0 && len(wf.Dependents) == 0
228+
sourcesOnly := len(wf.Targets) == 0 && len(dependents) == 0
227229

228230
if len(wf.Targets) == 1 {
229231
flags.Target = targets[0]
@@ -234,9 +236,9 @@ func preRun(cmd *cobra.Command, flags *RunFlags) error {
234236
if err != nil {
235237
return err
236238
}
237-
} else if len(wf.Targets) == 0 && len(wf.Dependents) == 1 {
239+
} else if len(wf.Targets) == 0 && len(dependents) == 1 {
238240
flags.Dependent = dependents[0]
239-
} else if len(wf.Targets) == 0 && len(wf.Dependents) > 1 {
241+
} else if len(wf.Targets) == 0 && len(dependents) > 1 {
240242
flags.Dependent, err = askForDependent(dependents)
241243
if err != nil {
242244
return err
@@ -369,6 +371,10 @@ func askForSource(sources []string, allowAll bool) (string, error) {
369371
}
370372

371373
func askForDependent(dependents []string) (string, error) {
374+
if !utils.IsInteractive() || env.IsCI() {
375+
return "", nil
376+
}
377+
372378
dependentOptions := []huh.Option[string]{}
373379

374380
for _, dependentName := range dependents {

internal/env/env.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ func IsLocalDev() bool {
2929
return os.Getenv("SPEAKEASY_ENVIRONMENT") == "local"
3030
}
3131

32+
func IsCI() bool {
33+
return os.Getenv("CI") == "true" || IsGithubAction()
34+
}
35+
3236
// Returns the SPEAKEASY_RUN_LOCATION environment variable value. For example,
3337
// this is set by Speakeasy maintained GitHub Actions to "action".
3438
func SpeakeasyRunLocation() string {

0 commit comments

Comments
 (0)