Working on new self updater

This commit is contained in:
David Bomba 2021-04-09 10:33:54 +10:00
parent 469bf52467
commit a6e12ee95b
2 changed files with 43 additions and 24 deletions

View File

@ -68,34 +68,53 @@ class SelfUpdateController extends BaseController
nlog('Are there changes to pull? '.$repo->hasChanges()); nlog('Are there changes to pull? '.$repo->hasChanges());
$output = ''; $output = '';
try {
$cacheCompiled = base_path('bootstrap/cache/compiled.php');
if (file_exists($cacheCompiled)) { unlink ($cacheCompiled); }
$cacheServices = base_path('bootstrap/cache/services.php');
if (file_exists($cacheServices)) { unlink ($cacheServices); }
Artisan::call('clear-compiled'); $updater = new \Codedge\Updater\UpdaterManager()
Artisan::call('cache:clear');
Artisan::call('debugbar:clear');
Artisan::call('route:clear');
Artisan::call('view:clear');
Artisan::call('config:clear');
// $output = $repo->execute('stash'); // Check if new version is available
// $output = $repo->execute('reset --hard origin/v5-stable'); if($updater->source()->isNewVersionAvailable()) {
$output = $repo->execute('pull origin');
} catch (GitException $e) { // Get the current installed version
echo $updater->source()->getVersionInstalled();
nlog($output);
nlog($e->getMessage()); // Get the new version available
return response()->json(['message'=>$e->getMessage()], 500); $versionAvailable = $updater->source()->getVersionAvailable();
// Create a release
$release = $updater->source()->fetch($versionAvailable);
// Run the update process
$updater->source()->update($release);
} }
dispatch(function () { // try {
Artisan::call('ninja:post-update');
}); // $cacheCompiled = base_path('bootstrap/cache/compiled.php');
// if (file_exists($cacheCompiled)) { unlink ($cacheCompiled); }
// $cacheServices = base_path('bootstrap/cache/services.php');
// if (file_exists($cacheServices)) { unlink ($cacheServices); }
// Artisan::call('clear-compiled');
// Artisan::call('cache:clear');
// Artisan::call('debugbar:clear');
// Artisan::call('route:clear');
// Artisan::call('view:clear');
// Artisan::call('config:clear');
// // $output = $repo->execute('stash');
// // $output = $repo->execute('reset --hard origin/v5-stable');
// $output = $repo->execute('pull origin');
// } catch (GitException $e) {
// nlog($output);
// nlog($e->getMessage());
// return response()->json(['message'=>$e->getMessage()], 500);
// }
// dispatch(function () {
// Artisan::call('ninja:post-update');
// });
return response()->json(['message' => $output], 200); return response()->json(['message' => $output], 200);
} }

View File

@ -140,7 +140,7 @@ return [
//] //]
], ],
'post_update' => [ 'post_update' => [
'class' => \App\Console\Commands\PostUpdate::class
], ],
], ],