namespace Galette\Util;
-use Galette\Core\Galette;
+use Analog\Analog;
use Galette\Features\Cacheable;
use GuzzleHttp\Client;
return $this->getLatestRelease();
}
- $client = $this->setupClient();
- $response = $client->request('GET', $this->getReleasesURL());
- $contents = $response->getBody()->getContents();
-
- $releases = [];
- preg_match_all(
- '/href="(galette-.[^"]+\.tar\.bz2)"/',
- $contents,
- $releases
- );
-
- $latest = null;
- foreach ($releases[1] as $release) {
- $release = str_replace('galette-', '', $release);
- $release = str_replace('.tar.bz2', '', $release);
- if ($release === 'dev') {
- continue;
+ try {
+ $client = $this->setupClient();
+ $response = $client->request('GET', $this->getReleasesURL());
+ $contents = $response->getBody()->getContents();
+
+ $releases = [];
+ preg_match_all(
+ '/href="(galette-.[^"]+\.tar\.bz2)"/',
+ $contents,
+ $releases
+ );
+
+ $latest = null;
+ foreach ($releases[1] as $release) {
+ $release = str_replace('galette-', '', $release);
+ $release = str_replace('.tar.bz2', '', $release);
+ if ($release === 'dev') {
+ continue;
+ }
+ if (version_compare($release, $latest ?? 0, '>')) {
+ $latest = $release;
+ }
}
- if (version_compare($release, $latest ?? 0, '>')) {
- $latest = $release;
- }
- }
- return $latest;
+ return $latest;
+ } catch (\Throwable $e) {
+ Analog::log(
+ 'Error while trying to get latest release: ' . $e->getMessage(),
+ Analog::ERROR
+ );
+ return null;
+ }
}
/**