IRC logs for #buildstream for Monday, 2020-04-20

juergbijjardon: the new Debian droplets (both permanent and autoscale) break non-setuid bubblewrap as they have a Debian-specific patch disabling unprivileged user namespaces05:23
juergbiwe either need to set kernel.unprivileged_userns_clone=1 or switch to e.g. Fedora05:24
juergbiI could manually change the former (sysctl) on the permanent ones but if they weren't set up manually, it would be better to update the script05:26
juergbiand not sure what's the best way to change it for autoscale droplets05:26
juergbitheoretically, I think we could even set it from within the (privileged) docker containers. however, as it affects the whole system, that wouldn't be very clean05:27
jjardonjuergbi: let me change all to fedora06:46
jjardonjuergbi:  well no, the permanents are debian, so please go ahead with that manual fix06:47
jjardonI will change the autoscale ones06:47
juergbiok, will change the sysctl in the permanent ones06:49
jjardonjuergbi: done06:49
*** tristan has quit IRC06:49
jjardon(sorry I would do the permanents ones but I have a meeting in 5 min)06:50
juergbino problem. I've created and applied /etc/sysctl.d/local.conf on the permanent ones06:54
*** tristan has joined #buildstream06:55
*** narispo has quit IRC07:09
*** benschubert has joined #buildstream07:09
*** narispo has joined #buildstream07:09
*** ChanServ sets mode: +o tristan07:13
tristanInteresting, so because of all the CI madness on master, the website is not updating... https://gitlab.com/BuildStream/docs-website/-/jobs/51786918207:14
tristanI think this will go away by itself though07:14
tristanLets try manually running a normal, documentation publishing pipeline on master (not a scheduled nightly known-to-fail pipeline)07:15
tristanand then rerun docs-website07:15
gitlab-br-bottristanvb opened MR !1869 (tristan/remove-old-version-annotations->master: Remove old version annotations) on buildstream https://gitlab.com/BuildStream/buildstream/-/merge_requests/186907:42
gitlab-br-botBenjaminSchubert approved MR !1869 (tristan/remove-old-version-annotations->master: Remove old version annotations) on buildstream https://gitlab.com/BuildStream/buildstream/-/merge_requests/186907:47
tristanWhat is the current way for checking if a MappingNode has a key ?08:07
tristanif "key" in node.keys(): ... ?08:07
juergbitristan: should be without the .keys() part08:24
juergbii.e., it directly implements __contains__08:25
*** santi has joined #buildstream08:26
tristanAlrighty08:28
*** narispo has quit IRC08:30
*** narispo has joined #buildstream08:30
juergbivalentind: !1843 now also fixes the FileNotFoundError in push that you've encountered (incl. test case). I hope that covers related missing blob issues and will hopefully be merged soon08:35
gitlab-br-botMR !1843: Fix handling of missing blobs in `ArtifactCache.pull()` https://gitlab.com/BuildStream/buildstream/-/merge_requests/184308:35
juergbi*all related missing blob issues08:35
valentindOK, I will update the docker image08:36
*** rdale has joined #buildstream08:40
*** tpollard has joined #buildstream08:46
jjardonjuergbi: meeting finish; all ok with the CI so far?08:50
juergbijjardon: I think it's working ok right now, will see more over time08:51
juergbia hardlink-related tar tests appears to be somewhat flaky now. not sure why but haven't seen this before. will keep an eye on it08:53
*** lachlan has joined #buildstream08:56
jjardonjuergbi: on the elastic or permanent runners? or both?08:57
juergbion a permanent runner08:57
tristanPipelines seem to be failing on master, it seems to only happen sometimes but, I've got two failures from ubuntu 18 in a row: https://gitlab.com/BuildStream/buildstream/-/jobs/51807433408:58
jjardonah ok; that is running debian10 instead fedora30 so maybe there are some differences08:58
tristanSeems unrelated to runners08:58
juergbithat's indeed the tar hardlink issue. this one is also on a permanent runner08:59
juergbitristan: have you seen the same issue on an autoscale runner?08:59
tristantest_out_of_basedir_hardlinks08:59
tristanNot today, today I just have these08:59
jjardonpermanent runners are new (and based in debian10 instead fedora30 as the elastic ones), so take that into account. It would be interesting to know what is the diference that makes them fail09:00
juergbiok, wondering what kernel (or docker host) aspect could cause that failure09:00
tristanOk so, perhaps they succeeded in pre-merge before the runner configuration changed ?09:01
jjardonI think those test still run in the same docker container so the only difference should be the kernel and maybe the docker version09:03
juergbipre-merge was on autoscale runner from the old buildstream-bastion09:03
juergbijjardon: old buildstream-bastion also used fedora 30 droplets?09:03
jjardonoh, is the docker image to use specify in the job?09:03
jjardonor is taking the default one? /me checks09:03
juergbithe docker image is specified in the job09:03
jjardonyeah, we have a global image: in CI09:04
juergbinothing should have changed with regards to the docker images09:04
juergbiwe do have a global image: as well but for tests such as ubuntu 18.04 we override it in the job09:05
jjardonah cool; better. we are extra safe as we have the global image: so no image is taking by default from the runners config09:06
jjardonso only difference should be kernel and maybe docker version/config in the host? Not sure how that can affect the hardlink tests though09:06
jjardonjuergbi: old buildstream-bastion also used fedora 30 droplets? --> yes09:06
juergbiyes, don't have an idea right now why it would fail on the debian 10 kernel09:07
jjardonbasically buildtream-bastion is the same, only change is the name to bastion-debian9 to differentiatie from the new one (bastion-debian10)09:07
juergbiespecially as it seems to fail in python code, not the actual hardlink call09:08
WSalmonDo we know what is causing the failed to upload artifacts stuff? https://gitlab.com/BuildStream/buildstream/-/jobs/51758702209:16
juergbiWSalmon: what makes you think there is an issue uploading artifacts?09:17
juergbitox is reporting failures09:17
juergbitristan: regarding workspaces, always supporting older versions is nice in theory but with the workspace revamp it's not really possible09:19
*** tristan has quit IRC09:19
WSalmonoh ok, i thought i had had one that did work and then didnt upload, sorry09:19
WSalmoni just grabed that one without looking closely enough09:20
juergbijjardon: I think the hardlink issue is a bug in the test case. working on fixing it09:24
juergbiit seems to incorrectly rely on the order of directory entries. maybe a kernel or filesystem difference causes a relatively consistent readdir() order difference in this particular case09:28
WSalmonjuergbi, would this be cause if a the file system had mtimes to the second? i seem to rember one time valanteen changed something use having issues.09:30
juergbiWSalmon: do you mean the errors in the log you posted?09:37
juergbithat was `bwrap: No permissions to creating new namespace`. this was a temporary CI issue, has been fixed in the meantime09:38
WSalmonjuergbi, so those jobs just need rerunning?09:44
juergbiyes, you need to retry jobs with bwrap errors09:45
juergbionly happened in a time frame of 24 hours or so09:45
*** lachlan has quit IRC09:47
WSalmonjuergbi, ta09:49
gitlab-br-botjuergbi opened MR !1870 (juerg/tar-hardlinks->master: tests/sources/tar.py: Fix flaky test_out_of_basedir_hardlinks) on buildstream https://gitlab.com/BuildStream/buildstream/-/merge_requests/187009:52
*** lachlan has joined #buildstream09:54
gitlab-br-botBenjaminSchubert approved MR !1870 (juerg/tar-hardlinks->master: tests/sources/tar.py: Fix flaky test_out_of_basedir_hardlinks) on buildstream https://gitlab.com/BuildStream/buildstream/-/merge_requests/187009:59
*** lachlan has quit IRC09:59
*** tristan has joined #buildstream10:03
*** ChanServ sets mode: +o tristan10:03
jjardonjuergbi: do you think https://gitlab.com/BuildGrid/buildbox/buildbox-casd/-/issues/60 makes sense ?10:07
juergbiif we want to have a long-running buildbox-casd, socket activation would definitely be the best approach10:09
juergbihowever, that would require some additional work in buildbox-casd (e.g., dynamic protect-session-blobs) and also work in buildstream10:10
juergbiand there is a question how to handle buildstream-configured quota with a longer running casd10:11
juergbiand we can't hard depend on systemd, let alone systemd user session10:11
juergbifirst we should have clearer motivation. not quite sure about "easier for local CAS"10:12
juergbioverall the setup with systemd user session is more complex10:12
juergbiit has some advantages but I wouldn't say it's easier in general10:12
*** lachlan has joined #buildstream10:13
douglaswinshiphas anyone else experienced the 'buildstream' and 'buildstream-install' directories appearing when you check an element out? I'm fairly sure that's an error. From what I can tell, it happens whenever integratoin commands are run during checkout. The effect dissapears if there are no integration commands or if the '--no-integrate' option is used. Seems to affect manual elements and anything10:15
douglaswinshipdescended from them, but it doesn't affect import, compose or filter elements.10:15
douglaswinshipI assumed it was a bug that had been introduced at some point, but I checked back and I seem to be able to replicate it in older versions, all the way back to 1.0.0, so maybe it's an intended behaviour for some reason? (Or just hasn't been deemed important enough to fix?)10:16
douglaswinshipSo i'm questioning whether it's worth raising an issue on gitlab.10:16
juergbidouglaswinship: that does sound like a bug to me. please raise it on gitlab10:17
douglaswinshipThought so.10:18
douglaswinshipAre there any standards / formats i need to know about for raising issues on this project? This'll be my first one.10:18
coldtomthere's a template when you open the issue douglaswinship10:20
*** lachlan has quit IRC10:21
douglaswinshipperfect. Thanks10:21
*** lachlan has joined #buildstream10:35
tristanInteresting... according to gitlab's python API, there has not been any "docs" job which happened at all, since commit c39c12ec10:35
tristanwhich is December 1010:36
juergbithat seems wrong10:37
tristanIndeed10:38
tristanThere is still clearly a docs job10:38
tristanThis is with some debug tracing added: https://paste.centos.org/view/572626ab10:40
tristanThis is the file which crawls artifacts: https://gitlab.com/BuildStream/docs-website/-/blob/master/generate_pages.py10:41
*** phoenix has joined #buildstream10:42
tristansince juergbi's juerg/buildbox-run branch landed, there are no more "docs" artifacts reachable via gitlab restful API10:43
tristanjuergbi, I have a feeling that this might be related to having failing jobs perhaps ?10:43
tristanLike, do we have some jobs which are allowed to fail, or some similar side effect since landing that branch ?10:44
juergbibuildbox-run is not allowed-to-fail, though10:44
juergbiwe do have allowed-to-fail but not related to buildbox10:44
juergbie.g., fedora with updates is currently failing due to a Python dep (or pytest) issue10:44
* tristan is thinking there is *some* behavioral change around then which might allow us to figure out why we have this side effect :-S10:44
tristanOr !10:45
tristanjuergbi, Do we have a bunch of more jobs since then ?10:45
tristanMaybe... you know these restful API people love to not return all results for each query10:46
tristanMaybe we need more than one request for each commit in order to collect all the jobs for a given commit10:46
juergbiit might be related to the very confusing way gitlab shows pipelines on the website10:47
juergbilinking to the overnight pipeline instead of the post-merge master pipeline10:47
juergbihowever, here I don't see any fatal pipeline issues https://gitlab.com/BuildStream/buildstream/-/merge_requests/186410:47
tristanMaaaaybe but as I recall the docs has always been "except: schedules"10:48
juergbifedora-update fails as expected right now, and remote-execution fails (have to check that)10:48
juergbibut docs job looks fine and it executed pages deployment in the same pipeline10:48
juergbitristan: yes but the scheduled pipeline is a pipeline for the same commit10:49
juergbiso there are cases where gitlab only shows the latest pipeline for a commit and that can be a scheduled one (and thus, without docs)10:49
juergbimaybe there is a similar issue on programmatic access10:49
tristanI see what you mean... so it could be a bug where since we had many commits per day, we had a better chance to land on a commit which was not "scheduled"10:50
tristanAh10:50
tristanNice point10:50
tristanSo yes, the API is currently looking up jobs from commits, so it would make sense that we have similar structure as viewing the pipeline which succeeded/failed for a given MR10:51
tristanBut in the pasted output, it starts looking up master at line 6310:52
tristanfirst unsuccessful10:52
tristanthose look like regular CI jobs10:52
tristanAnd 20 is a suspicious number10:53
tristanoddly round, like we only got one batch of results...10:53
*** lachlan has quit IRC10:53
tristangitlab also likes to only display 20 issues/merge requests per page10:54
juergbiah, that could make sense10:55
juergbionly see 20 jobs of that commit10:55
* tristan is perusing https://python-gitlab.readthedocs.io/en/stable/gl_objects/pipelines_and_jobs.html#jobs ...10:55
juergbiso maybe the buildbox-run job put it over the 2010:55
tristancould be that the python wrapper is not all that smart...10:55
tristanor we're not using the right cursor-like API10:56
juergbitristan: you can pass kwarg all=True on the list operation10:58
juergbialternatively, you might also be able to filter with `name="docs"`10:59
tristanOh nice find10:59
tristanjuergbi, where would I try filtering, did you find proper API reference ?11:00
* tristan still swimming...11:00
juergbihttps://python-gitlab.readthedocs.io/en/stable/api/gitlab.html#gitlab.mixins.ListMixin.list11:00
juergbi**kwargs – Extra options to send to the server (e.g. sudo)11:00
juergbiand here it says `name` for filter: https://docs.gitlab.com/ee/api/commits.html#list-the-statuses-of-a-commit11:00
juergbidocumentation is not very coherent11:01
juergbibenschubert: with a new CI runner  test_casd_redirects_stderr_to_file_and_rotate is flaky for some reason. do you have an idea why? https://gitlab.com/BuildStream/buildstream/-/jobs/518213278#L217011:03
benschubertlet me have a look11:03
tristanjuergbi, that worked, thanks for finding that in the docs :)11:03
tristanfilter by name="docs" directly in the list() method11:03
juergbigreat11:04
benschubertjuergbi: the 'time.sleep' might be too little for those new runners. that's the only explanation I would have11:04
benschubert.1s might be better or .2s11:04
juergbiah, right, missed that11:04
juergbithat makes sense. the runner executes multiple jobs in a single (big) VM, so timing might be less consistent11:05
benschubertah, then .5s then? :D11:05
juergbiyes, let's set it to .5s11:06
juergbiwill add this to my other flaky test MR !187011:06
gitlab-br-botMR !1870: tests/sources/tar.py: Fix flaky test_out_of_basedir_hardlinks https://gitlab.com/BuildStream/buildstream/-/merge_requests/187011:06
juergbithanks for the hint11:06
*** phoenix has quit IRC11:07
tristanhttps://gitlab.com/BuildStream/docs-website/-/merge_requests/411:11
tristangah, the pipeline will fail here11:12
*** lachlan has joined #buildstream11:13
tristanheh, we can't really do pre-merge CI on the docs-website repo due to the possibility of exposing the token ?11:13
*** lachlan has quit IRC11:17
tristantest_failed_build_quit[continue-interactive/failed-build.bst]11:17
tristanThis is different than hardlink issue right: https://gitlab.com/BuildStream/buildstream/-/jobs/518024312 ?11:18
juergbiyes but seems timing related like the casd log issue11:19
juergbi*sigh*11:19
juergbimay have to increase timeouts in more places11:20
tristanits housecleaning week :)11:21
tristancoincidentally in spring11:21
WSalmon<juergbi> may have to increase timeouts in more places <- when i added a time out for the file system i added a function so all the time outs were set in one place, i presume juergbi is talking about something else11:22
WSalmon* not a time out a slepp11:23
juergbiWSalmon: I'm talking about not filesystem-related timeouts we have in certain tests11:23
WSalmonsorry for the noise11:24
juergbithe filesystem-related granularity sleeps shouldn't be affected by shared CI runner11:24
juergbino problem11:24
tristantada ! https://docs.buildstream.build/master/main_using.html11:24
juergbi\o/11:24
tristanpropagation of docs changes working again :)11:24
juergbitristan: is it intentional that the example sessions are not automatically regenerated? https://docs.buildstream.build/master/examples/flatpak-autotools.html#build-the-hello-bst-element11:26
tristanjuergbi, nope, that's another issue11:27
tristanjuergbi, two issues actually... for some reason, the session generation failing is not causing the docs job to fail, the other being that that session fails11:28
juergbiah11:28
tristanit fails because of lack of ostree plugin in the required plugins I believe11:28
tristanprobably best to fix both at once...11:29
* tristan does more housecleaning11:29
tristanin tox.ini we have: git+https://gitlab.com/BuildStream/bst-plugins-experimental.git@be5ac19e5062bc23a46ed8ce7aa2958a2653c917#egg=bst_plugins_experimental[ostree]11:31
tristanfor the docs11:31
* tristan suspects it is not working11:31
tristanweird, it's there in .tox/docs/lib/python3.7/site-packages/bst_plugins_experimental-0.12.0.dist-info/entry_points.txt, but running that session bails out with: Pip package bst-plugins-experimental does not contain a plugin named 'ostree'11:35
traveltissuestristan: i think ostree wasn't in that version11:47
*** lachlan has joined #buildstream11:47
traveltissuesit's registered in 0.13.011:47
* WSalmon wonders why the docs use a fixed commit but the tests have ` py{36,37,38}-plugins: git+https://gitlab.com/buildstream/bst-plugins-experimental.git@{env:BST_PLUGINS_EXPERIMENTAL_VERSION:{[config]BST_PLUGINS_EXPERIMENTAL_VERSION}}#egg=bst_plugins_experimental[ostree,deb]11:49
WSalmon`11:49
gitlab-br-botDouglasWinship opened issue #1288 (Prevent buildstream sandbox folders from appearing in checked out artifacts) on buildstream https://gitlab.com/BuildStream/buildstream/-/issues/128811:51
tristantraveltissues, I'm a bit further along debugging11:52
tristantraveltissues, ostree is certainly in that version, it's installed at  .tox/docs/lib/python3.7/site-packages/bst_plugins_experimental/sources/ostree.py11:52
tristanI have a checkout of that version beside bst11:52
*** lachlan has quit IRC11:53
tristanAlso, .tox/docs/lib/python3.7/site-packages/bst_plugins_experimental-0.12.0.dist-info/entry_points.txt lists it, and I'm also looking at setup.py from that version of bst-plugins-experimental11:54
traveltissuesi don't see ostree here: https://gitlab.com/BuildStream/bst-plugins-experimental/-/blob/0.12.0/setup.py maybe i'm overlooking something11:54
tristanLooking at the loader code, I'm suspecting that we have some disparity in what we want the "group" to be called, i.e. in pkg_resources.get_entry_info() https://setuptools.readthedocs.io/en/latest/pkg_resources.html11:55
tristantox.ini says be5ac19e5062bc23a46ed8ce7aa2958a2653c91711:56
tristanSo I'm looking at https://gitlab.com/BuildStream/bst-plugins-experimental/-/blob/be5ac19e5062bc23a46ed8ce7aa2958a2653c917/setup.py essentially11:57
tristanNow here's the thing... BuildStream considers sources and elements as separate namespaces11:57
tristanSame for separate projects11:57
tristanOne project can have the word 'git' used as a source and as an element, and they will not conflict, a junctioned project may also have 2 additional 'git' plugins, one source and one element11:58
tristanSo, BuildStream asks pkg_resources.get_entry_info('bst-plugins-experimental', 'buildstream.plugins.sources', 'ostree') and thus fails to find it11:59
tristanBut this version at least of bst-plugins-experimental, as we can see here: https://gitlab.com/BuildStream/bst-plugins-experimental/-/blob/be5ac19e5062bc23a46ed8ce7aa2958a2653c917/setup.py#L5611:59
tristanCrams all of it's plugins into a single "buildstream.plugins" group, thinking it's okay to use the same namespace12:00
tristanThis would presumably work fine, if setup.py was putting elements into "buildstream.plugins.elements" and sources into "buildstream.plugins.sources" groups12:01
tristanThe key here is to find out what went wrong where12:01
tristanit looks like bst-plugins-experimental has been using the word "buildstream.plugins" since the initial commit12:03
tristanand it looks like bst-external is also using that12:04
tristanSo the namespaces should still "just work" regardless of this I suspect, because we load sources and elements from separate contexts (using pluginsbase)12:04
tristanhrrrm12:04
tristancs-shadow broke this with b4d472e9c212:06
*** lachlan has joined #buildstream12:07
tristanseems like the "right thing", but now where are we supposed to load ostree from ?12:07
tristanoh, well it appears master has it12:08
valentindjuergbi, your branch is running now on this pipeline: https://gitlab.com/freedesktop-sdk/freedesktop-sdk/pipelines/13784718912:14
valentindWe will see how it goes.12:14
tristanI see, and now some Makefile foo, it looks like GNU Make's special $(foreach ...) is not appropriate for this12:14
juergbivalentind: ok, ta12:15
gitlab-br-botjuergbi merged MR !1870 (juerg/tar-hardlinks->master: tests/sources/tar.py: Fix flaky test_out_of_basedir_hardlinks) on buildstream https://gitlab.com/BuildStream/buildstream/-/merge_requests/187012:26
gitlab-br-bottristanvb opened MR !1871 (tristan/fix-doc-builds->master: Documentation build fixes) on buildstream https://gitlab.com/BuildStream/buildstream/-/merge_requests/187112:47
tristanjuergbi, ^^^ That'll fix the flatpak example, and ensure that we don't have unnoticed breakage there in the future12:47
juergbigreat, taking a look12:48
tristanoh wait... we still use marge right ? or do we ?13:03
juergbitristan: yes, we normally do, it should normally be working fine now (assuming no CI issues)13:06
juergbitristan: had a second comment, sorry, was a bit late13:06
tristanNo worry, I did have that thought that I could just depend on sessions-prep too, but did not consider parallelism13:08
*** lachlan has quit IRC13:30
*** lachlan has joined #buildstream13:44
gitlab-br-botseanborg opened MR !1872 (seanborg/documentation-typos->master: Fix typo namspaceing -> namespaceing) on buildstream https://gitlab.com/BuildStream/buildstream/-/merge_requests/187214:23
gitlab-br-botcoldtom approved MR !1872 (seanborg/documentation-typos->master: Fix typo namspaceing -> namespaceing) on buildstream https://gitlab.com/BuildStream/buildstream/-/merge_requests/187214:24
gitlab-br-botmarge-bot123 closed issue #1276 (BuildStream build fails if the CAS is missing blobs) on buildstream https://gitlab.com/BuildStream/buildstream/-/issues/127614:57
gitlab-br-botmarge-bot123 merged MR !1843 (juerg/artifact-blob-not-found->master: Fix handling of missing blobs in `ArtifactCache.pull()`) on buildstream https://gitlab.com/BuildStream/buildstream/-/merge_requests/184314:57
valentindjuergbi, The cache server does not seem to work. So it is hard to know if it is working.15:03
valentindIt pushes, but it does not pull the artifacts back.15:03
valentindThey seem to go to /dev/null.15:04
juergbivalentind: that's with the buildbarn CAS server, right?15:07
juergbiI don't know too much about it. iirc, it uses a ring buffer. I assume it's big enough for the current purpose?15:08
juergbiour push/pull tests in CI are working but that's with bst-artifact-server15:09
juergbithe remote execution tests are working as well with buildgrid CAS server15:09
juergbi(the latter still use bst-artifact-server for push/pull, though)15:10
valentindI think it is buildbarn. I did not set it up.15:10
juergbiit would be good to test with buildbarn as well but it may not be trivial in the test suite15:11
coldtomjuergbi, valentind, it's currently using Redis for small blobs and S3 for big blobs15:14
juergbithanks for the info15:15
coldtomwhere small is <4MiB and big is >=4MiB15:15
juergbicoldtom: have you (or someone else) tested basic buildstream push/pull functionality with buildbarn as CAS?15:16
coldtomjuergbi, yes, and it does work generally15:16
coldtomusing redis and s3 like this has proven a bit fragile though15:16
*** lachlan has quit IRC15:19
*** lachlan has joined #buildstream15:32
*** lachlan has quit IRC15:38
douglaswinshipI've got a plugin to propose adding to bst-plugins-experimental, (and then back-port to bst-external), but I could use some advice on what to do for testing.15:46
douglaswinshiphttps://gitlab.com/BuildStream/bst-plugins-experimental/-/merge_requests/9215:46
douglaswinshipThe plugin is called url_manifest. It generates a manifest of elements and their recursive dependencies, listing url-related information about their sources.15:47
douglaswinshipSo a good test would be to provide a basic buildstream project with an url_manifest element, and build the manifest.15:47
douglaswinshipBut I've never used pytest before and I don't understand the testing framework that's already in place.15:48
douglaswinshipContributing.rst says that "At minimum, instructions15:48
douglaswinshipContributing.rst says that "At minimum", there should be "instructions on how the maintainer can test it for themselves." But where would I put those instructions?15:49
juergbidouglaswinship: at first glance the main concern with this plugin is that it's not generic, it relies on source plugin-specific variables and assumes those internals existing based on the source kind string, which is not guaranteed15:51
juergbithe same applies to collect_manifest, even though that's already merged15:51
WSalmondouglaswinship, many tests have a little exmple project, i would just copy a existing test and modify it15:51
juergbihowever, it may make sense to first have a general discussion about such *_manifest plugins before working on tests15:52
juergbie.g., maybe the generic Source API can be extended to cover these use cases15:52
juergbiand if it no longer contains plugin-specific code, testing should be much easier15:53
coldtomi guess the Source API could require some form of URI field, i think that's the main reason why plugin-specific code exists in *_manifest15:55
WSalmonlook how this test runs bst, then checks out a element and then inspects what was checked out https://gitlab.com/BuildStream/bst-plugins-experimental/-/blob/master/tests/integration/collect_integration.py15:56
*** lachlan has joined #buildstream15:56
valentindcoldtom, Multiple uris.15:56
juergbicoldtom: the Source API extension we need for #1275 might help for this use case as well15:56
gitlab-br-botIssue #1275: Introduce tracking of individual sources, using the Remote Asset API https://gitlab.com/BuildStream/buildstream/-/issues/127515:56
valentindjuergbi, Can we backport that to 1.4?15:57
juergbiwe don't even have it in master yet, so difficult to say, but probably not15:57
juergbialthough 1.4 plugins might still be able to follow a similar pattern15:58
juergbie.g., 1.4 plugins could optionally implement these extra methods and 1.4 *manifest plugins could check whether that method is implemented for each plugin15:59
juergbifor details we need more concrete plans for master first15:59
*** rdale has quit IRC16:03
douglaswinshipWSalmon: thanks for the link, but this is where I expose a critical lack of understanding about pytest and how these tests are being run. From what I can see, the file that you sent me doesn't actually _do_ anything at all. It defines a lot of functions, but I don't see where it ever actually calls any of them.16:03
douglaswinshipAnd a quick grep doesn't seem to suggest that there's any other files that call them.16:05
WSalmonso when you run pytest it look is a diretory strucuture, this case `test/` for python files with functions that start `test`16:05
douglaswinshipI'll do some reading on it in future.16:05
douglaswinshipIt's not sounding like this particular MR is likely to be accepted in anything like it's current form anyway, so I may not create any tests for it right now.16:07
WSalmondouglaswinship, its east to run tox in the root of the plugins folder, that will trigger https://gitlab.com/BuildStream/bst-plugins-experimental/-/blob/master/tox.ini#L16 that will run pytest with all the right bits installed in a venv16:07
coldtomanyone seen anything like this before: https://paste.gnome.org/pvquqas7h using latest master16:07
juergbicoldtom: no, this might be an issue with a particular plugin16:08
juergbiI vaguely recall a ujson issue but I think that was resolved a long time ago16:10
juergbior maybe you can still hit it by using too old version of ujson16:10
coldtomlooks like an issue with flatpak_image16:17
coldtomor git_tag16:17
*** lachlan has quit IRC16:20
coldtomflatpak_image is the issue, i'll figure out a patch16:24
*** CTtpollard has joined #buildstream16:32
*** tpollard has quit IRC16:32
*** lachlan has joined #buildstream16:37
*** lachlan has quit IRC16:46
*** lachlan has joined #buildstream17:00
*** lachlan has quit IRC17:04
*** lachlan has joined #buildstream17:18
*** lachlan has quit IRC17:21
*** mohan43u has quit IRC17:22
*** mohan43u has joined #buildstream17:26
*** CTtpollard has quit IRC17:26
*** lachlan has joined #buildstream17:35
*** mohan43u has quit IRC17:41
*** lachlan has quit IRC17:42
*** toscalix has joined #buildstream17:43
*** mohan43u has joined #buildstream17:44
*** santi has quit IRC17:50
*** lachlan has joined #buildstream17:55
*** lachlan has quit IRC18:04
*** toscalix has quit IRC18:21
*** toscalix has joined #buildstream18:27
*** narispo has quit IRC19:37
*** narispo has joined #buildstream19:37
*** benschubert has quit IRC19:38
gitlab-br-botmarge-bot123 merged MR !1847 (tristan/pip-source-3.8->master: pip source plugin: Add support for python 3.8) on buildstream https://gitlab.com/BuildStream/buildstream/-/merge_requests/184719:40
*** narispo has quit IRC20:18
*** narispo has joined #buildstream20:18
*** narispo has quit IRC21:07
*** narispo has joined #buildstream21:07
*** tristan has quit IRC21:13
*** toscalix has quit IRC21:33
*** juergbi has quit IRC22:25
*** juergbi has joined #buildstream22:25

Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!