Skip to content

Commit

Permalink
Always update the runtime for the commands that use it.
Browse files Browse the repository at this point in the history
Ignoring the async runtime config option makes those commands unusable.
  • Loading branch information
mitchell-as committed Jul 24, 2024
1 parent 7ece78b commit f96b597
Show file tree
Hide file tree
Showing 8 changed files with 15 additions and 8 deletions.
9 changes: 8 additions & 1 deletion internal/runbits/runtime/runtime.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ type Opts struct {
CommitID strfmt.UUID
Commit *bpModel.Commit
ValidateBuildscript bool
NoAsync bool
}

type SetOpt func(*Opts)
Expand Down Expand Up @@ -80,6 +81,12 @@ func WithoutBuildscriptValidation() SetOpt {
}
}

func WithoutAsync() SetOpt {
return func(opts *Opts) {
opts.NoAsync = true
}
}

type primeable interface {
primer.Projecter
primer.Auther
Expand Down Expand Up @@ -204,7 +211,7 @@ func Update(

// Async runtimes should still do everything up to the actual update itself, because we still want to raise
// any errors regarding solves, buildscripts, etc.
if prime.Config().GetBool(constants.AsyncRuntimeConfig) {
if prime.Config().GetBool(constants.AsyncRuntimeConfig) && !opts.NoAsync {
logging.Debug("Skipping runtime update due to async runtime")
return rt, nil
}
Expand Down
2 changes: 1 addition & 1 deletion internal/runners/activate/activate.go
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ func (r *Activate) Run(params *ActivateParams) (rerr error) {
}
}

rt, err := runtime_runbit.Update(r.prime, trigger.TriggerActivate, runtime_runbit.WithoutHeaders())
rt, err := runtime_runbit.Update(r.prime, trigger.TriggerActivate, runtime_runbit.WithoutHeaders(), runtime_runbit.WithoutAsync())
if err != nil {
return locale.WrapError(err, "err_could_not_activate_venv", "Could not activate project")
}
Expand Down
2 changes: 1 addition & 1 deletion internal/runners/deploy/deploy.go
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ func (d *Deploy) install(params *Params, commitID strfmt.UUID) (rerr error) {
pg := progress.NewRuntimeProgressIndicator(d.output)
defer rtutils.Closer(pg.Close, &rerr)

if _, err := runtime_runbit.Update(d.prime, trigger.TriggerDeploy, runtime_runbit.WithTargetDir(params.Path)); err != nil {
if _, err := runtime_runbit.Update(d.prime, trigger.TriggerDeploy, runtime_runbit.WithTargetDir(params.Path), runtime_runbit.WithoutAsync()); err != nil {
return locale.WrapError(err, "err_deploy_runtime_err", "Could not initialize runtime")
}

Expand Down
2 changes: 1 addition & 1 deletion internal/runners/exec/exec.go
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ func (s *Exec) Run(params *Params, args ...string) (rerr error) {

s.out.Notice(locale.Tr("operating_message", projectNamespace, projectDir))

rt, err := runtime_runbit.Update(s.prime, trigger, runtime_runbit.WithoutHeaders())
rt, err := runtime_runbit.Update(s.prime, trigger, runtime_runbit.WithoutHeaders(), runtime_runbit.WithoutAsync())
if err != nil {
return errs.Wrap(err, "Could not initialize runtime")
}
Expand Down
2 changes: 1 addition & 1 deletion internal/runners/refresh/refresh.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ func (r *Refresh) Run(params *Params) error {
return locale.NewInputError("refresh_runtime_uptodate")
}

rti, err := runtime_runbit.Update(r.prime, trigger.TriggerRefresh, runtime_runbit.WithoutHeaders())
rti, err := runtime_runbit.Update(r.prime, trigger.TriggerRefresh, runtime_runbit.WithoutHeaders(), runtime_runbit.WithoutAsync())
if err != nil {
return locale.WrapError(err, "err_refresh_runtime_new", "Could not update runtime for this project.")
}
Expand Down
2 changes: 1 addition & 1 deletion internal/runners/shell/shell.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ func (u *Shell) Run(params *Params) error {
return locale.NewInputError("err_shell_commit_id_mismatch")
}

rti, err := runtime_runbit.Update(u.prime, trigger.TriggerShell, runtime_runbit.WithoutHeaders())
rti, err := runtime_runbit.Update(u.prime, trigger.TriggerShell, runtime_runbit.WithoutHeaders(), runtime_runbit.WithoutAsync())
if err != nil {
return locale.WrapExternalError(err, "err_shell_runtime_new", "Could not start a shell/prompt for this project.")
}
Expand Down
2 changes: 1 addition & 1 deletion internal/runners/use/use.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ func (u *Use) Run(params *Params) error {
return locale.NewInputError("err_use_commit_id_mismatch")
}

rti, err := runtime_runbit.Update(u.prime, trigger.TriggerUse, runtime_runbit.WithoutHeaders())
rti, err := runtime_runbit.Update(u.prime, trigger.TriggerUse, runtime_runbit.WithoutHeaders(), runtime_runbit.WithoutAsync())
if err != nil {
return locale.WrapError(err, "err_use_runtime_new", "Cannot use this project.")
}
Expand Down
2 changes: 1 addition & 1 deletion internal/scriptrun/scriptrun.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ func (s *ScriptRun) NeedsActivation() bool {

// PrepareVirtualEnv sets up the relevant runtime and prepares the environment.
func (s *ScriptRun) PrepareVirtualEnv() (rerr error) {
rt, err := runtime_runbit.Update(s.prime, trigger.TriggerScript, runtime_runbit.WithoutHeaders())
rt, err := runtime_runbit.Update(s.prime, trigger.TriggerScript, runtime_runbit.WithoutHeaders(), runtime_runbit.WithoutAsync())
if err != nil {
return locale.WrapError(err, "err_activate_runtime", "Could not initialize a runtime for this project.")
}
Expand Down

0 comments on commit f96b597

Please sign in to comment.