[Launchpad-reviewers] [Merge] ~lgp171188/lp-source-dependencies:add-waitress-2.1.2 into lp-source-dependencies:master
The proposal to merge ~lgp171188/lp-source-dependencies:add-waitress-2.1.2 into lp-source-dependencies:master has been updated. Description changed to: Related Launchpad MP - https://code.launchpad.net/~lgp171188/launchpad/+git/launchpad/+merge/459895 For more details, see: https://code.launchpad.net/~lgp171188/lp-source-dependencies/+git/lp-source-dependencies/+merge/459896 -- Your team Launchpad code reviewers is requested to review the proposed merge of ~lgp171188/lp-source-dependencies:add-waitress-2.1.2 into lp-source-dependencies:master. ___ Mailing list: https://launchpad.net/~launchpad-reviewers Post to : launchpad-reviewers@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-reviewers More help : https://help.launchpad.net/ListHelp
[Launchpad-reviewers] [Merge] ~lgp171188/lp-source-dependencies:add-waitress-2.1.2 into lp-source-dependencies:master
Guruprasad has proposed merging ~lgp171188/lp-source-dependencies:add-waitress-2.1.2 into lp-source-dependencies:master. Commit message: Add waitress 2.1.2 Requested reviews: Launchpad code reviewers (launchpad-reviewers) For more details, see: https://code.launchpad.net/~lgp171188/lp-source-dependencies/+git/lp-source-dependencies/+merge/459896 -- Your team Launchpad code reviewers is requested to review the proposed merge of ~lgp171188/lp-source-dependencies:add-waitress-2.1.2 into lp-source-dependencies:master. diff --git a/dist/waitress-2.1.2.tar.gz b/dist/waitress-2.1.2.tar.gz new file mode 100644 index 000..1995704 Binary files /dev/null and b/dist/waitress-2.1.2.tar.gz differ ___ Mailing list: https://launchpad.net/~launchpad-reviewers Post to : launchpad-reviewers@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-reviewers More help : https://help.launchpad.net/ListHelp
[Launchpad-reviewers] [Merge] ~lgp171188/lp-source-dependencies:remove-unused-versions-of-pyyaml into lp-source-dependencies:master
The proposal to merge ~lgp171188/lp-source-dependencies:remove-unused-versions-of-pyyaml into lp-source-dependencies:master has been updated. Description changed to: For more details, see: https://code.launchpad.net/~lgp171188/lp-source-dependencies/+git/lp-source-dependencies/+merge/459893 -- Your team Launchpad code reviewers is requested to review the proposed merge of ~lgp171188/lp-source-dependencies:remove-unused-versions-of-pyyaml into lp-source-dependencies:master. ___ Mailing list: https://launchpad.net/~launchpad-reviewers Post to : launchpad-reviewers@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-reviewers More help : https://help.launchpad.net/ListHelp
[Launchpad-reviewers] [Merge] ~lgp171188/launchpad:upgrade-waitress-to-2.1.2-critical-security-fix into launchpad:master
The proposal to merge ~lgp171188/launchpad:upgrade-waitress-to-2.1.2-critical-security-fix into launchpad:master has been updated. Description changed to: Related lp-source-dependencies MP - https://code.launchpad.net/~lgp171188/lp-source-dependencies/+git/lp-source-dependencies/+merge/459896 For more details, see: https://code.launchpad.net/~lgp171188/launchpad/+git/launchpad/+merge/459895 -- Your team Launchpad code reviewers is requested to review the proposed merge of ~lgp171188/launchpad:upgrade-waitress-to-2.1.2-critical-security-fix into launchpad:master. ___ Mailing list: https://launchpad.net/~launchpad-reviewers Post to : launchpad-reviewers@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-reviewers More help : https://help.launchpad.net/ListHelp
[Launchpad-reviewers] [Merge] ~lgp171188/launchpad:upgrade-waitress-to-2.1.2-critical-security-fix into launchpad:master
Guruprasad has proposed merging ~lgp171188/launchpad:upgrade-waitress-to-2.1.2-critical-security-fix into launchpad:master. Commit message: Upgrade waitress to 2.1.2 to fix multiple security issues See https://docs.pylonsproject.org/projects/waitress/en/latest/index.html#change-history. Requested reviews: Launchpad code reviewers (launchpad-reviewers) For more details, see: https://code.launchpad.net/~lgp171188/launchpad/+git/launchpad/+merge/459895 Related lp-source-dependencies MP - https://code.launchpad.net/~lgp171188/lp-source-dependencies/+git/lp-source-dependencies/+merge/459893 -- Your team Launchpad code reviewers is requested to review the proposed merge of ~lgp171188/launchpad:upgrade-waitress-to-2.1.2-critical-security-fix into launchpad:master. diff --git a/requirements/launchpad.txt b/requirements/launchpad.txt index 0575fe1..cc28c81 100644 --- a/requirements/launchpad.txt +++ b/requirements/launchpad.txt @@ -188,7 +188,7 @@ van.testing==3.0.0 vine==1.3.0 virtualenv-tools3==2.0.5 wadllib==1.3.6 -waitress==1.3.1 +waitress==2.1.2 wcwidth==0.2.6 webencodings==0.5.1 WebOb==1.8.5 ___ Mailing list: https://launchpad.net/~launchpad-reviewers Post to : launchpad-reviewers@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-reviewers More help : https://help.launchpad.net/ListHelp
[Launchpad-reviewers] [Merge] ~lgp171188/lp-source-dependencies:remove-unused-versions-of-pyyaml into lp-source-dependencies:master
The proposal to merge ~lgp171188/lp-source-dependencies:remove-unused-versions-of-pyyaml into lp-source-dependencies:master has been updated. Description changed to: Related Launchpad MP - https://code.launchpad.net/~lgp171188/launchpad/+git/launchpad/+merge/459895 For more details, see: https://code.launchpad.net/~lgp171188/lp-source-dependencies/+git/lp-source-dependencies/+merge/459893 -- Your team Launchpad code reviewers is requested to review the proposed merge of ~lgp171188/lp-source-dependencies:remove-unused-versions-of-pyyaml into lp-source-dependencies:master. ___ Mailing list: https://launchpad.net/~launchpad-reviewers Post to : launchpad-reviewers@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-reviewers More help : https://help.launchpad.net/ListHelp
[Launchpad-reviewers] [Merge] ~lgp171188/lp-source-dependencies:remove-unused-versions-of-pyyaml into lp-source-dependencies:master
Guruprasad has proposed merging ~lgp171188/lp-source-dependencies:remove-unused-versions-of-pyyaml into lp-source-dependencies:master. Commit message: Remove PyYAML 5.3.1 and 5.4.1 These are not used any more Requested reviews: Launchpad code reviewers (launchpad-reviewers) For more details, see: https://code.launchpad.net/~lgp171188/lp-source-dependencies/+git/lp-source-dependencies/+merge/459893 -- Your team Launchpad code reviewers is requested to review the proposed merge of ~lgp171188/lp-source-dependencies:remove-unused-versions-of-pyyaml into lp-source-dependencies:master. diff --git a/dist/PyYAML-5.3.1.tar.gz b/dist/PyYAML-5.3.1.tar.gz deleted file mode 100644 index 915d67b..000 Binary files a/dist/PyYAML-5.3.1.tar.gz and /dev/null differ diff --git a/dist/PyYAML-5.4.1.tar.gz b/dist/PyYAML-5.4.1.tar.gz deleted file mode 100644 index 187c66e..000 Binary files a/dist/PyYAML-5.4.1.tar.gz and /dev/null differ ___ Mailing list: https://launchpad.net/~launchpad-reviewers Post to : launchpad-reviewers@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-reviewers More help : https://help.launchpad.net/ListHelp
Re: [Launchpad-reviewers] [Merge] ~pelpsi/launchpad-buildd:snap-components-support into launchpad-buildd:master
i think having a realistic filename will help tracing & finding this with `git grep` later Diff comments: > diff --git a/lpbuildd/tests/test_snap.py b/lpbuildd/tests/test_snap.py > index 0e44093..42834a3 100644 > --- a/lpbuildd/tests/test_snap.py > +++ b/lpbuildd/tests/test_snap.py > @@ -255,6 +255,78 @@ class TestSnapBuildManagerIteration(TestCase): > self.assertFalse(self.builder.wasCalled("buildFail")) > > @defer.inlineCallbacks > +def test_iterate_with_components(self): > +# The build manager iterates a build that uploads components from > +# start to finish. > +args = { > +"git_repository": "https://git.launchpad.dev/~example/+git/snap";, > +"git_path": "master", > +} > +expected_options = [ > +"--git-repository", > +"https://git.launchpad.dev/~example/+git/snap";, > +"--git-path", > +"master", > +] > +yield self.startBuild(args, expected_options) > + > +log_path = os.path.join(self.buildmanager._cachepath, "buildlog") > +with open(log_path, "w") as log: > +log.write("I am a build log.") > + > +self.buildmanager.backend.add_file( > +"/build/test-snap/test-snap_0_all.snap", b"I am a snap package." > +) > +self.buildmanager.backend.add_file( > +"/build/test-snap/test-snap_0_all.comp", b"I am a component." Not a realistic component name. Please use "test-snap+somecomponent_0.comp" > +) > + > +# After building the package, reap processes. > +yield self.buildmanager.iterate(0) > +expected_command = [ > +"sharepath/bin/in-target", > +"in-target", > +"scan-for-processes", > +"--backend=lxd", > +"--series=xenial", > +"--arch=i386", > +self.buildid, > +] > +self.assertEqual(SnapBuildState.BUILD_SNAP, self.getState()) > +self.assertEqual(expected_command, self.buildmanager.commands[-1]) > +self.assertNotEqual( > +self.buildmanager.iterate, self.buildmanager.iterators[-1] > +) > +self.assertFalse(self.builder.wasCalled("buildFail")) > +self.assertThat( > +self.builder, > +HasWaitingFiles.byEquality( > +{ > +"test-snap_0_all.comp": b"I am a component.", > +"test-snap_0_all.snap": b"I am a snap package.", > +} > +), > +) > + > +# Control returns to the DebianBuildManager in the UMOUNT state. > +self.buildmanager.iterateReap(self.getState(), 0) > +expected_command = [ > +"sharepath/bin/in-target", > +"in-target", > +"umount-chroot", > +"--backend=lxd", > +"--series=xenial", > +"--arch=i386", > +self.buildid, > +] > +self.assertEqual(SnapBuildState.UMOUNT, self.getState()) > +self.assertEqual(expected_command, self.buildmanager.commands[-1]) > +self.assertEqual( > +self.buildmanager.iterate, self.buildmanager.iterators[-1] > +) > +self.assertFalse(self.builder.wasCalled("buildFail")) > + > +@defer.inlineCallbacks > def test_iterate_with_debug(self): > # The build manager iterates a build that uploads debug symbols from > # start to finish. -- https://code.launchpad.net/~pelpsi/launchpad-buildd/+git/launchpad-buildd/+merge/459807 Your team Launchpad code reviewers is requested to review the proposed merge of ~pelpsi/launchpad-buildd:snap-components-support into launchpad-buildd:master. ___ Mailing list: https://launchpad.net/~launchpad-reviewers Post to : launchpad-reviewers@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-reviewers More help : https://help.launchpad.net/ListHelp
Re: [Launchpad-reviewers] [Merge] ~pelpsi/launchpad-buildd:snap-components-support into launchpad-buildd:master
Thank you for you review! Sure, I was not so clear. Test here is testing a build with a component and checks if the component is added correctly to the waiting files. I came up with that solution when Dimitri (xnox) asked why the `.comp` file generated by this build https://launchpad.net/~canonical-kernel-snaps/canonical-kernel-snaps/+snap/hwe-kernel-test-component/+build/2376991 didn't appear on `Built files`. So I started the investigation and I saw (from the build logs) that the component was generated correctly: ``` Packed component 'iwlwifi' to 'pc-kernel+iwlwifi_0.1.comp'. Created component packages ``` So I noticed that when we are gathering the results from the build and we are adding them to the file cache we are filtering the results, for this reason I added the new suffix. -- https://code.launchpad.net/~pelpsi/launchpad-buildd/+git/launchpad-buildd/+merge/459807 Your team Launchpad code reviewers is requested to review the proposed merge of ~pelpsi/launchpad-buildd:snap-components-support into launchpad-buildd:master. ___ Mailing list: https://launchpad.net/~launchpad-reviewers Post to : launchpad-reviewers@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-reviewers More help : https://help.launchpad.net/ListHelp
[Launchpad-reviewers] [Merge] ~pelpsi/launchpad-buildd:snap-components-support into launchpad-buildd:master
The proposal to merge ~pelpsi/launchpad-buildd:snap-components-support into launchpad-buildd:master has been updated. Commit message changed to: Added support for snap components `.comp` files must be added to file cache. Snap components and `.comp` file type: https://docs.google.com/document/d/1YEGsTgpbtmy3QO549mgTLBbTFQegl8_LVUVbQ_z9tPs/edit For more details, see: https://code.launchpad.net/~pelpsi/launchpad-buildd/+git/launchpad-buildd/+merge/459807 -- Your team Launchpad code reviewers is requested to review the proposed merge of ~pelpsi/launchpad-buildd:snap-components-support into launchpad-buildd:master. ___ Mailing list: https://launchpad.net/~launchpad-reviewers Post to : launchpad-reviewers@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-reviewers More help : https://help.launchpad.net/ListHelp
Re: [Launchpad-reviewers] [Merge] ~pelpsi/launchpad-buildd:snap-components-support into launchpad-buildd:master
Oh, and btw... how do you know you have to add .comp files? That is also valuable information. -- https://code.launchpad.net/~pelpsi/launchpad-buildd/+git/launchpad-buildd/+merge/459807 Your team Launchpad code reviewers is requested to review the proposed merge of ~pelpsi/launchpad-buildd:snap-components-support into launchpad-buildd:master. ___ Mailing list: https://launchpad.net/~launchpad-reviewers Post to : launchpad-reviewers@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-reviewers More help : https://help.launchpad.net/ListHelp
Re: [Launchpad-reviewers] [Merge] ~pelpsi/launchpad-buildd:snap-components-support into launchpad-buildd:master
I think this should probably work, but without context it is hard to tell what is going on. Is there any official information about Snap components and maybe even what .comp file is looking like? If so, please link to it in the commit message and in a proper spot in our code base. If there is not documentation available (yet), please add more context - at very least in the commit message, but preferable also in the code. What is a .comp file? I understand that you used the other tests as a blue print, but from just reading the test name, I have no clue what this is testing. "iterate with components" - huh? What is that. The one line comment does not help much either. So, could you please write in your own words what you understand what is tested here? -- https://code.launchpad.net/~pelpsi/launchpad-buildd/+git/launchpad-buildd/+merge/459807 Your team Launchpad code reviewers is requested to review the proposed merge of ~pelpsi/launchpad-buildd:snap-components-support into launchpad-buildd:master. ___ Mailing list: https://launchpad.net/~launchpad-reviewers Post to : launchpad-reviewers@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-reviewers More help : https://help.launchpad.net/ListHelp
[Launchpad-reviewers] [Merge] ~pelpsi/launchpad-buildd:snap-components-support into launchpad-buildd:master
Simone Pelosi has proposed merging ~pelpsi/launchpad-buildd:snap-components-support into launchpad-buildd:master. Commit message: Added support for snap components `.comp` files must be added to file cache. Requested reviews: Launchpad code reviewers (launchpad-reviewers) For more details, see: https://code.launchpad.net/~pelpsi/launchpad-buildd/+git/launchpad-buildd/+merge/459807 -- Your team Launchpad code reviewers is requested to review the proposed merge of ~pelpsi/launchpad-buildd:snap-components-support into launchpad-buildd:master. diff --git a/debian/changelog b/debian/changelog index 4849b34..e8bf844 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@ launchpad-buildd (236) UNRELEASED; urgency=medium + [ Colin Watson ] * Add lxc.cgroup2.* configuration, for compatibility with future environments where we use unified cgroup2. (However, we should keep using systemd.unified_cgroup_hierarchy=false until we drop support for @@ -9,6 +10,9 @@ launchpad-buildd (236) UNRELEASED; urgency=medium separately. * Document deployment to qastaging in place of dogfood. + [Simone Pelosi] + * Add support for snap components. + -- Colin Watson Thu, 16 Nov 2023 16:06:07 + launchpad-buildd (235) focal; urgency=medium diff --git a/lpbuildd/snap.py b/lpbuildd/snap.py index d922242..d840093 100644 --- a/lpbuildd/snap.py +++ b/lpbuildd/snap.py @@ -139,7 +139,7 @@ class SnapBuildManager(BuildManagerProxyMixin, DebianBuildManager): if self.backend.islink(path): continue if entry.endswith( -(".snap", ".manifest", ".debug", ".dpkg.yaml") +(".snap", ".manifest", ".debug", ".dpkg.yaml", ".comp") ): self.addWaitingFileFromBackend(path) if self.build_source_tarball: diff --git a/lpbuildd/tests/test_snap.py b/lpbuildd/tests/test_snap.py index 0e44093..42834a3 100644 --- a/lpbuildd/tests/test_snap.py +++ b/lpbuildd/tests/test_snap.py @@ -255,6 +255,78 @@ class TestSnapBuildManagerIteration(TestCase): self.assertFalse(self.builder.wasCalled("buildFail")) @defer.inlineCallbacks +def test_iterate_with_components(self): +# The build manager iterates a build that uploads components from +# start to finish. +args = { +"git_repository": "https://git.launchpad.dev/~example/+git/snap";, +"git_path": "master", +} +expected_options = [ +"--git-repository", +"https://git.launchpad.dev/~example/+git/snap";, +"--git-path", +"master", +] +yield self.startBuild(args, expected_options) + +log_path = os.path.join(self.buildmanager._cachepath, "buildlog") +with open(log_path, "w") as log: +log.write("I am a build log.") + +self.buildmanager.backend.add_file( +"/build/test-snap/test-snap_0_all.snap", b"I am a snap package." +) +self.buildmanager.backend.add_file( +"/build/test-snap/test-snap_0_all.comp", b"I am a component." +) + +# After building the package, reap processes. +yield self.buildmanager.iterate(0) +expected_command = [ +"sharepath/bin/in-target", +"in-target", +"scan-for-processes", +"--backend=lxd", +"--series=xenial", +"--arch=i386", +self.buildid, +] +self.assertEqual(SnapBuildState.BUILD_SNAP, self.getState()) +self.assertEqual(expected_command, self.buildmanager.commands[-1]) +self.assertNotEqual( +self.buildmanager.iterate, self.buildmanager.iterators[-1] +) +self.assertFalse(self.builder.wasCalled("buildFail")) +self.assertThat( +self.builder, +HasWaitingFiles.byEquality( +{ +"test-snap_0_all.comp": b"I am a component.", +"test-snap_0_all.snap": b"I am a snap package.", +} +), +) + +# Control returns to the DebianBuildManager in the UMOUNT state. +self.buildmanager.iterateReap(self.getState(), 0) +expected_command = [ +"sharepath/bin/in-target", +"in-target", +"umount-chroot", +"--backend=lxd", +"--series=xenial", +"--arch=i386", +self.buildid, +] +self.assertEqual(SnapBuildState.UMOUNT, self.getState()) +self.assertEqual(expected_command, self.buildmanager.commands[-1]) +self.assertEqual( +self.buildmanager.iterate, self.buildmanager.iterators[-1] +) +self.assertFalse(self.builder.wasCalled("buildFail")) + +@defer.inlineCallbacks def test_iterate_with_debug(self): # The build manager iterates a build that uploads debug symb