( cmd *cobra.Command, deps commandDeps, manager updateManager, release *aghupdate.Release, record updateRecord, )
| 107 | } |
| 108 | |
| 109 | func applyAvailableUpdate( |
| 110 | cmd *cobra.Command, |
| 111 | deps commandDeps, |
| 112 | manager updateManager, |
| 113 | release *aghupdate.Release, |
| 114 | record updateRecord, |
| 115 | ) error { |
| 116 | runtime, running, err := resolveUpdateRuntime(deps) |
| 117 | if err != nil { |
| 118 | return err |
| 119 | } |
| 120 | |
| 121 | applied, err := manager.ApplyRelease(cmd.Context(), release) |
| 122 | if err != nil { |
| 123 | record.Status = string(aghupdate.StatusFailed) |
| 124 | record.Message = err.Error() |
| 125 | return writeUpdateFailure(cmd, record, err) |
| 126 | } |
| 127 | if !running { |
| 128 | return finishLocalUpdate(cmd, manager, applied, release, record) |
| 129 | } |
| 130 | return restartDaemonAfterUpdate(cmd, deps, manager, runtime, applied, release, record) |
| 131 | } |
| 132 | |
| 133 | func resolveUpdateRuntime(deps commandDeps) (*runtimeContext, bool, error) { |
| 134 | runtime, err := loadRuntimeContext(deps) |
no test coverage detected