Unverified Commit ece72a80 authored by Maxime Lefrançois's avatar Maxime Lefrançois
Browse files

detect project from remote (useful for ci/cd)

parent 076c47a2
Loading
Loading
Loading
Loading
Loading
+20 −5
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ from saref_pypeline._errors import MissingOptionalDependency
logging.addLevelName(TRACE_LEVEL, "TRACE")
logging.Logger.trace = trace


class SimpleConditionalFormatter(logging.Formatter):

    def __init__(self, fmt, datefmt=None):
@@ -383,8 +384,22 @@ class SAREFPipeline:
            project = SAREFProject(basename)
            logger.info(f"{project.name}: Start checking project")
        except ValueError:
            try:
                repo = Repo(self.directory)
                remote_url = repo.remotes.origin.url

                repo_name = remote_url.rstrip("/").split("/")[-1]
                if repo_name.endswith(".git"):
                    repo_name = repo_name[:-4]

                project = SAREFProject(repo_name)
                logger.info(
                    f"{project.name}: Start checking project (deduced from remote)"
                )
            except (GitCommandError, AttributeError, IndexError) as e:
                logger.error(
                f"No SAREF project can be deduced from directory `{self.directory}`."
                    f"No SAREF project can be deduced from directory `{self.directory}` "
                    f"(error: {e})."
                )
                return
        project.directory = self.directory