always clone the fleet repository
ci/woodpecker/pr/woodpecker Pipeline failed Details

It is small and not worth the trouble of dealing with fetch/pull

Signed-off-by: Loïc Dachary <loic@dachary.org>
pull/19/head
Loïc Dachary 2022-07-02 14:32:25 +02:00
parent b4183c1790
commit 8d02fe107f
Signed by: dachary
GPG Key ID: 992D23B392F9E4F2
1 changed files with 9 additions and 11 deletions

View File

@ -116,10 +116,13 @@ class Infra:
ssh_cmd = f"/usr/bin/ssh -oStrictHostKeyChecking=no -i {conf['SSH_KEY']}"
self.env = {"GIT_SSH_COMMAND": ssh_cmd}
try:
self.repo = Repo(path=self.repo_path)
except InvalidGitRepositoryError:
self.repo = Repo.clone_from(conf["REMOTE"], self.repo_path, env=self.env)
self._clone()
def _clone(self):
conf = settings.HOSTEA["INFRA"]["HOSTEA_REPO"]
if os.path.exists(self.repo_path):
shutil.rmtree(self.repo_path)
self.repo = Repo.clone_from(conf["REMOTE"], self.repo_path, env=self.env)
def _host_vars_dir(self, subdomain: str) -> Path:
"""
@ -227,11 +230,6 @@ class Infra:
author="Dashboard Bot <bot@dashboard.hostea.org>",
)
def _pull(self):
self.repo.git.fetch(env=self.env)
# TODO: switch to using Git cmd
@staticmethod
def translate_size(instance: Instance) -> str:
"""
@ -252,7 +250,7 @@ class Infra:
The gitea user password is returned
"""
self._pull()
self._clone()
subdomain = instance.name
host_vars_dir = self._host_vars_dir(subdomain)
@ -331,7 +329,7 @@ class Infra:
"""
Remove a VM from infrastructure repository
"""
self._pull()
self._clone()
subdomain = instance.name
try: