IRC logs for #buildstream for Friday, 2019-03-15

gitlab-br-botjjardon merged MR !1218 (jjardon/bst-external-table->master: README.rst: Add table with package status of bst-external) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/121800:14
*** nimish has joined #buildstream01:31
*** nimish has quit IRC03:24
*** tpollard has joined #buildstream05:32
*** hergertme has quit IRC05:47
*** hergertme has joined #buildstream05:49
*** hergertme has joined #buildstream05:50
*** hergertme has joined #buildstream05:50
*** hergertme has joined #buildstream05:51
*** tpollard has quit IRC06:49
*** tpollard has joined #buildstream07:19
*** tpollard has quit IRC07:33
*** alatiera has joined #buildstream08:18
*** toscalix has joined #buildstream08:45
*** toscalix has quit IRC08:46
*** toscalix has joined #buildstream08:46
gitlab-br-botBenjaminSchubert approved MR !1226 (aevri/tmpdir_for_cache_size->master: cascache: atomically save size via tmpdir instead) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/122608:54
*** tpollard has joined #buildstream09:14
*** rdale has joined #buildstream09:23
*** raoul has joined #buildstream09:40
gitlab-br-botjuergbi approved MR !1226 (aevri/tmpdir_for_cache_size->master: cascache: atomically save size via tmpdir instead) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/122609:46
*** tpollard has quit IRC09:50
*** jonathanmaw has joined #buildstream10:08
KinnisonFor those who care... the state of the yaml rework is:10:10
Kinnison 208 failed, 981 passed, 126 skipped in 788.54 seconds10:10
Kinnisonalmost all of those failures are track related because that's the one remaining big algorithm to be rewritten10:10
Kinnisonjuergbi: unless it turns out to be a pig causing delays, please could you not cancel the latest pipeline on shared/yaml-rework since I'd like to see if the test results are comparable elsewhere.  I expect it to be failing all over :D10:20
juergbiok10:23
*** lachlan has joined #buildstream10:38
*** toscalix has quit IRC10:48
*** toscalix has joined #buildstream10:50
*** toscalix has quit IRC10:55
*** toscalix has joined #buildstream10:55
juergbiaevri: !1231 still has WIP status. remove it quickly, before Marge notices :-)11:05
gitlab-br-botMR !1231: WIP: project: don't do _find_project_dir if we're a junction https://gitlab.com/BuildStream/buildstream/merge_requests/123111:05
gitlab-br-botaevri opened (was WIP) MR !1231 (aevri/direct_load_junction_projects->master: project: don't do _find_project_dir if we're a junction) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/123111:05
aevriDone, thanks! :)11:05
gitlab-br-botmarge-bot123 merged MR !1226 (aevri/tmpdir_for_cache_size->master: cascache: atomically save size via tmpdir instead) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/122611:08
*** alatiera has quit IRC11:15
*** swick has quit IRC11:24
laurencehow are people finding marge? as i commented the other day i have seen quite a few notifications of CI taking too lon11:25
juergbiI think the timeout is 90min right now? should probably be increased to at least 120min11:26
* Kinnison likes that he can assign to marge and stop worrying11:26
juergbias WSL can occasionally take a long time11:26
juergbihowever, in general I definitely like the setup11:26
KinnisonWSL is horrendously slow11:27
Kinnison120m is probably a good idea11:27
juergbiit seems to vary a lot11:27
laurenceok, will change to 120 mins11:28
phildawsonIt's definitely nice to be able to assign and forget. I agree it would be good to up her timeout though. It would probably make sense to set it to whatever our CI is set to.11:28
juergbiour CI might currently have a very long timeout due to the overnight tests11:28
juergbinot sure whether we can have separate timeouts for the regular tests11:29
juergbiin that case the same timeout would definitely make sense11:29
phildawsonFair point.11:30
laurencevalentind, pls could you approve/merge https://gitlab.com/BuildStream/website/merge_requests/118#note_150868055 ?11:36
laurenceor anyone else who has permissions on the website repo11:37
valentindlaurence, done.11:41
*** mohan43u_ has joined #buildstream11:41
*** mohan43u has quit IRC11:41
*** lachlan has quit IRC11:42
laurencevalentind, tvm. johnward could you pls press the merge button?11:43
valentindlaurence, sorry, I thought you had the right to merge.11:43
valentindI merged11:44
laurencevalentind, ah, ok (wasn't sure if you have merge rights or just approver rights) - cheers11:44
gitlab-br-botLaurenceUrhegyi closed issue #924 (Update BuildStream's documentation and website with an update on the Release Policy change) on buildstream https://gitlab.com/BuildStream/buildstream/issues/92411:50
*** lachlan has joined #buildstream11:58
benschubertjuergbi: does https://gitlab.com/BuildStream/buildstream/commit/c9de0cb803d7dbf57316730c9e7e4b64e6a47ef1 makes sense?12:15
juergbibenschubert: yes, I think so12:26
benschubertjuergbi: ok thanks! I'll continue my work then12:29
*** raoul has quit IRC12:33
gitlab-br-botmarge-bot123 merged MR !1231 (aevri/direct_load_junction_projects->master: project: don't do _find_project_dir if we're a junction) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/123112:33
*** mohan43u_ has quit IRC12:54
*** mohan43u has joined #buildstream12:56
*** lachlan has quit IRC12:58
*** nimish2711 has joined #buildstream13:18
*** raoul has joined #buildstream13:39
*** raoul has quit IRC13:52
*** raoul has joined #buildstream13:57
benschubertjuergbi: I'm still confused with something. Can we build an element that has no __cache_key, but only a weak one?13:57
*** lachlan has joined #buildstream13:59
juergbibenschubert: no, I don't think this can happen14:00
juergbiworkspaces are build with __cache_key set to None but weak is set to None as well in that case14:01
benschubertok yeah14:01
juergbiin all non-workspace cases we should have both __cache_key and __weak_cache_key when starting a build14:01
benschubertI'm really confusing myself with my code right now. I'm not triggering a build that should be -_-'14:01
juergbithe overall logic is more complex than it'd seem at first, indeed easy to get confused14:02
juergbiit would be nice if we could somehow move the complexity of non-strict builds and workspaces ou tof the core cache key logic14:03
benschubertthat's in the back of my head14:05
gitlab-br-botaevri opened (was WIP) MR !1227 (aevri/you_only_write_once->master: cleanupjob, cascache: don't write cache size twice) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/122714:23
*** lachlan has quit IRC14:27
*** nimish2711 has quit IRC14:40
*** lachlan has joined #buildstream14:52
*** raoul has quit IRC15:05
*** nimish2711 has joined #buildstream15:06
gitlab-br-botmbodmer closed issue #962 (Question:  Incremental builds for multiple build configurations side-by-side) on buildstream https://gitlab.com/BuildStream/buildstream/issues/96215:07
*** swick has joined #buildstream15:09
*** raoul has joined #buildstream16:06
*** lachlan has quit IRC16:19
raoulFor people that wanted to know about ux of the new pipeline with source pushing, here it is for testing the autotools example along with some remote execution: https://asciinema.org/a/LneYtAas5RvvczdrGVHXzItty16:40
raoullooks like it doesn't say in the pipeline summary so I should add that, and some other shorter name for the current status may be better than "Source pushed"16:41
*** toscalix has quit IRC16:49
*** lachlan has joined #buildstream16:50
*** raoul has quit IRC16:52
*** raoul has joined #buildstream16:57
benschubertjuergbi: are you around? could you look at https://gitlab.com/BuildStream/buildstream/merge_requests/new/diffs?merge_request%5Bsource_branch%5D=bschubert%2Fpipeline-next&merge_request%5Btarget_branch%5D=master and tell me if the changes seem sensible to you? If so, I'll cleanup and push to !107016:59
gitlab-br-botMR !1070: WIP: Refactor _update_state() to be called only when needed https://gitlab.com/BuildStream/buildstream/merge_requests/107016:59
raoulhe's just headed off to the airport so he may not be online for a bit17:01
doras[m]What would be the correct element to use if I only want it to run integration commands?17:02
benschubertraoul: oh shoot, thanks!17:02
tlater[m]doras: Probably a compose element: https://docs.buildstream.build/elements/compose.html17:04
tlater[m]Though, that's assuming you have an element to depend on17:04
tlater[m]Otherwise you might want a manual element17:04
doras[m]Wouldn't compose include the artifcats of those elements in itself? I don't want it to have any files of its own, I just want it tto run some commands upon integration.17:06
tlater[m]doras: Hm, what do you want those commands to do?17:07
tlater[m]You can suppress output by setting include-orphans to false and simply not including any domains17:07
tlater[m]But I don't really see the point of such an element17:07
doras[m]It would have elements that it depends upon to run the integration commands, but it should not "become" its dependencies.17:08
doras[m]The point is that I have a compose element that runs the integration commands of its various elements. However, some commands aren't inherently part of an element, but rather optional. In order to run them only in the context of my compose element, I want to make them part of an element dedictaed purely to running them.17:10
doras[m]Strange use case, but makes some sense.17:11
doras[m]It also makes no sense to run them before integration, because they operate on files created by the integration commands of other elements.17:12
doras[m]This is where I hope I can control the order by which integration commands are run.17:12
* tlater[m] isn't sure he quite understands the use case - can't really see what the input (in terms of filesystem) is, and what the expected output would be17:13
tlater[m]Sorry |:17:13
doras[m]I could just as well make a script element that stages the compose element and then runs those commands.17:14
doras[m]But I somehow feel that I would be missing the point of integration commands.17:14
tlater[m]Yep, I see where you're coming from17:14
tlater[m]I suspect a clever use of split rules can do this17:14
tlater[m]But I can't really help much with that without a clearer picture17:15
tlater[m]doras: Reading through that again, do you mean: element -> integration-command-element -> compose?17:17
doras[m]Yes.17:18
doras[m]More like "elements -> integration-command-element -> compose", but yeah.17:18
tlater[m]Err, there's an important distinction here17:18
tlater[m]Is the mapping N:N:117:19
tlater[m]Or N:1:117:19
doras[m]N:N:1, if this works.17:20
doras[m]I have more use cases for "optional" integration commands.17:20
*** alatiera has joined #buildstream17:21
tlater[m]doras: I think best practice for "integration-command-element" would still be a compose element in this case17:22
tlater[m]You object to it "becoming" the dependency though, right?17:22
tlater[m]Why is that?17:22
doras[m]It is dependent on tools that I don't want to include in the final compose. They are just integration tools.17:22
tlater[m]So "integration-command-element" would depend on both the thing you want to integrate and a handful of dev tools?17:23
doras[m]Only dev tools, I think. The thing I want to integrate is the ouput of the integration command.17:25
tlater[m]That sounds like a script element... Where do the integration commands come from?17:26
doras[m]Dev tools.17:26
doras[m]Dev tools run integration on elements that are part of the compose, produce output. I'd like that output to become part of the compose as well.17:27
tlater[m]In either case, I think the options are 1) compose element with very fancy split rules or 2) script element17:27
doras[m]Kind of like a compose element running its own compose commands.17:27
doras[m]err, integration commands*17:27
tlater[m]This certainly seems like a case for a script element to me17:28
tlater[m]Because you're not really using buildstream's concept of integration commands in the first place17:28
tlater[m]Unless the integration tools have integration commands, but that seems wrong because it's not the commands used to integrate the integration tools, but rather the elements they are integrating17:29
doras[m]What is BuildStream's concept of integration commands?17:30
tlater[m]The way I perceive it is that we associate a set of commands that need to be run for an element if it's to be integrated with other tools17:30
tlater[m]s/tools/elements/17:30
tlater[m]Say, something to update font caches17:30
doras[m]What if I optionally want to update font caches?17:31
tlater[m]That depends on what "optionally" means :)17:32
doras[m]Some compose elements with integration enabled would depend on the element that can update font caches, but not actually update the font caches during integration. Some compose elements would.17:33
doras[m]The real issue here is that this element comes with many dev tools, some I want to run during integration and some I do not.17:34
tlater[m]doras: Could you get away with scripting this in the integration commands?17:34
tlater[m]I.e., have some check in the integration commands that checks if you need to run the dev tool for the current state?17:35
doras[m]I could. It would be unfortunate if I have to, though. Detection could be complicated.17:36
doras[m]Right now integration commands are implicit. My use case is explicit integration commands.17:37
doras[m]I guess it's not really "supported".17:37
tlater[m]Yep, not unexpected. There's a chance I simply don't know how it is supported.17:37
tlater[m]I'd suggest seeing if tristan pops up later and pitching this to him17:37
tlater[m]But generally elements are pretty static, little should change between invocations of the same element.17:38
*** jonathanmaw has quit IRC17:40
doras[m]I could use script elements, but they basically don't have the concept of integration commands since they can't have runtime dependencies.17:43
doras[m]Which is unfortunate, I don't understand why.17:43
doras[m]A script can create an output that can be run. Say, another script. Why not allow running it? :\17:46
tlater[m]^ If anything, that should be documented17:46
tlater[m]Agreed. I'm trying to remember why, but it's been a while since I played with script elements |:17:47
doras[m]Well, it does say that "Script elements may only specify build dependencies."17:47
doras[m]In here: https://docs.buildstream.build/elements/script.html17:47
tlater[m]It doesn't say why though :)17:48
benschuberttlater[m]: if you have time can you have a look at https://gitlab.com/BuildStream/buildstream/commits/bschubert/pipeline-next and tell me if you spot some obvious problems? I'm still in the process of cleaning up but should be pretty much ready :) only one test not passing. For more context, !1070 contains the previous iteration17:52
gitlab-br-botMR !1070: WIP: Refactor _update_state() to be called only when needed https://gitlab.com/BuildStream/buildstream/merge_requests/107017:52
tlater[m]"blah" is a pretty good commit message, benschubert ;)17:52
benschubertWill be merged with the PQ commit ;)17:53
benschubert(and I apparently broken something just before pushing, 1 test in all is failing o/)17:57
benschubertuh? no it's not broken17:59
tlater[m]benschubert: From a quick read through it seems fine18:05
tlater[m]Much prefer the new UniquePQ18:05
benschuberttlater[m]: thanks! I'll cleanup, extract the PQ in a _collections.py and will update !1070 with it. We might get it merged on monday :D18:06
benschubertonce I've got juergbi and tristan's reviews18:06
tlater[m]Yeah, you'll definitely want more rigorous review18:06
* tlater[m] has been pretty far removed from this particular issue18:06
benschubertjust missing the benchmarks on it :)18:06
benschubertagreed :) I'm just trying to have as much people as possible to have a look at this one, since it's pretty core :)18:07
tlater[m]Let's hope those turn out good :)18:07
benschuberttlater[m]: they will at least for cases with >8 builders18:08
benschubert:D18:08
tlater[m]If you want to use some fresh-off-the-press beta code, you can use the new local benchmarking to get some initial estimates.18:08
benschubertyou mean jennis' stuff?18:08
tlater[m]... but I suspect lachlan wouldn't like me advertising that18:08
benschubertah?18:08
benschuberttoo late :)18:08
tlater[m]Nah, we're revamping the original benchmarking repo so people can use it on their dev machines18:09
benschuberttlater[m]: I like that!18:09
benschubertbut I went ahead and scripted my own https://gitlab.com/BenjaminSchubert/bst-benchmarks for local stuff18:09
benschubertbut I would be very happy to use something else18:09
tlater[m]Oh, i've actually seen that, yeah18:09
tlater[m]benschubert: Keep an eye on this branch: https://gitlab.com/BuildStream/benchmarks/tree/lachlanmackenzie/LocalRepoBenchmarkingTesting18:09
tlater[m]That said, it's still quite the end from ready18:09
benschuberttlater[m]: do we have tests with different number of runners and/or remote exec?18:10
tlater[m]Not yet. Ideally once this gets a little more exposure those tests will magically appear.18:11
benschuberttlater[m]: please keep me updated on this, I've been looking a lot at performance :)18:11
tlater[m]And by "magically" I mean lachlan and I will write them as people complain our metrics are lacking ;)18:11
benschubertThen add number of builders to your list ;)18:11
tlater[m]benschubert: will do!18:11
benschubertbecause https://gitlab.com/snippets/1832618 because it's not glorious :/18:12
tlater[m]Oh, interesting18:13
* tlater[m] finishes up for the day, in any case, some uni work to finish off before tomorrow... o/18:14
benschubertgood luck with that!18:21
juergbibenschubert: decrement at the end of update_state: shouldn't this be done only if self.__remaining_runtime_deps_cache_keys_to_discover is 0?18:24
juergbihave to go to the gate now18:24
*** raoul has quit IRC18:25
juergbiand if it's not 0, we need to do this decrement when that happens18:25
*** nimish2711 has quit IRC18:26
benschubertjuergbi: gah that's true, we need to do it recursively also18:30
benschubertI'll amend that thanks!18:30
benschubertand benchmark tonight18:30
*** rdale has quit IRC19:43
*** alatiera has quit IRC20:17
*** TheScaia has joined #buildstream20:29
*** TheScaia has quit IRC20:30
*** lachlan has quit IRC21:03
*** alatiera has joined #buildstream22:26
*** nimish2711 has joined #buildstream23:35

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