← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] ~jugmac00/launchpad-buildd:provide-additional-repositories-instead-of-replacing-them into launchpad-buildd:master

 

Jürgen Gmach has proposed merging ~jugmac00/launchpad-buildd:provide-additional-repositories-instead-of-replacing-them into launchpad-buildd:master.

Commit message:
Provide additional package repositories for CI builds
    
... rather than replacing the base repositories.

Requested reviews:
  Launchpad code reviewers (launchpad-reviewers)

For more details, see:
https://code.launchpad.net/~jugmac00/launchpad-buildd/+git/launchpad-buildd/+merge/428410
-- 
Your team Launchpad code reviewers is requested to review the proposed merge of ~jugmac00/launchpad-buildd:provide-additional-repositories-instead-of-replacing-them into launchpad-buildd:master.
diff --git a/debian/changelog b/debian/changelog
index 7fbdba9..b9ed6de 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+launchpad-buildd (219) UNRELEASED; urgency=medium
+
+  * Provide additional package repositories for CI builds rather than replacing
+    the base repositories.
+
+ -- Jürgen Gmach <juergen.gmach@xxxxxxxxxxxxx>  Tue, 16 Aug 2022 18:40:31 +0200
+
 launchpad-buildd (218) focal; urgency=medium
 
   * Use a common output directory for all lpcraft jobs.
diff --git a/lpbuildd/ci.py b/lpbuildd/ci.py
index fcfd8d4..3401aae 100644
--- a/lpbuildd/ci.py
+++ b/lpbuildd/ci.py
@@ -60,7 +60,7 @@ class CIBuildManager(BuildManagerProxyMixin, DebianBuildManager):
         self.revocation_endpoint = extra_args.get("revocation_endpoint")
         self.proxy_service = None
         self.job_status = {}
-        self.apt_repositories = extra_args.get("apt_repositories")
+        self.package_repositories = extra_args.get("package_repositories")
         self.environment_variables = extra_args.get("environment_variables")
         self.plugin_settings = extra_args.get("plugin_settings")
         self.secrets = extra_args.get("secrets")
@@ -141,9 +141,9 @@ class CIBuildManager(BuildManagerProxyMixin, DebianBuildManager):
     def runNextJob(self):
         """Run the next CI job."""
         args = list(self.proxy_args)
-        if self.apt_repositories is not None:
-            for repository in self.apt_repositories:
-                args.extend(["--apt-repository", repository])
+        if self.package_repositories is not None:
+            for repository in self.package_repositories:
+                args.extend(["--package-repository", repository])
         if self.environment_variables is not None:
             for key, value in self.environment_variables.items():
                 args.extend(
diff --git a/lpbuildd/target/run_ci.py b/lpbuildd/target/run_ci.py
index 7a8fa3b..8f23b01 100644
--- a/lpbuildd/target/run_ci.py
+++ b/lpbuildd/target/run_ci.py
@@ -101,8 +101,8 @@ class RunCI(BuilderProxyOperationMixin, Operation):
             help="environment variable where key and value are separated by =",
         )
         parser.add_argument(
-            "--apt-repository",
-            dest="apt_repositories",
+            "--package-repository",
+            dest="package_repositories",
             type=str,
             action="append",
             default=[],
@@ -141,8 +141,8 @@ class RunCI(BuilderProxyOperationMixin, Operation):
             self.args.job_name,
             str(self.args.job_index),
         ]
-        for repository in self.args.apt_repositories:
-            lpcraft_args.extend(["--apt-replace-repositories", repository])
+        for repository in self.args.package_repositories:
+            lpcraft_args.extend(["--package-repository", repository])
 
         environment_variables = dict(
             pair.split("=", maxsplit=1)
diff --git a/lpbuildd/target/tests/test_run_ci.py b/lpbuildd/target/tests/test_run_ci.py
index ed6e0a2..0b0b77b 100644
--- a/lpbuildd/target/tests/test_run_ci.py
+++ b/lpbuildd/target/tests/test_run_ci.py
@@ -371,13 +371,13 @@ class TestRunCI(TestCase):
                 ], cwd="/build/tree"),
             ]))
 
