public function getVersionsToSync() { $versionsToSync = []; $currentVersions = $this->project->getRefs(); $allowedVersionRange = new expression($this->setting('sync.sync.versions')); $tags = $this->github->repositories()->tags($this->setting('owner'), $this->setting('repository')); foreach ($tags as $tag) { try { $version = new version($tag['name']); } catch (SemVerException $e) { continue; } if ($version->satisfies($allowedVersionRange) === false or in_array($version->getVersion(), $currentVersions, true)) { continue; } $versionsToSync[] = $version; } return $versionsToSync; }