IRC logs for #buildstream for Wednesday, 2019-03-20

*** nimish2711 has joined #buildstream01:00
*** swick_ has joined #buildstream01:04
*** swick has quit IRC01:05
*** swick_ is now known as swick01:05
*** nimish2711 has quit IRC02:34
*** nimish2711 has joined #buildstream03:01
*** nimish2711 has quit IRC03:06
*** tristan has quit IRC04:56
gitlab-br-bottristanvb approved MR !1236 (aevri/str_e->master: app.py: str(e) instead of "{}".format(e)) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/123605:09
*** tristan has joined #buildstream05:21
gitlab-br-bottristanvb opened MR !1242 (tristan/remove-toplevel-makefile-1.2->bst-1.2: Removing toplevel Makefile) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/124206:19
gitlab-br-bottristanvb opened MR !1243 (tristan/move-conftest-into-tests->master: tests: Move conftest.py into tests/ subdirectory) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/124306:28
gitlab-br-bottristanvb opened issue #966 (tests load user's configuration) on buildstream https://gitlab.com/BuildStream/buildstream/issues/96606:59
*** swick has quit IRC06:59
gitlab-br-bottristanvb opened MR !1244 (tristan/fix-xdg-env-in-tests->master: Fix xdg env in tests) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/124407:11
gitlab-br-botmarge-bot123 merged MR !1243 (tristan/move-conftest-into-tests->master: tests: Move conftest.py into tests/ subdirectory) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/124307:13
*** ChanServ sets mode: +o tristan07:26
tristancoldtom, You might be interested to comment on #96407:26
gitlab-br-botIssue #964: UX: Development process, using IDE, index code https://gitlab.com/BuildStream/buildstream/issues/96407:26
tristanSince you are working on the builder plugin07:26
tristanI recall there was much discussion in a previous meetup and a demo about ide integration, talking about the same kinds of features this reporter is bringing up07:27
tristanaevri, You might be interested in the above issue as well ^^^07:27
aevri👍07:36
gitlab-br-bottristanvb merged MR !1242 (tristan/remove-toplevel-makefile-1.2->bst-1.2: Removing toplevel Makefile) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/124207:37
tristanand aevri proves that I really need to run hexchat from a flatpak :)07:37
aevriHehe :) How come, worried about prank emojis?07:41
* aevri navigates to the office via a vast network of deep underground tunnels07:42
*** tristan has quit IRC07:42
*** tristan has joined #buildstream07:52
gitlab-br-botmarge-bot123 closed issue #966 (tests load user's configuration) on buildstream https://gitlab.com/BuildStream/buildstream/issues/96608:02
gitlab-br-botmarge-bot123 merged MR !1244 (tristan/fix-xdg-env-in-tests->master: Fix xdg env in tests) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/124408:02
*** swick has joined #buildstream08:52
*** phil has joined #buildstream08:55
*** toscalix has joined #buildstream08:59
*** rdale has joined #buildstream09:23
gitlab-br-botmarge-bot123 merged MR !1236 (aevri/str_e->master: app.py: str(e) instead of "{}".format(e)) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/123609:24
*** swick has quit IRC09:29
*** raoul_ has joined #buildstream09:34
*** nimish2711 has joined #buildstream09:42
benschuberttristan: I modified !1070 with a simpler version, slightly less performant (will discover cache keys later in the case of non strict workspaced builds) but more readable and easier to refactor for the future. Could you have a look? I still need to address your other comments, which I hope to be able to come to this afternoon09:44
gitlab-br-botMR !1070: WIP: Refactor _update_state() to be called only when needed https://gitlab.com/BuildStream/buildstream/merge_requests/107009:44
*** ChanServ sets mode: +o tristan09:45
*** jonathanmaw has joined #buildstream09:45
tristanbenschubert, I think the other comments were mostly stylistic and easier to address09:45
benschuberttristan: yep :) hence I want to get the complex part right first :)09:46
tristanI'll take a look, but prefer that juergbi take a look :)09:46
tristanI have come to accept that you need to flatten the list in order to efficiently avoid duplicate visits09:46
tristanbut09:46
tristanAlso it caused me to reflect on Element.dependencies() which achieves this by caching a set of visited items during it's run09:47
tristanbenschubert, it's orthogonal, but perhaps there are cycles to gain in that direction as well09:47
benschuberttristan: something like https://gitlab.com/BuildStream/buildstream/tree/bschubert/optimize-dependencies ? ;)09:48
tristanAlso, regardless of flattening lists, I am much happier to have it all happen in __update_state_recursively() rather than holding on to the lists and also recursing09:48
tristanbenschubert, yeah looks promising :)09:48
tristannot that I've looked at it, but that it exists :)09:49
benschuberttldr: I have a branch for this, but want the update_state first and will then benchmark the same changes over there and the use of the PQ ;)09:49
tristanHmmm, can we re-assign !1222 to marge ?09:50
gitlab-br-botMR !1222: Enable pylint on the tests https://gitlab.com/BuildStream/buildstream/merge_requests/122209:50
benschubertSo basically if juergbi is fine with the changes, I'll cross-check my benchmarks, cleanup the PR and ask for a hopefully final review, good with you?09:50
tristanit initially failed because of a spurious error09:50
benschuberttristan: oh great, I'll do that09:50
benschuberttristan: speaking of linting, we have a "circular-import" error that is disabled in pylint because we have a lot of them. Fixing it would require to import things not from the BuildStream root (.) but directly from the sub packages (.plugins) for instance. Would you be ok with this change? The reason why I'd like to remove those is that if we change the ordering of imports, or add an import at the incorrect place, we can get very09:53
benschuberthard to debug errors09:53
*** raoul_ is now known as raoul09:53
tristanbenschubert, Yeah, just looked at !1070 and it is much more comprehensive, added single comment (just about a comment)09:54
gitlab-br-botMR !1070: WIP: Refactor _update_state() to be called only when needed https://gitlab.com/BuildStream/buildstream/merge_requests/107009:54
benschubertgreat, I'll cleanup all of this this afternoon then and open a (hopefully) final round of review09:54
tristanbenschubert, I would prefer you get juergbi to look at it once, and after stylistic changes we should land it09:54
benschubertI will!09:54
juergbiI'm looking at it09:54
tristanFor circular imports... I would love to have that fixed !09:54
tristanbenschubert, I have some thoughts on it, though09:55
tristanbenschubert, Here is what I want.... (A) Everything outside of BuildStream core... including the plugins we distribute, only import things directly "from buildstream"09:55
tristanfor utils it's a bit weird, but still we do "from buildstream import utils"09:56
tristani.e. external things never dig deeper than "buildstream", and that is one of the ways that we advertize public API09:56
tristanbenschubert, Internally I also have a similar preference about our sub packages09:56
tristanI.e. I want the `_scheduler` package to advertise everything that is needed outside of the scheduler in _scheduler/__init__.py09:57
benschuberttristan: so for example if I modified "element.py" to do "from .plugin import Plugin" instead of "from . import Plugin", that would be good, correct?09:57
tristanAnd I dont want anyone *outside* of the _scheduler/ directory to import deep from the _scheduler, they should do "from _scheduler import BuildQueue" for instance09:57
tristanplugin is adjacent so yes, I think that makes sense09:58
benschubertthat's sensible, I'll ensure we meet those requirements when doing the changes :)09:58
benschubertthanks!09:58
tristanbenschubert, I think that basically means that you avoid adjacent modules from triggering the package's __init__.py09:59
tristanif I'm not mistaken09:59
benschubertexactly09:59
tristanBut yeah, my comments about packages advertizing to the outside world what should be used in their __init__.py is mostly a guideline to help ensure good encapsulation09:59
tristanbenschubert, Thanks :)09:59
benschubertyep, the problem we currently have is having sibling packages importing from the parent :) so that's the fix I'm looking for!10:00
tristanGreat :)10:00
tristanbenschubert, if there are specific simple types that cause issues, that's what types.py is for10:01
tristanmost of the stuff in there is really simple things which otherwise cause cyclic imports10:01
benschubertok!10:01
juergbibenschubert: logic looks good to me now. thanks for your work on this10:10
juergbicommented with a tiny possible optimization but probably doesn't really matter10:10
benschubertjuergbi: thanks a lot for all the input on it!10:11
benschubertI'll try and benchmark the optimization and will cleanup now10:11
juergbibenschubert: hm, we actually no longer use build and runtime reverse dependency lists separately10:14
juergbiso we could use a single list10:14
juergbior do you think we'll need the split again soon anyway?10:14
juergbi(when splitting update_state)10:15
gitlab-br-botmarge-bot123 closed issue #941 (Enable pylint for tests) on buildstream https://gitlab.com/BuildStream/buildstream/issues/94110:18
gitlab-br-botmarge-bot123 merged MR !1222 (bschubert/linter-for-tests->master: Enable pylint on the tests) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/122210:18
benschubertjuergbi: we might need to split soon again for update_state10:19
benschubertbut I'm not sure10:19
benschubertI can merge them and we can split when needed10:19
*** gokcennurlu has joined #buildstream10:21
juergbitristan: !1214 could use your input with regards to where to push sources to remote (CAS) source cache. i.e., separate queue (between fetch and build or after build? how to call new queue in UI?) or push sources as part of 'fetch'?10:26
gitlab-br-botMR !1214: Remote source cache https://gitlab.com/BuildStream/buildstream/merge_requests/121410:26
tristanjuergbi, I'll try to put some time towards that thanks10:28
juergbita10:28
*** alatiera has joined #buildstream10:32
*** tpollard has quit IRC10:39
*** tpollard has joined #buildstream10:55
*** lachlan has joined #buildstream11:01
jonathanmawSince the WSL CI tests are taking a long time for developers, would a better solution be to have a test that can be started manually for non-master branches, and is automatically run only for master?11:16
jonathanmawwould it be okay for CI to fail in master if the WSL tests fail?11:19
WSalmoni dont think it undose your merge if it fails so it would be more attention grabing if it did fail, but a middle way could be to have it run only on master but be ok to fail?11:24
tristanjonathanmaw, The main problem with tests failing in master is that it can get overlooked on a day with many merges, and it's hard to pin it down to the responsible commit11:26
tristanjonathanmaw, On the other hand, I don't think it's particularly likely for commits which don't break other pipelines to break the WSL one11:26
*** lachlan has quit IRC11:27
tristanI guess the first point is less of a concern, as you can see the first breaking commit in the log11:31
benschubertAs long as we have it run somewhere and report, I'm fine with it11:31
* tristan agrees11:32
tristanjonathanmaw, if it's causing pain, I think doing it only on master would be fine - not a scheduled CI though11:32
* tristan would rather at least have the log of which merge initially introduced breakage, if it happens11:33
tristan(or only on master and manually in branches)11:33
* jonathanmaw isn't sure of the terminology. A scheduled CI is one that would happen at a specific time instead of in response to a specific merge?11:33
tristanjonathanmaw, yeah, we have the nightly freedesktop-sdks on a schedule for instance11:34
jonathanmawah, ok11:34
tristanthose arent associated to a specific commit, and run nightly because they take a long time11:34
benschubertrunning them on master whenever is a merge would be good enough tristan right?11:34
tristanYeah11:34
tristanMaking them manually triggerable when not on master is good too11:35
tristanIn case you are specifically developping something that will effect WSL and want to trigger it11:35
jonathanmawokay, non-master manual jobs, and automatic job on master only11:35
jonathanmawshould the job on master be allowed to fail?11:35
tristanGood question11:35
benschubertI would say no11:36
tristanDoesnt make much difference11:36
tristanThe difference is that you will not collect coverage and you will not publish docs11:36
benschuberttristan: it would mark the build with a huge red cross, and send an email to the dev I think :)11:36
tristanOk, lets say "no" then :)11:36
tristanI thought the red cross might still be there, but maybe its a warning11:37
benschubertIt would be an orange thing, and I don't think that email are sent in that case11:37
*** lachlan has joined #buildstream11:46
*** tristan has quit IRC11:55
*** lachlan has quit IRC12:08
gitlab-br-botaevri opened (was WIP) MR !1245 (aevri/dirname_basename->master: tests: str(datafiles) instead of a longer thing) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/124512:21
*** raoul has quit IRC12:34
gitlab-br-botpointswaves opened MR !1246 (pointswaves/softreset->master: Added doc's for workspace reset --soft) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/124612:47
*** lachlan has joined #buildstream12:47
*** lachlan has quit IRC12:52
jonathanmawbenschubert: I'm a bit confused by the discussion about being allowed to fail. are you and tristan in favour of it allowing failure (orange icon), or not allowing failure (red cross)?12:53
benschubertjonathanmaw: red12:54
jonathanmawexcellent, I wrote https://gitlab.com/BuildStream/buildstream/merge_requests/1241/diffs and paused to think about whether I understood you correctly12:55
*** lachlan has joined #buildstream13:00
mablanchWould someone involved with the CI mind having a look at https://gitlab.com/BuildStream/buildstream/merge_requests/1239?13:01
* jonathanmaw has a poke13:03
gitlab-br-botmartinblanchard approved MR !1241 (jonathan/wsl-tests-manual->master: gitlab-ci: Make WSL tests only run automatically on master) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/124113:22
gitlab-br-botjonathanmaw merged MR !1241 (jonathan/wsl-tests-manual->master: gitlab-ci: Make WSL tests only run automatically on master) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/124113:23
*** lachlan has quit IRC13:24
*** raoul has joined #buildstream13:35
*** alatiera has quit IRC13:49
*** alatiera has joined #buildstream13:50
SotKhey folks, I was asked to take a look into solving the issue that currently exists whereby anyone can assign their MR to marge and have it merged without necessarily going through review14:00
SotKI thought of maybe patching marge-bot to only allow a whitelisted group of people to assign to it, but then noticed that some MRs have required approvals set14:01
SotKis there some reason for not just setting a number of required approvals from said whitelisted group of people in the project configuration to force it on all MRs, rather than allowing the requester to opt in/out?14:02
*** lachlan has joined #buildstream14:09
aevriHiya SotK, we had agreed that folks should be able to self-merge trivial changes, to keep small things cheap. I think that's probably why.14:26
*** lachlan has quit IRC14:32
SotKaevri: GitLab can be configured to allow self-approval by approvers who send patches, so we could keep that workflow for people in the whitelisted group of "people allowed to approve MRs" if we only set a hard requirement of 1 approval for merge14:32
SotKit does remove that workflow for people who aren't approvers though, which might or might not be an issue14:32
SotKI don't really see how we can only allow a specific set of people to approve merging (whether as approvals or by making marge reject assignments from some folk) and also allow anyone to self-merge their trivial changes14:34
*** lachlan has joined #buildstream14:35
benschubertSotK, aevri I like SotK proposition of allowing self approval for trusted people14:37
aevriCool, I think if we restrict 'margers' to the list of 'mergers' (approvers?) then I get the feeling we'll be ok. Seems like we need tristan to comment :)14:40
*** lachlan has quit IRC14:41
SotKthere's no need to actually restrict "margers" if you require at least 1 approval from an enforced set of "approvers", since marge just complains and re-assigns the patch if it doesn't have enough approvals to merge14:42
SotKwhich is effectively what it would do with a restricted list of "margers" anyway, just with a different error message14:42
laurencewe changed the committer policy after GUADEC and gave blanket access to anyone who had a single patch. I remember reading that commit access should really have been given to a trusted set of people instead. We discussed a carbon copy of the subversion protocol and agreed to adopt it, but I never got around to submitting a patch to the CONTRIBUTING doc14:58
laurenceAnyway I think that 'trusted list' of committers can correspond to the list of people who can approve an MR14:59
laurenceI'll work on that patch soon14:59
* aevri agrees15:00
aevriThanks laurence!15:00
laurencenp!15:01
SotKsounds like a good plan15:01
SotKsomeone with access will need to change the settings for the projects we want to enforce that on too15:02
laurenceindeed, and that may need to be a group level owner15:02
* aevri stops to appreciate the improvement marge has been on our workflow15:03
*** lachlan has joined #buildstream15:40
*** lachlan has quit IRC15:53
gitlab-br-botraoul.hidalgocharman approved MR !1225 (juerg/partial-cas->master: Initial support for partial local CAS) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/122515:57
*** lachlan has joined #buildstream16:02
gitlab-br-botaevri opened issue #967 (Retrying failed builds is important, but difficult for new users) on buildstream https://gitlab.com/BuildStream/buildstream/issues/96716:20
gitlab-br-botraoul.hidalgocharman approved MR !1240 (aevri/element_loaderror_detail->master: element: keep original 'detail' when re-raising) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/124016:29
*** lachlan has quit IRC17:07
*** lachlan has joined #buildstream17:07
gitlab-br-botmarge-bot123 merged MR !1240 (aevri/element_loaderror_detail->master: element: keep original 'detail' when re-raising) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/124017:12
*** lachlan has quit IRC17:34
*** raoul has quit IRC17:38
*** lachlan has joined #buildstream17:41
*** jonathanmaw has quit IRC18:01
*** toscalix has quit IRC18:21
gitlab-br-botBenjaminSchubert opened MR !1247 (bschubert/better-pytest-report->master: tests: when comparing lists/dicts, compare all at once) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/124718:35
*** nimish2711 has quit IRC18:57
*** nimish2711 has joined #buildstream18:58
*** lachlan has quit IRC19:42
*** lachlan has joined #buildstream19:49
*** nimish2711 has quit IRC19:54
gitlab-br-botBenjaminSchubert opened MR !1248 (bschubert/lint/logging-format->master: casserver.py: fix logging-format-interpolation error and enable) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/124820:09
*** lachlan has quit IRC20:52
*** lachlan has joined #buildstream20:59
*** lachlan has quit IRC21:10
*** alatiera has quit IRC21:58
gitlab-br-botcs-shadow approved MR !1248 (bschubert/lint/logging-format->master: casserver.py: fix logging-format-interpolation error and enable) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/124822:07
gitlab-br-botcs-shadow opened MR !1249 (chandan/remove-manifest-conftest->master: MANIFEST.in: Remove conftest.py include) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/124922:15
gitlab-br-botBenjaminSchubert approved MR !1249 (chandan/remove-manifest-conftest->master: MANIFEST.in: Remove conftest.py include) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/124922:31
*** nimish2711 has joined #buildstream23:48

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