-    def test_run_job_with_apt_repositories(self):
+    def test_run_job_with_package_repositories(self):
         args = [
             "run-ci",
             "--backend=fake", "--series=focal", "--arch=amd64", "1",
-            "--apt-repository",
+            "--package-repository",
             "deb http://archive.ubuntu.com/ubuntu/ focal main restricted",
-            "--apt-repository",
+            "--package-repository",
             "deb http://archive.ubuntu.com/ubuntu/ focal universe",
             "test", "0",
             ]
@@ -389,8 +389,8 @@ class TestRunCI(TestCase):
                 "/bin/bash", "-o", "pipefail", "-c",
                 "lpcraft -v run-one --output-directory /build/output "
                 "test 0 "
-                "--apt-replace-repositories 'deb http://archive.ubuntu.com/ubuntu/ focal main restricted' "  # noqa: E501
-                "--apt-replace-repositories 'deb http://archive.ubuntu.com/ubuntu/ focal universe' "  # noqa: E501
+                "--package-repository 'deb http://archive.ubuntu.com/ubuntu/ focal main restricted' "  # noqa: E501
+                "--package-repository 'deb http://archive.ubuntu.com/ubuntu/ focal universe' "  # noqa: E501
                 "2>&1 "
                 "| tee /build/output/test/0/log",
                 ], cwd="/build/tree"),
diff --git a/lpbuildd/tests/test_ci.py b/lpbuildd/tests/test_ci.py
index 8fa6ee7..88dda19 100644
--- a/lpbuildd/tests/test_ci.py
+++ b/lpbuildd/tests/test_ci.py
@@ -119,7 +119,7 @@ class TestCIBuildManagerIteration(TestCase):
             "git_repository": "https://git.launchpad.test/~example/+git/ci";,
             "git_path": "main",
             "jobs": [[("build", "0")], [("test", "0")]],
-            "apt_repositories": ["repository one", "repository two"],
+            "package_repositories": ["repository one", "repository two"],
             "environment_variables": {
                 "INDEX": "http://example.com";, "PATH": "foo"},
             "plugin_settings": {
@@ -138,8 +138,8 @@ class TestCIBuildManagerIteration(TestCase):
 
         # After preparation, start running the first job.
         expected_job_options = [
-            "--apt-repository", "repository one",
-            "--apt-repository", "repository two",
+            "--package-repository", "repository one",
+            "--package-repository", "repository two",
             "--environment-variable", "INDEX=http://example.com";,
             "--environment-variable", "PATH=foo",
             "--plugin-setting", "miniconda_conda_channel=https://user:pass@xxxxxxxxxxxxxxxxxxxxx/artifactory/soss-conda-stable-local/";,  # noqa: E501
@@ -261,7 +261,7 @@ class TestCIBuildManagerIteration(TestCase):
             "git_repository": "https://git.launchpad.test/~example/+git/ci";,
             "git_path": "main",
             "jobs": [[("lint", "0"), ("build", "0")], [("test", "0")]],
-            "apt_repositories": ["repository one", "repository two"],
+            "package_repositories": ["repository one", "repository two"],
             "environment_variables": {
                 "INDEX": "http://example.com";, "PATH": "foo"},
             "plugin_settings": {
@@ -280,8 +280,8 @@ class TestCIBuildManagerIteration(TestCase):
 
         # After preparation, start running the first job.
         expected_job_options = [
-            "--apt-repository", "repository one",
-            "--apt-repository", "repository two",
+            "--package-repository", "repository one",
+            "--package-repository", "repository two",
             "--environment-variable", "INDEX=http://example.com";,
             "--environment-variable", "PATH=foo",
             "--plugin-setting", "miniconda_conda_channel=https://user:pass@xxxxxxxxxxxxxxxxxxxxx/artifactory/soss-conda-stable-local/";,  # noqa: E501

Follow ups