Merge ~adam-collard/maas:release-status-tweaks into maas:master

Proposed by Adam Collard
Status: Merged
Approved by: Adam Collard
Approved revision: 01aa3ad4d5c6882780da2c69db9b78be1dd2314c
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~adam-collard/maas:release-status-tweaks
Merge into: maas:master
Diff against target: 127 lines (+33/-11)
1 file modified
utilities/release-status (+33/-11)
Reviewer Review Type Date Requested Status
Björn Tillenius Approve
MAAS Lander unittests Pending
Review via email: mp+408024@code.launchpad.net

Commit message

Minor improvements to release-status to guide on issues

To post a comment you must log in.
Revision history for this message
Björn Tillenius (bjornt) wrote :

+1

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/utilities/release-status b/utilities/release-status
2index e855b7a..05cbb1d 100755
3--- a/utilities/release-status
4+++ b/utilities/release-status
5@@ -18,6 +18,7 @@ from configparser import ConfigParser
6 import glob
7 from pathlib import Path
8 import subprocess
9+import sys
10 from urllib.parse import urlparse
11
12 from launchpadlib.launchpad import Launchpad
13@@ -222,7 +223,7 @@ class MAASVersion(ReleaseStep):
14
15 if package_version != self.preparer.version:
16 error_message = (
17- f"changelog has {package_version}, run "
18+ f"changelog has {package_version} (expected {self.preparer.version}), run "
19 "utilities/release-prepare"
20 )
21 return False, error_message
22@@ -283,7 +284,10 @@ class MAASPPA(ReleaseStep):
23 try:
24 ppa = self.ppa_owner.getPPAByName(name=self.ppa_name)
25 except NotFound:
26- return False, "PPA couldn't be found."
27+ return (
28+ False,
29+ f"ppa:{self.ppa_owner.name}/{self.ppa_name} couldn't be found.",
30+ )
31 else:
32 ppa_archs = set(processor.name for processor in ppa.processors)
33 missing_archs = sorted(set(BUILD_ARCHS).difference(ppa_archs))
34@@ -325,7 +329,10 @@ class MAASPackagePublished(MAASPPA):
35 try:
36 ppa = self.ppa_owner.getPPAByName(name=self.ppa_name)
37 except NotFound:
38- return False, "PPA couldn't be found."
39+ return (
40+ False,
41+ f"ppa:{self.ppa_owner.name}/{self.ppa_name} couldn't be found.",
42+ )
43 else:
44 sources = list(
45 ppa.getPublishedSources(
46@@ -340,9 +347,9 @@ class MAASPackagePublished(MAASPPA):
47 )
48 [package] = sources
49 if not self._check_version(package.source_package_version):
50+ expected = self.preparer.version.replace("-", "~")
51 return False, (
52- "Currently published source version is "
53- + package.source_package_version
54+ f"Currently published source version is {package.source_package_version}. Expected {expected}"
55 )
56 binaries = list(
57 ppa.getPublishedBinaries(
58@@ -394,9 +401,15 @@ class PackagesCopiedFromDeps(MAASPPA):
59 source_ppa = self.preparer.lp.people[
60 "maas-committers"
61 ].getPPAByName(name="latest-deps")
62+ except NotFound:
63+ return False, "ppa:maas-committers/latest-deps couldn't be found."
64+ try:
65 target_ppa = self.ppa_owner.getPPAByName(name=self.ppa_name)
66 except NotFound:
67- return False, "PPA couldn't be found."
68+ return (
69+ False,
70+ f"ppa:{self.ppa_owner.name}/{self.ppa_name} couldn't be found.",
71+ )
72 else:
73 return self._check_packages_copied(source_ppa, target_ppa)
74
75@@ -411,9 +424,18 @@ class PackagesCopiedToReleasePPA(MAASPPA):
76 source_ppa = self.preparer.lp.me.getPPAByName(
77 name="maas-" + self.ppa_name
78 )
79+ except NotFound:
80+ return (
81+ False,
82+ f"ppa:{self.preparer.lp.me.name}/maas-{self.ppa_name} couldn't be found.",
83+ )
84+ try:
85 target_ppa = self.ppa_owner.getPPAByName(name=self.ppa_name)
86 except NotFound:
87- return False, "PPA couldn't be found."
88+ return (
89+ False,
90+ f"ppa:{self.ppa_owner.name}/{self.ppa_name} couldn't be found.",
91+ )
92 else:
93 return self._check_packages_copied(source_ppa, target_ppa)
94
95@@ -517,7 +539,7 @@ class SnapsInChannel(SnapsUploaded):
96
97 @property
98 def title(self):
99- return f"Snaps have been released to {self.channel}."
100+ return f"Snaps have been released to {self.channel}"
101
102 def check(self):
103 revision_map, error_message = self._get_revisisions()
104@@ -540,7 +562,7 @@ class SnapsInChannel(SnapsUploaded):
105 class ReleaseTagged(ReleaseStep):
106 @property
107 def title(self):
108- return "Release has been tagged."
109+ return "Release has been tagged"
110
111 def check(self):
112 tag_name = self.preparer.version
113@@ -598,7 +620,7 @@ class ReleasePreparer:
114 if all_good:
115 print("All checks PASSED!")
116 else:
117- print("Some checks FAILED, proceed with caution")
118+ return "Some checks FAILED, proceed with caution"
119
120
121 def create_parser():
122@@ -663,4 +685,4 @@ def main():
123
124
125 if __name__ == "__main__":
126- main()
127+ sys.exit(main())

Subscribers

People subscribed via source and target branches