← Back to team overview

sts-sponsors team mailing list archive

Re: [Merge] ~alexsander-souza/maas/+git/maas-release-tools:final_version_checks into ~maas-committers/maas/+git/maas-release-tools:main

 


Diff comments:

> diff --git a/maas_release_tools/scripts/release_status.py b/maas_release_tools/scripts/release_status.py
> index b1835ce..1d580c8 100644
> --- a/maas_release_tools/scripts/release_status.py
> +++ b/maas_release_tools/scripts/release_status.py
> @@ -1120,6 +1186,114 @@ class SystemIntegrationTests(ReleaseStep):
>          return True, [f"check {self._url}"]
>  
>  
> +class UsnBuilderUpdated(ReleaseStep):
> +    def __init__(self, preparer: ReleasePreparer, cwd: str | None = None):
> +        super().__init__(preparer, cwd)
> +        self.builder_name = f"maas-{self.preparer.version.major}-candidate"
> +        self.ref_path = f"refs/tags/{self.preparer.version.version}"
> +        self.builder = None
> +
> +    @property
> +    def title(self) -> str:
> +        return "Check if SNAP USN builder is updated"
> +
> +    def check(self) -> tuple[bool, str]:
> +        self.builder = self.launchpad.get_snap_builder(self.builder_name)
> +        if self.builder is None:
> +            return False, f"SNAP USN {self.builder_name} builder not found"
> +        if self.builder.git_path != self.ref_path:
> +            return (
> +                False,
> +                f"Builder source is {self.builder.git_path}, expected {self.ref_path}",
> +            )
> +        return True, None
> +
> +    def fix(self, doit: bool = False) -> tuple[bool, list[str]]:
> +        if self.builder is None:
> +            return False, [
> +                f" go to https://code.launchpad.net/~{MAAS_USER}/maas/+git/maas/+ref/{self.preparer.version.major}/+new-snap";,
> +                f"  * snap recipe name: maas-{self.preparer.version.major}-candidate",
> +                f"  * owner: {MAAS_USER}",
> +                f"  * processors: {', '.join(BUILD_ARCHS)}",
> +                "  * Source:",
> +                f"   * Repository: '~{MAAS_USER}/maas/+git/maas' Branch: {self.ref_path}",
> +                "  * Automatically build when branch changes",
> +                f"   * Source archive for automatic builds: ~maas/ubuntu/{self.preparer.version.major}",
> +                "  *  Automatically upload to store",
> +                f"   * Track: {self.preparer.version.major} Risk: Candidate",
> +            ]
> +        return False, [
> +            f" go to https://launchpad.net/~{MAAS_USER}/maas/+snap/{self.builder_name}/+edit";,
> +            " update source definition:",
> +            f"  * Repository: '~{MAAS_USER}/maas/+git/maas' Branch: {self.ref_path}",
> +        ]
> +
> +
> +class LaunchpadSeriesUpdated(ReleaseStep):
> +    def __init__(self, preparer: ReleasePreparer, cwd: str | None = None):
> +        super().__init__(preparer, cwd)
> +        self._series = None
> +
> +    @property
> +    def title(self) -> str:
> +        return "Lauchpad series status updated"

typo - Launchpad

> +
> +    def skip(self) -> bool:
> +        return self.preparer.version.grade != "final"
> +
> +    def check(self) -> tuple[bool, str | None]:
> +        self._series = self.launchpad.get_series_status()
> +        for n, (name, status) in enumerate(self._series):
> +            match n:
> +                case 0:
> +                    if status != "Active Development":
> +                        self._series = name
> +                        return False, "Missing 'Active Development' series"
> +                    if (
> +                        self.preparer.version.new_series
> +                        and self.preparer.version.major == name
> +                    ):
> +                        self._series = name
> +                        return (
> +                            False,
> +                            f"{self.preparer.version.major} should be promoted to 'Current Stable Release'",
> +                        )
> +                case 1:
> +                    if status != "Current Stable Release":
> +                        self._series = name
> +                        return False, "Missing 'Current Stable Release' series"
> +                    if (
> +                        self.preparer.version.new_series
> +                        and self.preparer.version.major != name
> +                    ):
> +                        self._series = name
> +                        return (
> +                            False,
> +                            f"{self.preparer.version.major} should be promoted to 'Current Stable Release'",
> +                        )
> +                case 2:
> +                    if status != "Supported":
> +                        self._series = name
> +                        return (
> +                            False,
> +                            f"{name} series should have 'Supported' status, has '{status}'",
> +                        )
> +                case _:
> +                    if status != "Obsolete":
> +                        self._series = name
> +                        return (
> +                            False,
> +                            f"{name} series should have 'Obsolete' status, has '{status}'",
> +                        )
> +        return True, None
> +
> +    def fix(self, doit: bool = False) -> tuple[bool, list[str]]:
> +        return False, [
> +            f"go to https://launchpad.net/maas/{self._series}/+edit";,
> +            "set correct 'Status'",
> +        ]
> +
> +
>  def parse_args():
>      parser = ArgumentParser(description=__doc__)
>      parser.add_argument("version", help="The version of MAAS to be released")


-- 
https://code.launchpad.net/~alexsander-souza/maas/+git/maas-release-tools/+merge/437920
Your team MAAS Committers is requested to review the proposed merge of ~alexsander-souza/maas/+git/maas-release-tools:final_version_checks into ~maas-committers/maas/+git/maas-release-tools:main.



Follow ups

References