IRC logs for #buildstream for Monday, 2020-10-05

*** tristan has joined #buildstream03:22
*** ChanServ sets mode: +o tristan03:22
*** muelli has joined #buildstream04:33
*** muelli has quit IRC04:49
*** muelli has joined #buildstream06:42
tristanjuergbi, I've "fixed" the override / link element issue: https://gitlab.com/BuildStream/buildstream/-/merge_requests/207807:01
tristanWould be nice to get some feedback there07:01
tristanIn quotes because, well... anyway it's certainly fixed, I wonder if it's a bit too large of a sledgehammer for the issue07:02
tristanI suppose complexity mileage will vary depending on (A) Number of links involved and (B) Number of overrides employed07:03
tristanWith the loopiness, complexity will scale exponentially I suspect, but I'm not sure if it will in a very meaningful way07:03
gitlab-br-botjuergbi approved MR !2079 (bschubert/stricter-job-scheduler-separation->master: Ensure we are not calling methods with side effects on the element graph in jobs) on buildstream https://gitlab.com/BuildStream/buildstream/-/merge_requests/207907:10
juergbitristan: I'll try to get my head wrapped around this today07:12
tristanThanks a lot07:13
tristanjuergbi, it's possible that it can be expanded, e.g. the project declaring subprojects which are duplicate or internal might benefit too07:14
tristanideally with the general approach of caching link resolution as much as possible, we should be able to really treat a link as interchangeable with an element in every scenario07:14
* tristan has not completely [re]investigated the area of duplicates/internals and focused specifically on the overrides, but suspects we might have similar edge cases to handle there07:15
juergbiwill keep that in mind07:21
*** tomaz has joined #buildstream08:00
*** benschubert has joined #buildstream08:31
*** tristan has quit IRC08:34
*** santi has joined #buildstream08:46
*** tristan has joined #buildstream09:04
*** ChanServ sets mode: +o tristan09:04
benschuberttristan: hey! What's your plan around !2070? I'd like to have it in before I finish the tidying of the scheduler rewrite, as it will make it simpler to check for errors09:07
gitlab-br-botMR !2070: Restore task element name / element name distinction in UI https://gitlab.com/BuildStream/buildstream/-/merge_requests/207009:07
tristanbenschubert, I did !2078 in the meantime, whilst not being exactly sure what to do for testing it09:07
gitlab-br-botMR !2078: Fix junction overrides to resolve links https://gitlab.com/BuildStream/buildstream/-/merge_requests/207809:07
* benschubert adds 2078 to the review list09:08
tristanbenschubert, my conundrum about !2070, is that there is opportunity for plugins to issue messages in the master log where the "message issuing plugin" is not the "task plugin", but we don't have examples of this09:08
tristanactually, thanks for asking, that answers my question09:09
tristanto test it, I need only write a test plugin to do it09:09
benschubertfor testing, I am leaning towards having a comparison with an 'expected' output and validating every log file ? if we can remove timestamps it should be repeatable :)09:09
tristanI noticed it can happen in other external plugins but not in the repo09:09
benschubertah yeah :) that makes sense09:09
tristanSo I would not go that far no, I am leaning towards a regex logline parser as is found in some other tests09:10
tristani.e. logging is mostly UI, you don't want to have to update tests when UI changes09:10
benschubertOk, if we manage to have solid regexes I'm happy with that too. I'd just like to be able to know for sure when I break the logs :009:11
tristanBasically we want to assert that "When a plugin logs a message, it is represented by the task element in the master log, and by the issuing element in the task specific log file"09:11
tristanbenschubert, https://gitlab.com/BuildStream/buildstream/-/blob/master/tests/frontend/logging.py#L10909:12
tristanfor example09:12
tristanmine would ensure that at least the element name reflected for a given log line is the task element name in the master log, and the issuing element name in the task log09:13
benschubertthat seems good09:13
tristanalthough the cache keys are also supposed to match, so it would be better to assert that too09:13
tristanI could do that I suppose by running a bst show first and collecting the expected cache key, without hard coding it (as it's not the cache key stability test in this case)09:14
benschubertyep that would work09:14
tristanOk good, this gives me some crack fill... easy and fun work to fill the gaps for the week09:14
benschubertOnce this is in, I'll rebase my branch and will be ready for an in depth review of the scheduler :)09:16
tristanI'll be ready :)09:16
tristanlets land this baby09:16
benschubertso that I can work on the second update of it x')09:17
benschubertbut at least I should be able to make some more incremental changes after that09:18
tristannope, so you can work on the plugin DX !09:19
benschubertalso, and catchup on the ML09:19
benschubertactually for the plugins DX, do you have a few minutes for me to bounce a workflow at you? :D09:19
tristannot now I'm afraid, my class starts in 10min09:20
tristanI mean, if it's really a few :)09:20
tristanthen sure09:20
benschubertnah let's do that another time then :)09:20
benschubertOr I could shoot directly to the ML09:20
* benschubert will try to squeeze that this week09:20
*** muelli has quit IRC10:24
*** muelli has joined #buildstream10:41
*** muelli has quit IRC11:07
benschuberttristan: had a look at !2078. It seems good though I don't like the rampant complexity growing in the loader. No fix for that right now though11:34
gitlab-br-botMR !2078: Fix junction overrides to resolve links https://gitlab.com/BuildStream/buildstream/-/merge_requests/207811:34
gitlab-br-botBenjaminSchubert approved MR !2078 (tristan/fix-overriding-links->master: Fix junction overrides to resolve links) on buildstream https://gitlab.com/BuildStream/buildstream/-/merge_requests/207811:34
tristanbenschubert, any thoughts on the FIXME comment in Loader._expand_link() ?12:10
tristanit's a brain melter, I suspect I need to continue the loop for a safer bet, but I could leave the FIXME in and we'd have it there if we found corner cases which demanded that12:10
benschuberttristan: So, since the current version is correct, just (potentially) less efficient and less understandable, I'd keep the FIXME at least12:13
benschubertbut we can probably think about a bigger loader rewrite later when we have more bandwidth and free brains?12:13
tristanI like this approach yes12:13
benschubertsince I think it would anyways need a full on rethink when we've got some real time to dig in it12:14
tristanthe complexity of the lookups looks intense to me, but only with the increase of link usage and override usage12:14
benschubertright12:15
tristanI may need to do similar for support of junction duplicates and internals, but that would be an extension that can reuse all of the same added code12:15
gitlab-br-botmarge-bot123 merged MR !2079 (bschubert/stricter-job-scheduler-separation->master: Ensure we are not calling methods with side effects on the element graph in jobs) on buildstream https://gitlab.com/BuildStream/buildstream/-/merge_requests/207912:16
benschubertseems good12:17
benschubert^^ is finally in, only the logging fix and tests left before my MR should be ready :D12:17
*** tpollard has joined #buildstream12:20
tpollardHi, would it be possible for anyone (with required auth) to tell me how much storage we're using on the buildstream group container registry?12:21
*** tristan has quit IRC12:22
tpollardafaict there's no way to find it out from the public gui12:23
gitlab-br-bottcanabrava opened issue #1402 (Buildstream should refuse to build if disk space is too low.) on buildstream https://gitlab.com/BuildStream/buildstream/-/issues/140212:41
tomazthis is different from disk quota or artifact cache, my idea is that buildstream should tell me before the build process starts if I have enough space in disk for the run, instead of failing in the middle.12:47
*** tristan has joined #buildstream12:52
*** ChanServ sets mode: +o tristan12:52
*** tristan has quit IRC12:53
*** tristan has joined #buildstream13:04
*** ChanServ sets mode: +o tristan13:04
*** tristan has quit IRC13:05
*** tristan has joined #buildstream13:05
*** ChanServ sets mode: +o tristan13:05
*** tristan has quit IRC13:06
tomazhm, tristan is having irc issues14:50
tomazthe `depends` list is also available on build time, or just `build-depends` ?16:02
coldtomdepends: is both build and runtime dependencies16:04
tomazcoldtom: I'm having an issue on bst 1.6 then, I have a list of packages defined on `depends` but the configuration fails. if I move them to `build-depends`, configuration passes.16:05
nanonyme:o16:05
juergbitomaz: how does the configuration fail?16:09
tomazjuergbi: "CMake: could not find SomethingConfig.cmake" - the Something is the element in depends:16:09
tomazif I just move the element from depends to build depends, it passes.16:09
juergbido you only have a single `depends:` list in that .bst file, not multiple?16:10
tomazI have multiple, and on each run it complains about a different one.16:10
tomazso I'm moving one by one to build depends16:11
tomaz(as soon as this thing builds I'll push to my branch and paste here the url)16:11
* tomaz and the super hability to be hit by weird bugs.16:13
tomazthis sed is bad:     sed -i 's\/usr\/local/\%{install-root}/g' Makefile - any clever way to do this that I can't find?17:00
tomaz(ignore the missing / - if install-root contains `/` I don't know what to do to scape.17:02
juergbitomaz: if we assume install-root doesn't contain any spaces, you could use sed -i 's /usr/local %{install-root} g'17:02
juergbihowever, this seems like a fairly odd replacement. if this is an odd Makefile, no chance of fixing it upstream?17:03
tomazjuergbi: historycally they ignored patches for that.17:03
juergbialternatively, patch Makefile via buildstream to support DESTDIR17:03
juergbior use sed to replace it with $(DESTDIR)17:03
tomazjuergbi: you can see here: https://salsa.debian.org/debian/lmdb/-/tree/master/debian that debian patches it17:03
tomazarch also patches17:03
tomazKDE opened a patches for this I think around 5 times, all of them closed with NOTABUG17:04
juergbitomaz: please note that prefix != install-root17:04
juergbiinstall-root is like DESTDIR17:04
juergbiso it should probably be %{prefix}, although this doesn't change anything else with regards to the sed issue17:05
juergbitomaz: however, wouldn't prefix=%{prefix} as make flag work as well?17:06
juergbior to be precise, as `make install` flag17:06
tomazdunno, testing, sec.17:07
tomazit did.17:14
*** tpollard has quit IRC17:22
*** santi has quit IRC17:33
*** santi has joined #buildstream17:34
*** santi has quit IRC17:50
*** jward has joined #buildstream18:58
*** benschubert has quit IRC20:20
*** tomaz has quit IRC20:20
*** jjardon has quit IRC20:20
*** robjh has quit IRC20:20
*** dftxbs3e has quit IRC20:20
*** SotK has quit IRC20:20
*** hergertme has quit IRC20:20
*** mohan43u has quit IRC20:20
*** ironfoot has quit IRC20:20
*** coldtom has quit IRC20:20
*** milloni has quit IRC20:20
*** pointswaves has quit IRC20:20
*** douglaswinship has quit IRC20:20
*** WSalmon has quit IRC20:20
*** lantw44 has quit IRC20:20
*** nanonyme has quit IRC20:20
*** lchlan has quit IRC20:20
*** gitlab-br-bot has quit IRC20:20
*** juergbi has quit IRC20:20
*** bethw has quit IRC20:20
*** valentind has quit IRC20:20
*** philn has quit IRC20:20
*** benbrown_ has quit IRC20:20
*** douglaswinship has joined #buildstream20:21
*** coldtom has joined #buildstream20:21
*** WSalmon has joined #buildstream20:21
*** lantw44 has joined #buildstream20:21
*** nanonyme has joined #buildstream20:21
*** lchlan has joined #buildstream20:21
*** milloni has joined #buildstream20:21
*** gitlab-br-bot has joined #buildstream20:21
*** juergbi has joined #buildstream20:21
*** pointswaves has joined #buildstream20:21
*** bethw has joined #buildstream20:21
*** valentind has joined #buildstream20:21
*** philn has joined #buildstream20:21
*** benbrown_ has joined #buildstream20:21

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