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

remove prerelease and release branches

parent 2592efc1
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -45,7 +45,7 @@ sarefsh:preferredNamespaceUri sh:message "The ontology document shall contain ex
@prefix sarefsh: <https://saref.etsi.org/shape#> .
@prefix sarefsh: <https://saref.etsi.org/shape#> .


sarefsh:priorVersion sh:maxCount 0 ;
sarefsh:priorVersion sh:maxCount 0 ;
    sh:message "There exists no prior release version to {self.version}, so the ontology document shall not contain a metadata `owl:priorVersion`" .
    sh:message "There exists no prior version to {self.version}, so the ontology document shall not contain a metadata `owl:priorVersion`" .
""",
""",
                format="turtle",
                format="turtle",
            )
            )
@@ -60,7 +60,7 @@ sarefsh:priorVersion sh:maxCount 0 ;
sarefsh:priorVersion sh:minCount 1 ;
sarefsh:priorVersion sh:minCount 1 ;
    sh:maxCount 1 ;
    sh:maxCount 1 ;
    sh:pattern "^{self.project.namespace}{prior_version.version}/$" ;
    sh:pattern "^{self.project.namespace}{prior_version.version}/$" ;
    sh:message "There exists a prior release version {prior_version.version}, so the ontology document shall contain exactly one metadata `owl:priorVersion`, with value `<{self.project.namespace}{prior_version.version}/>`" .
    sh:message "There exists a prior version {prior_version.version}, so the ontology document shall contain exactly one metadata `owl:priorVersion`, with value `<{self.project.namespace}{prior_version.version}/>`" .
""",
""",
                format="turtle",
                format="turtle",
            )
            )
+2 −2
Original line number Original line Diff line number Diff line
@@ -12,13 +12,13 @@ ETSI_FORGE_URL = "https://labs.etsi.org/rep/"
ETSI_FORGE_SAREF_ID = 39
ETSI_FORGE_SAREF_ID = 39
PATTERN_VERSION = re.compile(r"^v(\d+)\.(\d+)\.(\d+)$")
PATTERN_VERSION = re.compile(r"^v(\d+)\.(\d+)\.(\d+)$")
PATTERN_VERSION_BRANCH = re.compile(
PATTERN_VERSION_BRANCH = re.compile(
    r"origin/(develop|prerelease|release)-(v\d+\.\d+\.\d+)$"
    r"origin/(develop)-(v\d+\.\d+\.\d+)$"
)
)
PATTERN_SAREF_GRAPHS = re.compile(
PATTERN_SAREF_GRAPHS = re.compile(
    rf"^{BASE}(sources/)?(core|saref4[a-z]{{4}})/(v\d+\.\d+\.\d+/((example|pattern|vocab)/[a-zA-Z_-]+[/#])?)?$"
    rf"^{BASE}(sources/)?(core|saref4[a-z]{{4}})/(v\d+\.\d+\.\d+/((example|pattern|vocab)/[a-zA-Z_-]+[/#])?)?$"
)
)
PATTERN_BASE = r"@base\s+<([^>]+)>"
PATTERN_BASE = r"@base\s+<([^>]+)>"
REGEX_BRANCH_NAME = re.compile(r"^(develop|prerelease|release)-(v\d+\.\d+\.\d+)$")
REGEX_BRANCH_NAME = re.compile(r"^(develop)-(v\d+\.\d+\.\d+)$")
PATTERN_IMPORT_IRI = re.compile(
PATTERN_IMPORT_IRI = re.compile(
    rf"^{BASE}(core|saref4[a-z]{{4}})/(v\d+\.\d+\.\d+)/((example|pattern|vocab)/([a-zA-Z_-]+)[/#])?$"
    rf"^{BASE}(core|saref4[a-z]{{4}})/(v\d+\.\d+\.\d+)/((example|pattern|vocab)/([a-zA-Z_-]+)[/#])?$"
)
)
+0 −2
Original line number Original line Diff line number Diff line
@@ -213,8 +213,6 @@ class BranchType(Enum):
        return obj
        return obj


    DEVELOP = ("develop", 1)
    DEVELOP = ("develop", 1)
    PRERELEASE = ("prerelease", 2)
    RELEASE = ("release", 3)
    WORKING_DIRECTORY = ("WORKING_DIRECTORY", 4)
    WORKING_DIRECTORY = ("WORKING_DIRECTORY", 4)


    def __str__(self):
    def __str__(self):
+3 −14
Original line number Original line Diff line number Diff line
@@ -384,7 +384,7 @@ class SAREFPipeline:
            logger.info(f"{project.name}: Start checking project")
            logger.info(f"{project.name}: Start checking project")
        except ValueError:
        except ValueError:
            logger.error(
            logger.error(
                f"No SAREF project can be deduced from directory `{self.directory}`. This is required for running the pipeline in `develop` or `release` mode."
                f"No SAREF project can be deduced from directory `{self.directory}`."
            )
            )
            return
            return
        project.directory = self.directory
        project.directory = self.directory
@@ -521,7 +521,7 @@ class SAREFPipeline:
        for branches_for_one_version in versions.values():
        for branches_for_one_version in versions.values():
            branches_for_one_version.sort(
            branches_for_one_version.sort(
                key=lambda x: x.branch_type, reverse=True
                key=lambda x: x.branch_type, reverse=True
            )  # Sort by type (WORKING_DIRECTORY > release > prerelease > develop)
            )  # Sort by type (WORKING_DIRECTORY > develop)
        versions = [
        versions = [
            branches[0] for branches in versions.values()
            branches[0] for branches in versions.values()
        ]  # Keep the first one (best branch)
        ]  # Keep the first one (best branch)
@@ -529,14 +529,6 @@ class SAREFPipeline:
        # Sort versions by semver (ascending order)
        # Sort versions by semver (ascending order)
        versions.sort(key=lambda x: x.version)
        versions.sort(key=lambda x: x.version)


        # Filter versions if strict
        # if self.strict:
        #     versions = [
        #         v
        #         for v in versions
        #         if v.branch_type in [BranchType.WORKING_DIRECTORY, BranchType.RELEASE]
        #     ]

        logger.debug(
        logger.debug(
            f"{project.name} versions: {" < ".join([f"{version.version} ({version.branch_type})" for version in versions])}"
            f"{project.name} versions: {" < ".join([f"{version.version} ({version.branch_type})" for version in versions])}"
        )
        )
@@ -550,8 +542,6 @@ class SAREFPipeline:
        versions = project.versions
        versions = project.versions
        prior_version = None
        prior_version = None
        for v in versions:
        for v in versions:
            if v.branch_type != BranchType.RELEASE:
                continue
            if v.version >= version:
            if v.version >= version:
                break
                break
            prior_version = v
            prior_version = v
@@ -559,7 +549,6 @@ class SAREFPipeline:


    def get_latest_version(self, project: SAREFProject):
    def get_latest_version(self, project: SAREFProject):
        for v in reversed(project.versions):
        for v in reversed(project.versions):
            if v.branch_type == BranchType.RELEASE:
            return v
            return v


    def fetch_project(self, saref_project: SAREFProject) -> None:
    def fetch_project(self, saref_project: SAREFProject) -> None: