Merge ~cjwatson/launchpad-buildd:charmcraft-pack into launchpad-buildd:master

Proposed by Colin Watson
Status: Merged
Approved by: Colin Watson
Approved revision: d8478e91b73dd246c8d618695a8914cf46d55cf6
Merge reported by: Otto Co-Pilot
Merged at revision: not available
Proposed branch: ~cjwatson/launchpad-buildd:charmcraft-pack
Merge into: launchpad-buildd:master
Diff against target: 109 lines (+13/-25)
3 files modified
debian/changelog (+2/-0)
lpbuildd/target/build_charm.py (+3/-8)
lpbuildd/target/tests/test_build_charm.py (+8/-17)
Reviewer Review Type Date Requested Status
Cristian Gonzalez (community) Approve
Review via email: mp+407965@code.launchpad.net

Commit message

Switch to "charmcraft pack --destructive-mode"

Description of the change

This is safe now that Charmcraft 1.2 is in the stable channel.

To post a comment you must log in.
Revision history for this message
Cristian Gonzalez (cristiangsp) wrote :

Looks good!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index 5195400..84bcf3c 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,6 +1,8 @@
6 launchpad-buildd (201) UNRELEASED; urgency=medium
7
8 * Sanitize non-user-bound macaroons in build logs.
9+ * Switch to "charmcraft pack --destructive-mode", now that Charmcraft 1.2
10+ is in the stable channel.
11
12 -- Colin Watson <cjwatson@ubuntu.com> Fri, 20 Aug 2021 17:53:12 +0100
13
14diff --git a/lpbuildd/target/build_charm.py b/lpbuildd/target/build_charm.py
15index a6c6278..f37c638 100644
16--- a/lpbuildd/target/build_charm.py
17+++ b/lpbuildd/target/build_charm.py
18@@ -51,7 +51,7 @@ class BuildCharm(BuilderProxyOperationMixin, VCSOperationMixin,
19 self.bin = os.path.dirname(sys.argv[0])
20 self.buildd_path = os.path.join("/home/buildd", self.args.name)
21
22- def run_build_command(self, args, env=None, build_path=None, **kwargs):
23+ def run_build_command(self, args, env=None, **kwargs):
24 """Run a build command in the target.
25
26 :param args: the command and arguments to run.
27@@ -120,17 +120,12 @@ class BuildCharm(BuilderProxyOperationMixin, VCSOperationMixin,
28 self.args.build_path)
29 check_path_escape(self.buildd_path, build_context_path)
30 env = OrderedDict()
31- env["CHARMCRAFT_MANAGED_MODE"] = "1"
32 if self.args.proxy_url:
33 env["http_proxy"] = self.args.proxy_url
34 env["https_proxy"] = self.args.proxy_url
35 env["GIT_PROXY_COMMAND"] = "/usr/local/bin/lpbuildd-git-proxy"
36- args = [
37- "charmcraft", "build", "-v",
38- "-p", build_context_path,
39- "-f", build_context_path,
40- ]
41- self.run_build_command(args, env=env)
42+ args = ["charmcraft", "pack", "-v", "--destructive-mode"]
43+ self.run_build_command(args, env=env, cwd=build_context_path)
44
45 def run(self):
46 try:
47diff --git a/lpbuildd/target/tests/test_build_charm.py b/lpbuildd/target/tests/test_build_charm.py
48index 61e8602..d695a37 100644
49--- a/lpbuildd/target/tests/test_build_charm.py
50+++ b/lpbuildd/target/tests/test_build_charm.py
51@@ -358,10 +358,8 @@ class TestBuildCharm(TestCase):
52 build_charm.build()
53 self.assertThat(build_charm.backend.run.calls, MatchesListwise([
54 RanBuildCommand(
55- ["charmcraft", "build", "-v",
56- "-p", "/home/buildd/test-image/.",
57- "-f", "/home/buildd/test-image/."],
58- cwd="/home/buildd/test-image", CHARMCRAFT_MANAGED_MODE="1"),
59+ ["charmcraft", "pack", "-v", "--destructive-mode"],
60+ cwd="/home/buildd/test-image/."),
61 ]))
62
63 def test_build_with_path(self):
64@@ -376,10 +374,8 @@ class TestBuildCharm(TestCase):
65 build_charm.build()
66 self.assertThat(build_charm.backend.run.calls, MatchesListwise([
67 RanBuildCommand(
68- ["charmcraft", "build", "-v",
69- "-p", "/home/buildd/test-image/build-aux/",
70- "-f", "/home/buildd/test-image/build-aux/"],
71- cwd="/home/buildd/test-image", CHARMCRAFT_MANAGED_MODE="1"),
72+ ["charmcraft", "pack", "-v", "--destructive-mode"],
73+ cwd="/home/buildd/test-image/build-aux/"),
74 ]))
75
76 def test_build_proxy(self):
77@@ -392,17 +388,14 @@ class TestBuildCharm(TestCase):
78 build_charm = parse_args(args=args).operation
79 build_charm.build()
80 env = {
81- "CHARMCRAFT_MANAGED_MODE": "1",
82 "http_proxy": "http://proxy.example:3128/",
83 "https_proxy": "http://proxy.example:3128/",
84 "GIT_PROXY_COMMAND": "/usr/local/bin/lpbuildd-git-proxy",
85 }
86 self.assertThat(build_charm.backend.run.calls, MatchesListwise([
87 RanBuildCommand(
88- ["charmcraft", "build", "-v",
89- "-p", "/home/buildd/test-image/.",
90- "-f", "/home/buildd/test-image/."],
91- cwd="/home/buildd/test-image", **env),
92+ ["charmcraft", "pack", "-v", "--destructive-mode"],
93+ cwd="/home/buildd/test-image/.", **env),
94 ]))
95
96 def test_run_succeeds(self):
97@@ -422,10 +415,8 @@ class TestBuildCharm(TestCase):
98 ["bzr", "branch", "lp:foo", "test-image"],
99 cwd="/home/buildd")),
100 AnyMatch(RanBuildCommand(
101- ["charmcraft", "build", "-v",
102- "-p", "/home/buildd/test-image/.",
103- "-f", "/home/buildd/test-image/."],
104- cwd="/home/buildd/test-image", CHARMCRAFT_MANAGED_MODE="1")),
105+ ["charmcraft", "pack", "-v", "--destructive-mode"],
106+ cwd="/home/buildd/test-image/.")),
107 ))
108
109 def test_run_install_fails(self):

Subscribers

People subscribed via source and target branches