Skip to content

Commit ed5dc4a

Browse files
committed
refactor: change directory handling
1 parent d108eea commit ed5dc4a

File tree

3 files changed

+26
-23
lines changed

3 files changed

+26
-23
lines changed

internal/runner/parallel/parallel.go

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ func (r *parallelRunner) Exec(
6161
return fmt.Errorf("no parallel executables to run")
6262
}
6363

64-
//nolint:funlen
64+
//nolint:funlen,gocognit
6565
func handleExec(
6666
ctx *context.Context, parent *executable.Executable,
6767
eng engine.Engine,
@@ -117,21 +117,23 @@ func handleExec(
117117
maps.Copy(execPromptedEnv, a)
118118
}
119119

120-
var dir executable.Directory
121120
switch {
122121
case exec.Exec != nil:
123122
fields := map[string]interface{}{"step": exec.ID()}
124123
exec.Exec.SetLogFields(fields)
125-
dir = exec.Exec.Dir
126-
case parent.Parallel != nil:
127-
dir = exec.Parallel.Dir
128-
case parent.Serial != nil:
129-
dir = exec.Serial.Dir
130-
}
131-
if dir == "" {
132-
dir = parent.Parallel.Dir
124+
if parallelSpec.Dir != "" && exec.Exec.Dir == "" {
125+
exec.Exec.Dir = parallelSpec.Dir
126+
}
127+
case exec.Parallel != nil:
128+
if parallelSpec.Dir != "" && exec.Parallel.Dir == "" {
129+
exec.Parallel.Dir = parallelSpec.Dir
130+
}
131+
case exec.Serial != nil:
132+
if parallelSpec.Dir != "" && exec.Serial.Dir == "" {
133+
exec.Serial.Dir = parallelSpec.Dir
134+
}
133135
}
134-
exec.Exec.Dir = dir
136+
135137
runExec := func() error {
136138
err := runner.Exec(ctx, exec, eng, execPromptedEnv)
137139
if err != nil {

internal/runner/serial/serial.go

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ func (r *serialRunner) Exec(
6060
return fmt.Errorf("no serial executables to run")
6161
}
6262

63-
//nolint:funlen
63+
//nolint:funlen,gocognit
6464
func handleExec(
6565
ctx *context.Context,
6666
parent *executable.Executable,
@@ -113,21 +113,22 @@ func handleExec(
113113
maps.Copy(execPromptedEnv, a)
114114
}
115115

116-
var dir executable.Directory
117116
switch {
118117
case exec.Exec != nil:
119118
fields := map[string]interface{}{"step": exec.ID()}
120119
exec.Exec.SetLogFields(fields)
121-
dir = exec.Exec.Dir
122-
case parent.Parallel != nil:
123-
dir = exec.Parallel.Dir
124-
case parent.Serial != nil:
125-
dir = exec.Serial.Dir
126-
}
127-
if dir == "" {
128-
dir = parent.Serial.Dir
120+
if serialSpec.Dir != "" && exec.Exec.Dir == "" {
121+
exec.Exec.Dir = serialSpec.Dir
122+
}
123+
case exec.Parallel != nil:
124+
if serialSpec.Dir != "" && exec.Parallel.Dir == "" {
125+
exec.Parallel.Dir = serialSpec.Dir
126+
}
127+
case exec.Serial != nil:
128+
if serialSpec.Dir != "" && exec.Serial.Dir == "" {
129+
exec.Serial.Dir = serialSpec.Dir
130+
}
129131
}
130-
exec.Exec.Dir = dir
131132

132133
runExec := func() error {
133134
return runSerialExecFunc(ctx, i, refConfig, exec, eng, execPromptedEnv, serialSpec)

internal/services/store/store.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ func NewStore(dbPath string) (Store, error) {
4747
if dbPath == "" {
4848
dbPath = Path()
4949
}
50-
db, err := bolt.Open(dbPath, 0666, &bolt.Options{Timeout: 30 * time.Second})
50+
db, err := bolt.Open(dbPath, 0666, &bolt.Options{Timeout: 3 * time.Second})
5151
if err != nil {
5252
return nil, fmt.Errorf("failed to open db: %w", err)
5353
}

0 commit comments

Comments
 (0)