launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #32982
[Merge] ~artemstreltsov/launchpad-buildd:add_snap_refresh_snapd into launchpad-buildd:master
Artem Streltsov has proposed merging ~artemstreltsov/launchpad-buildd:add_snap_refresh_snapd into launchpad-buildd:master with ~artemstreltsov/launchpad-buildd:remove_snap_install_hello as a prerequisite.
Commit message:
Add snap refresh snapd
Requested reviews:
Launchpad code reviewers (launchpad-reviewers)
For more details, see:
https://code.launchpad.net/~artemstreltsov/launchpad-buildd/+git/launchpad-buildd/+merge/492624
--
Your team Launchpad code reviewers is requested to review the proposed merge of ~artemstreltsov/launchpad-buildd:add_snap_refresh_snapd into launchpad-buildd:master.
diff --git a/lpbuildd/target/build_charm.py b/lpbuildd/target/build_charm.py
index 95dade1..4210d0f 100644
--- a/lpbuildd/target/build_charm.py
+++ b/lpbuildd/target/build_charm.py
@@ -85,6 +85,7 @@ class BuildCharm(
self.backend.run(["apt-get", "-y", "install"] + deps)
if self.backend.supports_snapd:
self.snap_store_set_proxy()
+ self.snap_refresh_snapd()
for snap_name, channel in sorted(self.args.channels.items()):
# charmcraft is handled separately, since it requires --classic.
if snap_name != "charmcraft":
diff --git a/lpbuildd/target/build_craft.py b/lpbuildd/target/build_craft.py
index 6998740..b36a661 100644
--- a/lpbuildd/target/build_craft.py
+++ b/lpbuildd/target/build_craft.py
@@ -111,6 +111,7 @@ class BuildCraft(
self.backend.run(["apt-get", "-y", "install"] + deps)
if self.backend.supports_snapd:
self.snap_store_set_proxy()
+ self.snap_refresh_snapd()
for snap_name, channel in sorted(self.args.channels.items()):
# sourcecraft is handled separately, since it requires --classic,
# which disables all sandboxing to ensure it runs with no strict
diff --git a/lpbuildd/target/build_livefs.py b/lpbuildd/target/build_livefs.py
index 775d4ba..1976940 100644
--- a/lpbuildd/target/build_livefs.py
+++ b/lpbuildd/target/build_livefs.py
@@ -127,6 +127,7 @@ class BuildLiveFS(SnapStoreOperationMixin, Operation):
self.backend.run(["apt-get", "-y", "install"] + deps)
if self.backend.supports_snapd:
self.snap_store_set_proxy()
+ self.snap_refresh_snapd()
if self.args.locale is not None:
self.backend.run(
[
diff --git a/lpbuildd/target/build_oci.py b/lpbuildd/target/build_oci.py
index 28c4869..7a5424f 100644
--- a/lpbuildd/target/build_oci.py
+++ b/lpbuildd/target/build_oci.py
@@ -82,6 +82,7 @@ class BuildOCI(
self.backend.run(["apt-get", "-y", "install", "docker.io"])
if self.backend.supports_snapd:
self.snap_store_set_proxy()
+ self.snap_refresh_snapd()
self.backend.run(["systemctl", "restart", "docker"])
# The docker snap can't see /build, so we have to do our work under
# /home/buildd instead. Make sure it exists.
diff --git a/lpbuildd/target/build_rock.py b/lpbuildd/target/build_rock.py
index 1d8e9fd..c0e8ce6 100644
--- a/lpbuildd/target/build_rock.py
+++ b/lpbuildd/target/build_rock.py
@@ -92,6 +92,7 @@ class BuildRock(
self.backend.run(["apt-get", "-y", "install"] + deps)
if self.backend.supports_snapd:
self.snap_store_set_proxy()
+ self.snap_refresh_snapd()
for snap_name, channel in sorted(self.args.channels.items()):
# rockcraft is handled separately, since it requires --classic,
# which disables all sandboxing to ensure it runs with no strict
diff --git a/lpbuildd/target/build_snap.py b/lpbuildd/target/build_snap.py
index 5d957ae..9ee7014 100644
--- a/lpbuildd/target/build_snap.py
+++ b/lpbuildd/target/build_snap.py
@@ -150,6 +150,7 @@ class BuildSnap(
self.backend.run(["apt-get", "-y", "install"] + deps)
if self.backend.supports_snapd:
self.snap_store_set_proxy()
+ self.snap_refresh_snapd()
for snap_name, channel in sorted(self.args.channels.items()):
# snapcraft is handled separately, since it requires --classic.
if snap_name != "snapcraft":
diff --git a/lpbuildd/target/run_ci.py b/lpbuildd/target/run_ci.py
index 54aca19..f626078 100644
--- a/lpbuildd/target/run_ci.py
+++ b/lpbuildd/target/run_ci.py
@@ -65,6 +65,7 @@ class RunCIPrepare(
self.backend.run(["apt-get", "-y", "install"] + deps)
if self.backend.supports_snapd:
self.snap_store_set_proxy()
+ self.snap_refresh_snapd()
for snap_name, channel in sorted(self.args.channels.items()):
if snap_name not in ("lxd", "lpci"):
self.backend.run(
diff --git a/lpbuildd/target/snapstore.py b/lpbuildd/target/snapstore.py
index 348e6d5..73a78cb 100644
--- a/lpbuildd/target/snapstore.py
+++ b/lpbuildd/target/snapstore.py
@@ -39,3 +39,6 @@ class SnapStoreOperationMixin:
self.backend.run(
["snap", "set", "core", f"proxy.store={store_id}"]
)
+
+ def snap_refresh_snapd(self):
+ self.backend.run(["snap", "refresh", "snapd"])
diff --git a/lpbuildd/target/tests/test_build_charm.py b/lpbuildd/target/tests/test_build_charm.py
index c9f11c3..7154873 100644
--- a/lpbuildd/target/tests/test_build_charm.py
+++ b/lpbuildd/target/tests/test_build_charm.py
@@ -23,8 +23,9 @@ from lpbuildd.target.tests.matchers import (
RanAptGet,
RanBuildCommand,
RanCommand,
+ RanSnap,
)
-from lpbuildd.target.tests.test_build_snap import FakeRevisionID, RanSnap
+from lpbuildd.target.tests.test_build_snap import FakeRevisionID
from lpbuildd.tests.fakebuilder import FakeMethod
@@ -107,6 +108,7 @@ class TestBuildCharm(TestCase):
RanAptGet(
"install", "bzr", "python3-pip", "python3-setuptools"
),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "--channel=candidate", "core"),
RanSnap("install", "--channel=beta", "core18"),
RanSnap(
@@ -138,6 +140,7 @@ class TestBuildCharm(TestCase):
RanAptGet(
"install", "bzr", "python3-pip", "python3-setuptools"
),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "--classic", "charmcraft"),
RanCommand(["mkdir", "-p", "/home/buildd"]),
]
@@ -165,6 +168,7 @@ class TestBuildCharm(TestCase):
RanAptGet(
"install", "git", "python3-pip", "python3-setuptools"
),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "--classic", "charmcraft"),
RanCommand(["mkdir", "-p", "/home/buildd"]),
]
@@ -220,6 +224,7 @@ class TestBuildCharm(TestCase):
RanCommand(
["snap", "set", "core", "proxy.store=store-id"]
),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "--classic", "charmcraft"),
RanCommand(["mkdir", "-p", "/home/buildd"]),
]
@@ -260,6 +265,7 @@ class TestBuildCharm(TestCase):
"python3-pip",
"python3-setuptools",
),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "--classic", "charmcraft"),
RanCommand(["mkdir", "-p", "/home/buildd"]),
]
@@ -310,6 +316,7 @@ class TestBuildCharm(TestCase):
"python3-pip",
"python3-setuptools",
),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "--classic", "charmcraft"),
RanCommand(["rm", "-rf", "/var/lib/apt/lists"]),
RanCommand(["update-ca-certificates"]),
@@ -408,6 +415,7 @@ class TestBuildCharm(TestCase):
"python3-pip",
"python3-setuptools",
),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "--classic", "charmcraft"),
RanCommand(["rm", "-rf", "/var/lib/apt/lists"]),
RanCommand(["update-ca-certificates"]),
diff --git a/lpbuildd/target/tests/test_build_craft.py b/lpbuildd/target/tests/test_build_craft.py
index 88ac97d..7a31ef2 100644
--- a/lpbuildd/target/tests/test_build_craft.py
+++ b/lpbuildd/target/tests/test_build_craft.py
@@ -102,6 +102,7 @@ class TestBuildCraft(TestCase):
MatchesListwise(
[
RanAptGet("install", "bzr"),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "--channel=candidate", "core"),
RanSnap("install", "--channel=beta", "core18"),
RanSnap(
@@ -131,6 +132,7 @@ class TestBuildCraft(TestCase):
MatchesListwise(
[
RanAptGet("install", "bzr"),
+ RanSnap("refresh", "snapd"),
RanSnap(
"install",
"--classic",
@@ -161,6 +163,7 @@ class TestBuildCraft(TestCase):
MatchesListwise(
[
RanAptGet("install", "git"),
+ RanSnap("refresh", "snapd"),
RanSnap(
"install",
"--classic",
@@ -219,6 +222,7 @@ class TestBuildCraft(TestCase):
RanCommand(
["snap", "set", "core", "proxy.store=store-id"]
),
+ RanSnap("refresh", "snapd"),
RanSnap(
"install",
"--classic",
@@ -262,6 +266,7 @@ class TestBuildCraft(TestCase):
"socat",
"git",
),
+ RanSnap("refresh", "snapd"),
RanSnap(
"install",
"--classic",
@@ -315,6 +320,7 @@ class TestBuildCraft(TestCase):
"socat",
"git",
),
+ RanSnap("refresh", "snapd"),
RanSnap(
"install",
"--classic",
@@ -416,6 +422,7 @@ class TestBuildCraft(TestCase):
"socat",
"git",
),
+ RanSnap("refresh", "snapd"),
RanSnap(
"install",
"--classic",
@@ -1453,6 +1460,7 @@ class TestBuildCraft(TestCase):
MatchesListwise(
[
RanAptGet("install", "git", "clamav"),
+ RanSnap("refresh", "snapd"),
RanSnap(
"install",
"--classic",
@@ -1507,6 +1515,7 @@ class TestBuildCraft(TestCase):
"git",
"clamav",
),
+ RanSnap("refresh", "snapd"),
RanSnap(
"install",
"--classic",
@@ -1550,6 +1559,7 @@ class TestBuildCraft(TestCase):
MatchesListwise(
[
RanAptGet("install", "git", "clamav"),
+ RanSnap("refresh", "snapd"),
RanSnap(
"install",
"--classic",
diff --git a/lpbuildd/target/tests/test_build_livefs.py b/lpbuildd/target/tests/test_build_livefs.py
index 21633ab..f4d8815 100644
--- a/lpbuildd/target/tests/test_build_livefs.py
+++ b/lpbuildd/target/tests/test_build_livefs.py
@@ -18,6 +18,7 @@ from lpbuildd.target.tests.matchers import (
RanAptGet,
RanBuildCommand,
RanCommand,
+ RanSnap,
)
from lpbuildd.tests.fakebuilder import FakeMethod
@@ -37,7 +38,10 @@ class TestBuildLiveFS(TestCase):
self.assertThat(
build_livefs.backend.run.calls,
MatchesListwise(
- [RanAptGet("install", "livecd-rootfs")],
+ [
+ RanAptGet("install", "livecd-rootfs"),
+ RanSnap("refresh", "snapd"),
+ ],
),
)
@@ -58,6 +62,7 @@ class TestBuildLiveFS(TestCase):
MatchesListwise(
[
RanAptGet("install", "livecd-rootfs"),
+ RanSnap("refresh", "snapd"),
RanAptGet(
"--install-recommends",
"install",
@@ -111,6 +116,7 @@ class TestBuildLiveFS(TestCase):
RanCommand(
["snap", "set", "core", "proxy.store=store-id"]
),
+ RanSnap("refresh", "snapd"),
]
),
)
diff --git a/lpbuildd/target/tests/test_build_oci.py b/lpbuildd/target/tests/test_build_oci.py
index 46a3343..10fc87c 100644
--- a/lpbuildd/target/tests/test_build_oci.py
+++ b/lpbuildd/target/tests/test_build_oci.py
@@ -22,6 +22,7 @@ from lpbuildd.target.tests.matchers import (
RanAptGet,
RanBuildCommand,
RanCommand,
+ RanSnap,
)
from lpbuildd.tests.fakebuilder import FakeMethod
@@ -101,6 +102,7 @@ class TestBuildOCI(TestCase):
[
RanAptGet("install", "bzr"),
RanAptGet("install", "docker.io"),
+ RanSnap("refresh", "snapd"),
RanCommand(["systemctl", "restart", "docker"]),
RanCommand(["mkdir", "-p", "/home/buildd"]),
]
@@ -127,6 +129,7 @@ class TestBuildOCI(TestCase):
[
RanAptGet("install", "git"),
RanAptGet("install", "docker.io"),
+ RanSnap("refresh", "snapd"),
RanCommand(["systemctl", "restart", "docker"]),
RanCommand(["mkdir", "-p", "/home/buildd"]),
]
@@ -180,6 +183,7 @@ class TestBuildOCI(TestCase):
RanCommand(
["snap", "set", "core", "proxy.store=store-id"]
),
+ RanSnap("refresh", "snapd"),
]
),
)
@@ -215,6 +219,7 @@ class TestBuildOCI(TestCase):
),
RanAptGet("install", "python3", "socat", "git"),
RanAptGet("install", "docker.io"),
+ RanSnap("refresh", "snapd"),
RanCommand(["systemctl", "restart", "docker"]),
RanCommand(["mkdir", "-p", "/home/buildd"]),
]
diff --git a/lpbuildd/target/tests/test_build_rock.py b/lpbuildd/target/tests/test_build_rock.py
index 5fa2b1b..9ce57a9 100644
--- a/lpbuildd/target/tests/test_build_rock.py
+++ b/lpbuildd/target/tests/test_build_rock.py
@@ -108,6 +108,7 @@ class TestBuildRock(TestCase):
"python3-setuptools",
"dirmngr",
),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "--channel=candidate", "core"),
RanSnap("install", "--channel=beta", "core18"),
RanSnap(
@@ -143,6 +144,7 @@ class TestBuildRock(TestCase):
"python3-setuptools",
"dirmngr",
),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "--classic", "rockcraft"),
RanCommand(["mkdir", "-p", "/home/buildd"]),
]
@@ -174,6 +176,7 @@ class TestBuildRock(TestCase):
"python3-setuptools",
"dirmngr",
),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "--classic", "rockcraft"),
RanCommand(["mkdir", "-p", "/home/buildd"]),
]
@@ -233,6 +236,7 @@ class TestBuildRock(TestCase):
RanCommand(
["snap", "set", "core", "proxy.store=store-id"]
),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "--classic", "rockcraft"),
RanCommand(["mkdir", "-p", "/home/buildd"]),
]
@@ -274,6 +278,7 @@ class TestBuildRock(TestCase):
"python3-setuptools",
"dirmngr",
),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "--classic", "rockcraft"),
RanCommand(["mkdir", "-p", "/home/buildd"]),
]
@@ -323,6 +328,7 @@ class TestBuildRock(TestCase):
"python3-setuptools",
"dirmngr",
),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "--classic", "rockcraft"),
RanCommand(["rm", "-rf", "/var/lib/apt/lists"]),
RanCommand(["update-ca-certificates"]),
@@ -420,6 +426,7 @@ class TestBuildRock(TestCase):
"python3-setuptools",
"dirmngr",
),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "--classic", "rockcraft"),
RanCommand(["rm", "-rf", "/var/lib/apt/lists"]),
RanCommand(["update-ca-certificates"]),
diff --git a/lpbuildd/target/tests/test_build_snap.py b/lpbuildd/target/tests/test_build_snap.py
index 3a94727..1989807 100644
--- a/lpbuildd/target/tests/test_build_snap.py
+++ b/lpbuildd/target/tests/test_build_snap.py
@@ -73,6 +73,7 @@ class TestBuildSnap(TestCase):
MatchesListwise(
[
RanAptGet("install", "bzr", "snapcraft"),
+ RanSnap("refresh", "snapd"),
]
),
)
@@ -96,6 +97,7 @@ class TestBuildSnap(TestCase):
MatchesListwise(
[
RanAptGet("install", "git", "snapcraft"),
+ RanSnap("refresh", "snapd"),
]
),
)
@@ -147,6 +149,7 @@ class TestBuildSnap(TestCase):
RanCommand(
["snap", "set", "core", "proxy.store=store-id"]
),
+ RanSnap("refresh", "snapd"),
]
),
)
@@ -180,6 +183,7 @@ class TestBuildSnap(TestCase):
RanAptGet(
"install", "python3", "socat", "git", "snapcraft"
),
+ RanSnap("refresh", "snapd"),
RanCommand(["mkdir", "-p", "/root/.subversion"]),
]
),
@@ -231,6 +235,7 @@ class TestBuildSnap(TestCase):
RanAptGet(
"install", "python3", "socat", "git", "snapcraft"
),
+ RanSnap("refresh", "snapd"),
RanCommand(["mkdir", "-p", "/root/.subversion"]),
RanCommand(["rm", "-rf", "/var/lib/apt/lists"]),
RanCommand(["update-ca-certificates"]),
@@ -330,6 +335,7 @@ class TestBuildSnap(TestCase):
RanAptGet(
"install", "python3", "socat", "git", "snapcraft"
),
+ RanSnap("refresh", "snapd"),
RanCommand(["mkdir", "-p", "/root/.subversion"]),
RanCommand(["rm", "-rf", "/var/lib/apt/lists"]),
RanCommand(["update-ca-certificates"]),
@@ -410,6 +416,7 @@ class TestBuildSnap(TestCase):
MatchesListwise(
[
RanAptGet("install", "bzr", "sudo"),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "--channel=candidate", "core"),
RanSnap("refresh", "--channel=candidate", "core"),
RanSnap("install", "--channel=beta", "core18"),
diff --git a/lpbuildd/target/tests/test_run_ci.py b/lpbuildd/target/tests/test_run_ci.py
index 8ea5eef..2978565 100644
--- a/lpbuildd/target/tests/test_run_ci.py
+++ b/lpbuildd/target/tests/test_run_ci.py
@@ -57,6 +57,7 @@ class TestRunCIPrepare(TestCase):
MatchesListwise(
[
RanAptGet("install", "git"),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "lxd"),
RanSnap("install", "--classic", "lpci"),
RanCommand(["lxd", "init", "--auto"]),
@@ -105,6 +106,7 @@ class TestRunCIPrepare(TestCase):
RanAptGet("install", "git"),
RanSnap("ack", "/dev/stdin", input_text=store_assertion),
RanSnap("set", "core", "proxy.store=store-id"),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "lxd"),
RanSnap("install", "--classic", "lpci"),
RanCommand(["lxd", "init", "--auto"]),
@@ -138,6 +140,7 @@ class TestRunCIPrepare(TestCase):
MatchesListwise(
[
RanAptGet("install", "python3", "socat", "git"),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "lxd"),
RanSnap("install", "--classic", "lpci"),
RanCommand(["lxd", "init", "--auto"]),
@@ -173,6 +176,7 @@ class TestRunCIPrepare(TestCase):
MatchesListwise(
[
RanAptGet("install", "git"),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "--channel=candidate", "core"),
RanSnap("install", "--channel=beta", "core20"),
RanSnap("install", "--channel=beta", "lxd"),
@@ -201,6 +205,7 @@ class TestRunCIPrepare(TestCase):
MatchesListwise(
[
RanAptGet("install", "git", "clamav"),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "lxd"),
RanSnap("install", "--classic", "lpci"),
RanCommand(["lxd", "init", "--auto"]),
@@ -244,6 +249,7 @@ class TestRunCIPrepare(TestCase):
MatchesListwise(
[
RanAptGet("install", "python3", "socat", "git", "clamav"),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "lxd"),
RanSnap("install", "--classic", "lpci"),
RanCommand(["lxd", "init", "--auto"]),
@@ -276,6 +282,7 @@ class TestRunCIPrepare(TestCase):
MatchesListwise(
[
RanAptGet("install", "git", "clamav"),
+ RanSnap("refresh", "snapd"),
RanSnap("install", "lxd"),
RanSnap("install", "--classic", "lpci"),
RanCommand(["lxd", "init", "--auto"]),