IRC logs for #buildstream for Monday, 2019-06-03

*** bilelmoussaoui has quit IRC05:04
*** bilelmoussaoui has joined #buildstream05:09
*** bilelmoussaoui has quit IRC05:13
*** bilelmoussaoui has joined #buildstream05:19
*** tristan has quit IRC05:25
*** tristan has joined #buildstream05:56
*** tristan has quit IRC06:07
*** rdale has joined #buildstream07:47
*** rdale has quit IRC07:53
*** tristan has joined #buildstream08:11
*** tpollard has joined #buildstream08:34
*** raoul has joined #buildstream08:38
*** rdale has joined #buildstream08:50
*** laurence has quit IRC09:01
*** laurence has joined #buildstream09:01
*** jonathanmaw has joined #buildstream09:07
*** bilelmoussaoui has quit IRC09:20
*** bilelmoussaoui has joined #buildstream09:22
*** bilelmoussaoui has quit IRC09:26
benschubertmmh our gitlab-bot seems dead again09:37
*** bilelmoussaoui has joined #buildstream09:38
tpollardbeing able to query a remote artifacts size++09:44
gitlab-br-botBenjaminSchubert opened MR !1368 (bschubert/fix-cython-trace->master: setup.py: Be more restrictive with BST_CYTHON_TRACE values) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/136810:08
gitlab-br-botdanielsilverstone-ct approved MR !1368 (bschubert/fix-cython-trace->master: setup.py: Be more restrictive with BST_CYTHON_TRACE values) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/136810:08
benschubertIs marge alive?10:26
tpollardnothing in the profile log for 2 days10:28
*** bilelmoussaoui has quit IRC10:28
*** bilelmoussaoui has joined #buildstream10:28
benschubertCould someone bump her? Or should I go to merge manually?10:29
jennisbenschubert, I think a restart is on the way...10:34
benschubertthanks!10:37
gitlab-br-botmarge-bot123 merged MR !1368 (bschubert/fix-cython-trace->master: setup.py: Be more restrictive with BST_CYTHON_TRACE values) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/136810:38
benschubertthanks!10:40
*** bilelmoussaoui has quit IRC10:41
jennisbenschubert, it looks like a timeout issue, potentially this existing issue (which has just been +1'd): https://github.com/smarkets/marge-bot/issues/18810:46
*** pointswaves has joined #buildstream10:53
*** bochecha has joined #buildstream11:04
*** bochecha has quit IRC11:13
*** bochecha has joined #buildstream11:13
*** bochecha_ has joined #buildstream11:13
*** bochecha has quit IRC11:16
*** bochecha_ is now known as bochecha11:16
*** bochecha_ has joined #buildstream11:40
cs-shadowso marge-bot is not on GitLab, that's a bit odd11:41
*** bochecha has quit IRC11:42
*** bochecha_ is now known as bochecha11:42
*** tristan has quit IRC11:54
jennisha, "A merge-bot for GitLab" is the description on marge-bot's GitHub11:57
jennisI agree, that does seem odd11:57
tpollardI presume because the rest of smarkets stuff is on github11:58
*** tristan has joined #buildstream12:21
WSalmonjennis, that patch was written to fix the free desktop merge-bot, benjamb is benbrown unless i am very much mistaken.12:36
*** lachlan has joined #buildstream12:43
*** jjardon has quit IRC12:43
*** jjardon has joined #buildstream12:45
*** ChanServ sets mode: +o jjardon12:45
*** cs-shadow has quit IRC12:46
*** cs-shadow has joined #buildstream12:46
*** benschubert has quit IRC12:46
*** benschubert has joined #buildstream12:47
*** lachlan has quit IRC13:01
*** phil has quit IRC13:01
*** phildawson has quit IRC13:01
*** phildawson has joined #buildstream13:01
*** phil has joined #buildstream13:01
*** mrmcq2u[m] has quit IRC13:16
*** mrmcq2u[m] has joined #buildstream13:16
*** laurence has quit IRC13:19
*** laurence has joined #buildstream13:19
*** lachlan has joined #buildstream13:21
benschubertIf I want to make a small breaking changes for plugins, do I need to go through the ML or do we have a simpler way to do so (I want to prevent 'node_get(type=Mapping)' to be replaced by 'node_get(type=dict)'13:24
*** lachlan has quit IRC13:32
*** benschubert has quit IRC13:32
*** benschubert has joined #buildstream13:34
*** lachlan has joined #buildstream13:34
*** phil has quit IRC13:42
*** phildawson has quit IRC13:42
*** phil has joined #buildstream13:42
*** phildawson has joined #buildstream13:42
gitlab-br-botshashwatdalal opened MR !1369 (shashwatdalal/make-magic-timestamp-public->master: `utils.py`: Make `magic_timestamp` a public variable) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/136913:42
WSalmonbenschubert, I think changing pluging API's however trivial will effect quite a few people, including non core-developers/(people who dont interact with buildstream gitlab often) so i would think that the ML would be a good place for this. That said i would have thought that would be ok so the ML dose seem a bit much...14:07
gitlab-br-botBenjaminSchubert opened MR !1370 (bschubert/optimize-node_get->master: Optimize _yaml.node_get) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/137014:29
*** lachlan has quit IRC14:33
*** lachlan has joined #buildstream15:11
*** lachlan has quit IRC15:18
*** phildawson_ has joined #buildstream15:24
*** phil has quit IRC15:25
*** phildawson has quit IRC15:25
*** phildawson has joined #buildstream15:25
*** lachlan has joined #buildstream15:44
*** bochecha has quit IRC16:02
*** rdale has quit IRC16:18
gitlab-br-botjennis opened (was WIP) MR !1344 (jennis/push_based_pipeline->master: Push based pipeline) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/134416:26
*** phildawson_ has quit IRC16:39
*** phildawson has quit IRC16:39
*** phildawson_ has joined #buildstream16:39
*** phildawson has joined #buildstream16:39
*** pointswaves has quit IRC16:46
*** ChanServ sets mode: +o tristan17:01
tristanbenschubert, If you happen to be looking at node_get() and the YAML changes of late, I'd invite you to at least have a glance at https://gitlab.com/BuildStream/buildstream/issues/1006 also17:01
tristanI think the new YAML changes are great in general as they impose more strictness and catch more corner cases, but some of it is really unwieldy17:02
benschuberttristan: I'll have a go in the next week(s?) to see if I can manage a better API then! Would you be happy with braking the API once again or would you rather keep a compatibility overlay? (I'd rather go with the first option, and not keep the previous cruft)17:04
tristanbenschubert, it was already an API break in the first place, I certainly think it's fine to break again as there are no guarantees; more important to get it clean and nice in 2.x17:05
benschubertOk! I'll have a look at this then17:06
benschubertthanks!17:06
benschubertWSalmon: are you around by any chance?17:06
tristanI think I linked in there a patch where I actually implemented a back-and-forth from dict-to-node which *might* be helpful (or might be total nonsense)17:06
tristanbut was an easier approach for porting the debian plugins than doing all the node tedium17:06
benschubertfound it17:07
tristanbenschubert, fwiw, for the other question; I think the more important part here is to keep the NEWS up to date regarding breaking changes17:09
tristanas that is currently the only place we're documenting things, and will serve eventually as a starting point for composing a user facing porting guide17:09
benschubertperfect, that's what I did before :)17:10
benschuberttristan: for the node api refactor, I wonder if having a DictNode, a StrNode, a IntNode, a FloatNode and a ListNode would be nicer and simpler. And having each of them behave as if they were a Dict/int/float/etc ?17:14
benschubertLike you could do MyDictNode["blah"] = "foo"17:14
benschubertor have just two: One SimpleNode, and a ContainerNode, with SimpleNode.set_value(my_value) and ContainerNode.set_value(indice_or_key, value)17:15
benschubertso if you already had a thought about it and have a preference? Otherwise I'll decide as I'm implementing it17:15
tristanSo... I think that being able to write python as if the nodes were dicts at least in assignment would be helpful17:16
tristanif you look at the referred patches where I had to do pretty wordy stuff, it mostly revolves around plugins which need to manipulate mutable nodes (for public data that is derived as a result of Element.assemble())17:17
tristanThe original API changes introduced seem to be pretty fine for Plugin.configure() purposes (reading configuration)17:17
benschubertyep, I'll make sure writing and reading the API is still nice and smoother than now17:18
tristanbenschubert, another plausible approach might be to only have Element.[get/set]_public_data have a node <--> dict transformation ?17:18
tristannot sure17:18
*** pointswaves has joined #buildstream17:18
tristanI do like the idea of exposing the `Node` type directly though, rather than having to call Plugin.new_virgin_node() or whatever17:19
benschubertyep17:19
benschubertand since it's cython we can prevent access to users to things we really want to hide :)17:19
tristanWell, that sounds like a nice aspect of cython :)17:20
benschubertI don't like the node -> dict transformation for the _get_, as it means when you set it's not reflected17:20
benschuberton the node I mean17:20
benschubertor we want users to explicitely do a set_value?17:20
tristanI don't think so, I mean do we need strong validation at set time ?17:20
benschubertnot sure17:21
benschubertI'll play more with it until I'm satisfied :)17:21
tristanI think it would be nice to have the node support `node['key'] = value` directly and quack like a dict in that sense17:21
tristanbut indeed, take a look at the code which uses public data to have a feel for what's being done17:21
benschubertThe only problem of quacking like a dict for this is that it becomes awkward for a simple node (str, int, float), as we now need node.value or something17:22
benschubertWe could optimize for Dict/List, or have everything go through a getter/setter17:23
tristanI'm not sure we need our whole set of types for all basic types, we could17:23
tristansomething to consider I guess17:23
benschubertI'll play with it and make a WIP MR I guess, easier to speak around code17:23
tristan(maybe it would mean that node members themselves would carry provenance info themselves instead of on the containing nodes ?)17:23
tristanit would definitely mean a lot more churn in plugins, as Plugin.node_get_member() calls would all have to be rewritten17:24
benschubertThat would work for containers, but would not be super nice for simple types17:25
tristanbut I mean, if we're shooting for a major improvement, that wouldnt be too bad especially if it were a one off thing17:25
benschubertagreed17:25
benschubertI'd rather have a really nice API for bst 2.0 :)17:25
tristanThen at the same time we'd feed a strongly (or more 'specifically') types Node to Plugin.configure(), and we'd have plugins call Node.get_member(), and just nuke Plugin.node_get_member() completely17:26
tristannuke all the Plugin.node_*() funcs17:26
tristans/types/typed17:26
*** raoul has quit IRC17:34
*** pointswaves has quit IRC17:37
Kinnisontristan: all nodes carry their provenance now17:41
KinnisonThat was part of the new world order17:41
tristanKinnison, except that from what I understood, and I could be wrong... nodes are still just the nodes, not the values17:43
KinnisonNope values are nodes too internally17:43
tristanKinnison, i.e. is the key/value pair within a node... also a node ?17:43
tristanI see17:43
KinnisonThough we currently simplify out from there at the api boundary17:43
tristanI didn't understand that from the API17:43
tristanright17:44
benschuberttristan: yup that seems nice.17:44
benschuberttristan, kinnison, what about Node.get_value(type=my_type), Node.get_from_list(indice, type=my_type) and Node.get_from_dict(key, type=my_type) ?17:44
KinnisonSo there's a good chance that your idea of reworking Node to have member methods etc might fly17:44
KinnisonI think perhaps Node.as_foo() maybe?17:45
KinnisonAnd indexing by number treats as list, indexing by stri g as dict?17:45
KinnisonBad phone keyboard. Apologies.17:45
benschubertmmh that would work yep17:45
KinnisonPerhaps Node.assert_footype() for checks?17:46
KinnisonI'm guessing at an api right now,17:46
KinnisonWill revisit this tomorrow. I need to go make dinner.17:47
benschubertOr just raise when the type is not good17:49
*** lachlan has quit IRC18:13
*** lachlan has joined #buildstream18:16
*** lachlan has quit IRC18:19
*** lachlan has joined #buildstream18:21
*** lachlan has quit IRC18:36
*** xjuan has joined #buildstream18:42
*** lachlan has joined #buildstream18:53
*** lachlan has quit IRC18:59
*** lachlan has joined #buildstream19:07
*** lachlan has quit IRC19:10
*** lachlan has joined #buildstream19:13
*** xjuan has quit IRC19:26
*** lachlan has quit IRC19:48
*** brlogger has joined #buildstream20:07
*** slaf has quit IRC20:07
*** verdre[m]1 has quit IRC20:07
*** segfault3[m] has quit IRC20:07
*** tlater[m] has quit IRC20:07
*** ssssam[m] has quit IRC20:07
*** skullone[m] has quit IRC20:07
*** asingh_[m] has quit IRC20:07
*** jjardon[m] has quit IRC20:07
*** ironfoot has quit IRC20:07
*** brlogger` has quit IRC20:07
*** admin has quit IRC20:07
*** WSalmon has quit IRC20:07
*** valentind has quit IRC20:07
*** cgmcintyre[m] has quit IRC20:07
*** kailueke[m] has quit IRC20:07
*** albfan[m] has quit IRC20:07
*** pro[m] has quit IRC20:07
*** dineshdb[m] has quit IRC20:07
*** Trevinho[m] has quit IRC20:07
*** awacheux[m] has quit IRC20:07
*** Demos[m] has quit IRC20:07
*** connorshea[m] has quit IRC20:07
*** reuben640[m] has quit IRC20:07
*** theawless[m] has quit IRC20:07
*** nielsdg has quit IRC20:07
*** dbuch has quit IRC20:07
*** doras[m] has quit IRC20:07
*** waltervargas[m] has quit IRC20:07
*** coldtom has quit IRC20:07
*** brlogger has joined #buildstream20:07
*** ironfoot has joined #buildstream20:09
*** coldtom has joined #buildstream20:10
*** lachlan has joined #buildstream20:12
*** swick has joined #buildstream20:12
*** slaf has joined #buildstream20:13
*** valentind has joined #buildstream20:13
*** lachlan has quit IRC20:15
*** jonathanmaw has quit IRC20:16
*** WSalmon has joined #buildstream20:21
*** dineshdb[m] has joined #buildstream20:28
*** Demos[m] has joined #buildstream20:29
*** nielsdg has joined #buildstream20:38
*** kailueke[m] has joined #buildstream20:54
*** segfault3[m] has joined #buildstream20:56
Kinnisonperhaps21:08
*** waltervargas[m] has joined #buildstream21:11
*** ssssam[m] has joined #buildstream21:19
*** awacheux[m] has joined #buildstream22:01
*** pointswaves has joined #buildstream22:05
*** doras[m] has joined #buildstream22:06
*** reuben640[m] has joined #buildstream22:17
*** skullone[m] has joined #buildstream22:38
*** cgmcintyre[m] has joined #buildstream22:52
*** connorshea[m] has joined #buildstream23:06
*** tlater[m] has joined #buildstream23:28
*** jjardon[m] has joined #buildstream23:28
*** theawless[m] has joined #buildstream23:42
*** pointswaves has quit IRC23:44
*** dbuch has joined #buildstream23:47
*** albfan[m] has joined #buildstream23:51
*** Trevinho[m] has joined #buildstream23:54
*** asingh_[m] has joined #buildstream23:56

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