IRC logs for #buildstream for Wednesday, 2019-07-10

*** dftxbs3e has joined #buildstream00:52
*** dftxbs3e has joined #buildstream00:53
*** dftxbs3e has quit IRC01:52
*** dftxbs3e has joined #buildstream02:27
*** dftxbs3e has quit IRC02:29
*** dftxbs3e has joined #buildstream02:29
*** dftxbs3e has quit IRC04:51
*** dftxbs3e has joined #buildstream04:53
*** tpollard has quit IRC05:02
*** rdale has quit IRC05:02
*** tiagogomes has quit IRC05:02
*** rdale has joined #buildstream05:05
*** tpollard has joined #buildstream05:05
*** jswagner has quit IRC05:50
*** jswagner has joined #buildstream05:51
*** jswagner has joined #buildstream05:51
*** jswagner has quit IRC06:09
*** jswagner has joined #buildstream06:12
*** jswagner has joined #buildstream06:19
*** jswagner has joined #buildstream06:27
*** jswagner has joined #buildstream06:29
*** jswagner has joined #buildstream06:29
*** jswagner has joined #buildstream06:30
*** jswagner has joined #buildstream06:31
*** jswagner has joined #buildstream06:32
*** jswagner has joined #buildstream06:32
*** tristan has quit IRC07:15
*** tristan has joined #buildstream07:23
*** tristan has quit IRC07:28
*** tristan has joined #buildstream07:42
*** ChanServ sets mode: +o tristan07:42
gitlab-br-botBenjaminSchubert merged MR !1460 (bschubert/node-provenance-2->bschubert/new-node-api: Replace 'node_get_provenance' by method on 'Node') on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/146008:11
Kinnisontristan: Is !1411 abandoned? (I ask because it was approved 2 weeks ago but never merged, and when I handed it to Marge a week ago, it failed to merge due to test failures, and since then it has had no movement)08:13
gitlab-br-botMR !1411: _frontend/cli.py: Exit with error if output streams are set to nonblocking https://gitlab.com/BuildStream/buildstream/merge_requests/141108:13
*** alexandrufazakas has joined #buildstream08:13
tristanKinnison, Interestingly that was on my mind right now because of jonathanmaw's comments about it happening to him08:14
tristanKinnison, I honestly thought it was merged08:14
Kinnison:D08:14
* Kinnison is glad to have re-raised it to your attention at least08:14
tristanI rebased it, looks like CI failed for a spurious error in one of the jobs08:15
tristanlets just hand it back to marge08:15
tristanHmmm, now it has "two assignees", is that a new gitlab thing ?08:16
KinnisonDunno, but I've noticed marge might not work if she's not alone08:16
Kinnisonso you might want to unassign yourself08:16
tristandone08:17
tristan!1389 didnt land either08:18
gitlab-br-botMR !1389: _frontend/cli.py: Exit with error if output streams are set to nonblocking https://gitlab.com/BuildStream/buildstream/merge_requests/138908:18
* Kinnison has only been moving slowly through the list, and admittedly I've avoided things targetted purely at 1.2 because I wasn't sure of the rules there08:19
jennisThe docker we're using for marge (:latest) doesn't include a bug fix where marge can deal with being assigned, as well as another08:20
jennisWhich, incidentially, causes marge to be inactive08:20
Kinnisonheh08:20
jennisI've filed an issue upstream ad hopefully they'll do a release08:20
gitlab-br-botBenjaminSchubert opened MR !1464 (bschubert/node-private-public->bschubert/new-node-api: Mark APIs on Node as private or public) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/146408:21
benschuberthey tristan, ^ marks the methods on the nodes as public or private, would oyu have time ot take a look? I'll have a MR afterwards to reorganize the code, and another one to move the Node parts to a 'node.py'public module08:22
benschubertKinnison, jennis ^i'd also like your input08:22
*** tiagogomes has joined #buildstream08:23
tristanbenschubert, Ah, moving __contains__ to only be on MappingNode, good call :)08:25
benschuberttristan: we could also have it for sequence, but that would be weird :)08:25
* tristan got confused with the simple diff, and appreciate's gitlab's new "show full file" feature08:25
benschubertagreed :D08:25
tristanbenschubert, I'm having trouble understanding the intentation... are get_scalar(), get_mapping(), get_node() nested functions of the renamed _get() function ?08:27
tristanoh obviously not08:28
tristanas they call _get()08:28
benschuberttristan: they are not, same level :) weird that gitlab shows a weird indent08:29
tristanNah it's just I guess my fonts, hard to see08:32
tristanbenschubert, I have some comments which are not suitable for the review of this particular patch08:33
tristanI made one comment, tiny thing08:33
benschuberttristan: I'm all ears!08:33
*** traveltissues has joined #buildstream08:34
tristanbenschubert, First one is... when you say the next MR will reorganize the code... I suppose you mean to place private functions at the bottom (except I think for magic __pythonfunctions__ which usually go right at the top with __init__) ?08:34
benschubertcorrect08:34
benschuberthttps://gitlab.com/BuildStream/buildstream/commit/924bc4e7e7b7c74210aefc900db2a8fb51fa3ef3 the commit is already ready08:35
tristanJust checking..., almost commented that but then realized you intended to do it separately :)08:35
benschubertwould you rather have it in the same MR?08:35
benschubertI can do that easily if so08:35
tristanbenschubert, The other thing is about methods which get overridden/implemented in subclasses, and about documentation08:35
benschubertwas just fearing the diff might be harder08:35
tristanbenschubert, Nah I really don't mind08:35
benschubertok08:35
benschubertfor documentation, I intend in adding it when moving the classes to 'node.py'08:36
benschubertand I'm not sure what you mean about the methods for override/implement in subclasses08:36
tristanSo about "abstract" or "virtual" methods... I find the current _composite() approach confusing and not inline with how we do it elsewhere08:36
tristanSo yeah this is partly about documentation but also about code structure for that documentation08:37
tristanSo it's nice that the different node types have their own implementations of _composite(), that's the right approach08:37
tristanBut as they all derive from Node, I would expect Node to have an empty _composite() implementation which documents what that function should do for subclasses08:38
tristanRather than having subclasses redundantly document it08:38
tristanSince there is now a _composite() __and__ a __composite() apparently... I would expect them to both do this08:39
tristanOr rather, whichever one of the two is intended for Node classes to implement, should have that documented in the common ancestor08:39
tristanbenschubert, Am I making any sense ? :)08:39
tristanUsually we have an empty declaration in a common ancestor which either does 'pass' or 'raise ImplError()'08:40
benschubertright08:44
benschubertsorry, was just grabbing a coffee08:44
benschubertSo, _composite and __composite are really MappingNode specific08:45
benschubertthe one that is shared is _compose_on08:45
benschubertwhich is defined in 'Node' :)08:45
*** bochecha has joined #buildstream08:45
benschubert_composite is the previous 'composite_dict' function we had, and __composite is the previous '_composite' helper we had, that was MappingNode specific08:46
tristanbenschubert, Ok so I was reading it wrong :)08:51
tristanWith incoming doc comments I expect this will read more clearly :)08:52
benschubertYep08:52
benschubertotherwise I will have failed the documentation08:52
tristanbenschubert, While we're on the general topic, I keep thinking this is an opportunity to be stricter about plugin's validating keys in mapping nodes08:53
tristanbut it's a can of worms I don't know if we have time to allocate to08:53
benschubertwhat's your high level idea?08:54
tristanbenschubert, what's been playing in my mind is basically, we have these ALL_CAPS_CLASS_VARIABLES which affect class behavior08:54
tristanlike "am I allowed to have build dependencies" and the like08:54
tristanWhat if we had something like CONFIG_SCHEMA08:54
gitlab-br-botBenjaminSchubert merged MR !1462 (bschubert/node-cleanup->bschubert/new-node-api: _yaml: Remove code duplication on '_new_node_from_*') on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/146208:54
gitlab-br-botmarge-bot123 closed issue #929 (Spurious blockingio error) on buildstream https://gitlab.com/BuildStream/buildstream/issues/92908:55
gitlab-br-botmarge-bot123 merged MR !1411 (tristan/exit-on-nonblock-terminal->master: _frontend/cli.py: Exit with error if output streams are set to nonblocking) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/141108:55
tristanAnd no plugin need ever call validate_node() explicitly08:55
KinnisonThat'd need to be arbitrarily complex potentially08:55
tristanThe core just does it in advance of calling Plugin.configure(), so anything not specified in the schema will cause an error; forcing plugin authors to update the schema08:55
tristanKinnison, I agree, that's why I don't know if we have effort to allocate to it08:56
*** jonathanmaw has joined #buildstream08:56
tristanI mean... the current approach is "okay", but it just seems like an opportunity08:56
tristanbenschubert, to be clear, I really don't mean to push for this to happen - just floating the idea to see how it's received08:57
benschuberttristan: Also, a 'valid' access to nodes through the yaml API would catch most of those later on right?08:57
tristanRight08:57
benschubertI would be worried that we add this and it slows us down more than we need but I like the idea08:57
benschubertI might have a shot at it but not in this PR08:58
tristanYou mean performance wise or code wise ?08:58
tristanBoth I suppose are risks08:58
benschubertright08:59
tristanBut performance wise hopefully it would not be much... Assuming we expect that plugins call validate_node() on every dict/sub-dict anyway, it implies a dict traversal happens08:59
tristanStill it is complex I know :)08:59
benschubertcorrect08:59
benschubertI'll think about that08:59
benschubertonce I'm done with this yaml rework09:00
benschubertI updated my MR  which should have tests passing and addressed your comment tristan09:00
benschubertDoes the public API on nodes seems good to you?09:00
tristanHmmm, that's a much larger question :)09:02
tristanbenschubert, do we need Node.get_provenance() if ProvenanceInformation() is public anyway ?09:03
tristanbenschubert, maybe it would be easier if we got this into a clean organized and documented state before doing a full public API scan ?09:03
benschubertok sure!09:03
KinnisonI imagine ProvenanceInformation will be becoming a private name09:04
benschubertKinnison: I'm not sure, but we could09:04
benschubertbut tristan is right, I'll reorganize everything first09:04
tristanI don't see why a plugin would want to call strip_node_info() also...09:05
tristanbut yeah, I'll stop looking for now :)09:05
benschuberttristan: 'DynamicElement' in one of the tests is doing it09:05
benschubertbut I dislike that09:06
benschubertI'll put this private09:06
benschubertand fix the test09:06
benschubertthen merge this MR, reorganize, and move to 'Node'09:06
benschubertthen let's discuss the rest09:06
Kinnison:D09:11
gitlab-br-botjuergbi opened MR !1465 (juerg/context->master: Make Context class a Python context manager) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/146509:18
*** lachlan has joined #buildstream09:19
tpollardthat MR name sounds intriguing09:27
*** lachlan has quit IRC09:40
*** lachlan has joined #buildstream09:45
*** jswagner has quit IRC09:47
*** jswagner has joined #buildstream09:47
*** jswagner has joined #buildstream09:50
*** lachlan has quit IRC09:52
*** lachlan has joined #buildstream09:55
gitlab-br-bottraveltissues opened issue #1073 (cache key dictionary changes) on buildstream https://gitlab.com/BuildStream/buildstream/issues/107310:17
gitlab-br-botBenjaminSchubert merged MR !1464 (bschubert/node-private-public->bschubert/new-node-api: Mark APIs on Node as private or public) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/146410:18
*** lachlan has quit IRC10:45
*** lachlan has joined #buildstream11:17
*** lachlan has quit IRC11:31
*** tiagogomes has quit IRC11:33
*** dftxbs3e has quit IRC12:09
*** dftxbs3e has joined #buildstream12:09
*** traveltissues_ has joined #buildstream12:24
*** traveltissues has quit IRC12:24
*** tiagogomes has joined #buildstream12:27
*** bochecha has quit IRC13:02
*** bozcan has joined #buildstream13:06
*** tristan has quit IRC13:10
gitlab-br-botBenjaminSchubert opened MR !1467 (bschubert/node-api-split->bschubert/new-node-api: _yaml: Split Node-related parts into 'node.pyx' and document) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/146713:20
*** lachlan has joined #buildstream13:23
*** tristan has joined #buildstream13:39
WSalmonI benschubert, i think i have resolved all the issues on https://gitlab.com/BuildStream/buildstream/merge_requests/1429 if you dont have time to double check the ones i havent marked as resolved it think they should be ok but it would be great if you could have a quick look and confirm/update13:41
WSalmon* Hi benschubert, i think i have resolved all the issues on https://gitlab.com/BuildStream/buildstream/merge_requests/1429 if you dont have time to double check the ones i havent marked as resolved it think they should be ok but it would be great if you could have a quick look and confirm/update13:41
*** lachlan has quit IRC13:45
*** lachlan has joined #buildstream13:53
*** lachlan has quit IRC13:56
*** lachlan has joined #buildstream14:01
*** lachlan has quit IRC14:05
WSalmonhi juergbi, i have been thinking about https://gitlab.com/BuildStream/buildstream/merge_requests/951#note_177691574 re your point about testing, were you invisiging this api as stable enought for some unit test or going for our usual route of testing through full runs of bst?14:16
WSalmonI can think of a lot of edge cases which seem a bit waste full to be tested by a full end to end test, but i am happy to do full test if we need/want the overhead14:17
juergbiWSalmon: not sure. we already do have casbaseddirectory unit tests, so it could make sense to extend those14:24
*** mohan43u has joined #buildstream14:24
WSalmonoooh i didnt notice that, i will go look for them :D14:26
WSalmonThanks juergbi14:26
WSalmonI think i will want one full test that dose what FDSDK dose but if i can do all the other edge cases in unit tests that seems like a good middle ground14:27
*** lachlan has joined #buildstream14:56
*** slaf has quit IRC15:10
*** lachlan has quit IRC15:33
*** lachlan has joined #buildstream15:38
*** lachlan has quit IRC15:48
*** lachlan has joined #buildstream16:03
*** lachlan has quit IRC16:32
*** alexandrufazakas has quit IRC16:32
*** slaf has joined #buildstream16:34
*** slaf has joined #buildstream16:34
*** slaf has joined #buildstream16:34
*** slaf has joined #buildstream16:35
*** slaf has joined #buildstream16:35
*** slaf has joined #buildstream16:35
*** slaf has joined #buildstream16:36
*** bozcan has quit IRC16:37
*** bozcan_ has joined #buildstream16:37
*** bozcan_ is now known as bozcan16:37
*** lachlan has joined #buildstream16:41
gitlab-br-bottraveltissues opened issue #1074 (update.py throws an error) on buildstream https://gitlab.com/BuildStream/buildstream/issues/107416:43
*** lachlan has quit IRC16:45
*** bozcan has quit IRC16:47
jennistristan, aevri, marge has been updated to the latest stable version; so if she is assigned with someone else she should still do her thing16:51
jennisWell, were were always using the latest stable version, but they just did a release :)16:51
jenniswe were*16:51
*** lachlan has joined #buildstream16:52
jennisIt should also include the timeout bug fix, so we're not expecting that we'll need to restart her as often (or hopefully not at all!)16:52
aevriAce :)16:56
*** lachlan has quit IRC16:57
*** jonathanmaw has quit IRC17:14
*** lachlan has joined #buildstream17:38
gitlab-br-bottraveltissues opened (was WIP) MR !1468 (traveltissues/fix-update-script->master: Mock BST_TEST_SUITE env when running update.py) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/146817:52
*** lachlan has quit IRC17:52
*** traveltissues_ has quit IRC17:55
*** lachlan has joined #buildstream18:19
*** lachlan has quit IRC18:28
*** lachlan has joined #buildstream18:54
*** lachlan has quit IRC19:37
*** xjuan has joined #buildstream22:21
*** xjuan has quit IRC22:56
*** xjuan has joined #buildstream23:15
*** xjuan has quit IRC23:49
*** xjuan has joined #buildstream23:51
*** xjuan has quit IRC23:58

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