IRC logs for #buildstream for Monday, 2020-06-01

*** Camila5448 has joined #buildstream01:35
*** Camila5448 has quit IRC01:37
*** tristan has quit IRC05:50
*** tristan has joined #buildstream06:34
*** benschubert has joined #buildstream07:32
*** cphang has joined #buildstream07:56
*** phildawson has joined #buildstream08:04
*** jude has joined #buildstream08:06
*** rdale has joined #buildstream08:07
cphangjuergbi after having a little think on https://gitlab.com/BuildGrid/buildbox/buildbox-common/-/commits/juerg/grpc-retry I think you're right, it's best not to think of theoretical examples of different error codes when most of them probably demonstrate non-compliance anyway.08:24
cphangWSalmon juergbi has it been shown that https://gitlab.com/BuildStream/buildstream/-/issues/1310 has been fixed?08:27
WSalmonLooks like it, but it looked like it last time, FD has not built with master but its got a long way, https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/jobs/57485092308:36
*** tpollard has joined #buildstream08:42
cphangis there a smaller test that we can do without having to resort to a full end to end fdsdk build?08:43
WSalmonhttps://gitlab.com/BuildStream/buildstream/-/issues/1318#note_352723829 I would think its worth keeping this open until the fix is in upstream (buildbox-*) and there are new installable bins on the buildstream website? but we could close it and make new issues for buildbox and the website?08:43
WSalmoncphang, not that i know, i can see the POV of saying that the error is no longer observable so lets close it08:44
coldtomi'd have expected to see a failure on that by now without the fix08:44
*** santi has joined #buildstream08:44
cphangIt'd be nice to have a small integration test, but https://gitlab.com/BuildStream/buildstream/-/merge_requests/1929/diffs#a01481ca4ec6523776100e756c661eab1db49c9e_120_122 looks fairly convincing to me as well.08:46
WSalmonyep, im sure benschubert has fix the exact case and the build has got further than it had but i worry there are other edge case's with variables that could have been missed08:58
WSalmonthat job is so far in that it is looking more and more unlikely tho08:59
cphangWSalmon that aren't covered by the unit tests? If you can think of some, that sounds like patches for BuildStream imo?09:01
*** tristan has quit IRC09:05
WSalmonnot that i know09:10
*** Allison6011 has joined #buildstream09:44
*** Allison6011 has quit IRC09:46
*** tristan has joined #buildstream09:56
*** tristan_ has joined #buildstream09:57
*** tristan has quit IRC09:58
*** tristan_ has quit IRC10:21
*** Ariana8648 has joined #buildstream10:28
*** Ariana8648 has quit IRC10:30
*** tristan has joined #buildstream10:39
*** ChanServ sets mode: +o tristan11:29
tristanjuergbi, benschubert... care to take a look at !1948 for me ?11:30
benschuberttristan: sure. I'll do that this afternoon11:30
benschubertI've also started reading your email on artifact server config11:30
benschubertand will try to have an answer by today, but that's a tough one :D11:31
tristanbenschubert, thanks !11:31
tristanbenschubert, yeah... it's a tough one, I think you might at least agree it's confusing as hell and needs to be revisited, at least ?11:32
benschubertah I definitely agree there :)11:32
tristanheh11:32
benschubertThere is just a few assumptions made that I might not agree with :)11:32
tristanYeah11:32
tristanFair :)11:32
benschubert(like loosing the fine-grained per-junction config )11:32
benschubertand the no 'push' in the project.conf config11:33
benschubertwhich is useful for development caches11:33
benschubertwhere you have a team that wants to collaborate and share build failures11:33
benschubertbut that will come in my email in a better form :)11:33
tristanThe logic that is based in is that: We have a very confusing config which is even hard to define/specify what it means, and that much of the flexibility might be based on assumptions11:33
tristanthat we "might" need something, not necessarily proven use cases11:34
tristanbenschubert, for "push" in project.conf particularly, I think I clarified that we might keep that as it's low cost and mirrors the user config11:34
benschubertoh haven't read tha tpart yet :)11:35
benschubertanyways, I'll continue after lunch11:35
tristanAnyway, please take your time to digest it, it's indeed a tough one :)11:35
*** tpollard has quit IRC12:10
*** tpollard has joined #buildstream12:11
*** tristan has quit IRC12:13
valentindtraveltissues, I am having an issue with this magic value in a test: https://gitlab.com/BuildStream/buildstream/-/blob/master/tests/internals/storage_vdir_import.py#L5312:48
valentindHow was this value calculated?12:48
valentindIs that TIMESTAMP in seconds since epoch?12:49
valentindYes, I think it is that.12:51
traveltissuesyes, it should be12:52
*** Elizabeth5953 has joined #buildstream12:53
*** Elizabeth5953 has quit IRC12:55
valentindtraveltissues, This fails on my machine. Is there some requirements for this to work?12:56
*** Piper3025 has joined #buildstream12:57
*** Piper3025 has quit IRC12:58
traveltissuesin what way does it fail valentind13:01
valentindI get a different mtime for line 222 https://gitlab.com/BuildStream/buildstream/-/blob/master/tests/internals/storage_vdir_import.py#L22213:01
valentindhttps://paste.gnome.org/psstzgzr013:02
traveltissuesthat looks like the stamp from today13:03
valentindYes13:03
valentindWhy does master fail like that on my computer?13:03
valentindDoes this go through buildbox-casd? Do I need a specific snapshot?13:04
traveltissuesi'm not sure but it seems like it's updating the mtime, i remember seeing a similar issue at one point but it's been quite a while since i looked at this particular part of it13:04
traveltissuesit does but should have been working with 0.0.613:07
valentindI am on 0.0.713:07
valentindDoes not master use 0.0.7?13:08
traveltissuesi'm not sure, i know that 0.0.8 was released recently13:17
*** Cora6751 has joined #buildstream13:20
*** Cora6751 has quit IRC13:22
traveltissuesvalentind: it fails locally for me too13:31
traveltissuesmaster seems to be using master-149783478 which looks like it failed https://gitlab.com/BuildStream/buildstream-docker-images/-/jobs/56821533013:38
*** tristan has joined #buildstream13:50
benschubertvalentind: nice PR :) I'll have a look at it and run a few benchmarks of my own too on it, thanks :)13:59
robjhhow can i get buildstream to retry a failed build? (i want it to offer me a shell again). so far ive tried `bst artifact delete python3-pillow.bst` but it still seems to be caching the result14:14
robjhlessons from history tells me that m -rf ~/.cache/buildstream* will work, but it will also add 20m to my turnaround14:16
benschubertrobjh: do you have an artifact cache? if so it would be stored there and then pulled. You could do --remote "" to disable it IIRC14:21
robjhoooh, i do!14:23
*** ChanServ sets mode: +o tristan14:25
tristanbenschubert, Interesting comment, I have a meeting now and it will be late (already late actually)14:25
benschuberttristan: we can discuss this tomorrow if you want?14:26
tristanbenschubert, I'll check to see if I can get away with that, it would be nice14:26
benschubertI believe it would make things both simpler and faster14:26
tristanOh yeah I'll try it first and see if it's possible14:26
tristanI have a feeling that there are obstacles but maybe you're right :)14:26
* tristan wishes he had a final decision about how to allow multiple instances of the same project to coexist in the same pipeline ...14:27
tristanthat would give me more stuff to work on before people out west start to appear ...14:27
* tristan must poke the hornets nest on that topic daily14:28
robjhis there any way to make a `kind: pip` use pip3?14:29
benschuberttristan: which ML threads is that again?14:30
tristanbenschubert, https://mail.gnome.org/archives/buildstream-list/2020-May/msg00005.html14:31
tristanbranch has been in limbo for close to a month I think14:31
benschuberttristan: what's more urgent, this one or the artifact config one?14:31
tristanI have overrides working perfectly, can't land it until this ominous decision gets made14:31
tristanthis one14:31
benschubertok I'll look at it today then and will do the other afterwards14:32
tristanartifact thing isn't blocking me, I think we should consider blocking 2.0 on the artifact cache thing though14:32
benschubertright14:32
benschubertrobjh: https://buildstream.gitlab.io/buildstream/sources/pip.html this one?14:33
robjhbenschubert, yeah, thats the guy14:33
robjhim making my depends include symlink from pip to pip3 as a workaround14:33
benschubertrobjh: if you create an issue we should probably be able to add it https://gitlab.com/BuildStream/buildstream/-/blob/master/src/buildstream/plugins/sources/pip.py#L77, already has a quite long list (and is really ugly :/)14:34
benschubertor a MR if you can, that would be even better!14:36
benschubertthough I think we need a more intelligent thing there14:37
traveltissuesi thought `python3 -m pip` was equivalent to `pip3`14:37
benschubertit is, but not all systems have a 'python3'14:38
traveltissuesusually it's a symlink, so `python3.x -m pip`14:39
benschuberttraveltissues: that's why we go over all possible known versions, but that's not idea14:39
traveltissuestrue, and that could be done in a more elegant way14:40
traveltissuesbut if python3.x is installed then it will already be using pip3 right?14:40
traveltissueshttps://gitlab.com/BuildStream/buildstream/-/blob/master/src/buildstream/plugins/sources/pip.py#L12514:40
benschubertnot necessarily14:41
benschubertit will be using pip3.7 or 3.814:41
benschubertthough robjh: what's hte problem with `python3.X -m pip` is that not found on your system?14:41
robjhi dont know? its trying to use pip instead of pip314:42
traveltissuesso is python symlinked to python2.7?14:43
traveltissuesthat's fair benschubert14:44
benschubertthat should only happen if you don't have python3.8 to pyhon3.0 in your path14:44
robjhi wouldnt have thought so? im using FDSDK's components/python3.bst and components/python3-pip.bst14:44
benschubertthis part of the code runs on the host machine, not in the project14:44
robjhi see, well adding a symlink in my dependencies fixed it14:45
robjhr@mayall-build:~/work/freedoom$ which python14:46
robjhr@mayall-build:~/work/freedoom$ which python314:46
benschubertah wait, is that a `pip` source or a `pip` element?14:46
robjhpip element14:46
benschubertah then that's not the right doc14:46
robjh:O14:47
benschubertsee https://gitlab.com/BuildStream/bst-plugins-experimental/-/blob/master/src/bst_plugins_experimental/elements/pip.yaml14:48
benschubertif you set `pip: pip3` in your variables, that hsould work14:48
robjhalright, i'll try it, thanks :)14:48
robjhsuccess! thanks benschubert :)14:50
benschubertperfect!14:50
*** toscalix has joined #buildstream15:38
*** phildawson has quit IRC16:33
*** narispo has joined #buildstream16:51
*** aav1o2 has joined #buildstream17:01
*** tpollard has quit IRC17:04
benschuberttristan: are you still around?17:15
benschubertI'm trying to get my head around the explanation on the ML about the junciton override17:16
benschubertI'm not sure how to follow the conversation thread and not sure what's the outcome you have in mind at that point17:16
benschubertis !1901 implementing all of the proposal?17:16
tristanbenschubert, sec... lemme refresh...17:18
tristanbenschubert, so !1901 is part 1, what that does is (A) implement the "overrides" semantic on junctions, ensuring that any overrides of a junction configuration in a subproject is explicit and never implicit... and (B) Starts finding conflicts if two instances of the same project occur in the same pipeline17:20
tristanbenschubert, the original point of this whole exercise is to ensure that you always know what's going on with your junctions, but you are not forced to know about a subproject's junction unless there is a potential conflict17:21
tristanSo, this leaves us with the problem of explicitly *allowing* multiple projects to occur in the same pipeline, for whatever reason17:21
benschubertand then a second MR would add a way of renaming a junction to prevent such a conflict, right?17:21
tristanIt was probably going to end up on the same MR, as juergbi argued we aught to postpone landing until we solved the second part17:22
tristanotherwise we introduce a situation where you cannot have 2 of the same project at once at all17:22
tristanbenschubert, "renaming a project" is the last idea I had about making this possible17:23
tristanThe first mail I linked to had some use cases17:23
benschubertgotcha17:23
tristanAn interesting one is the "internal project" usecase, where you know you're only using it internally and reverse dependency projects should not end up with runtime dependencies on that internal project17:23
tristanthat makes the "internal" keyword on a junction interesting, cause there could be some additional protections around there17:24
benschubertthat's something that would not be trivial to validate easily though no?17:24
benschubertI'd be wary to implement something like that that could be verified with a linter :)17:24
benschubertbut I get the point17:24
tristanThe first idea was to have just a "whitelist" where a project which ends up with a conflict, would decide to either override, link (previously target), or whitelist it as allowed17:25
tristanWell, about validation; I'm not entirely convinced that it needs to be in BuildStream's contract, but that validation could be done at runtime, for the "internal" usecase, which is a bonus17:25
tristanbenschubert, my personal view is that BuildStream should not make assumptions about how people want to use artifacts from subprojects17:26
tristanSo while "internal" is an interesting usecase, it's totally plausible that people end up staging two versions of the same project, even in the same element at build time17:27
tristanI don't want us to care, but I want us to ensure project authors are aware of it when creating such constructs, at an early stage17:27
benschubertyep definitely, that seem correct, I was more wary about the 'internal' thing17:27
benschubertbut the overrides and renaming otherwise looks good to me17:28
tristanOf course, there are late stage overlap errors which will occur if you open up the door to multiple instances of the same project17:28
benschubert(wonder if we should have it under a single key ( overrides: {key: project name -> {name | element}})17:28
tristanWell, "will probably occur if an element decides to stage the same element at the same sandbox relative location" I should say17:28
tristanhttps://gitlab.com/BuildStream/buildstream/-/merge_requests/1901/diffs#ae21ae20fa7c1172671e2b7cd0c6ba979c572eaf_58_5817:29
tristanAh you mean, use overrides to also override the name17:30
benschubertcorrect17:30
benschubertbut that's a detail17:31
tristanright, it's a detail17:31
benschubertall in all I don't think I've got much to add to the ML thread. It seems generally good to me17:31
benschubertand I don't see any case where that double override possiblity would not work17:31
tristanI think that we need to be able to whitelist without overriding too17:32
tristani.e. from a toplevel, just decide "I'm okay with this" without redefining any junction in a subproject17:32
benschubertah one thing: how would the override work with multiple nested overrides?17:32
tristanAlso, with the new `link`, it will be interesting to, e.g.: Override one subproject's junction with a link to another subproject's junction17:32
benschubertLike if a top level project include a junctions that overrides stuff already?17:32
tristanThe override overrides everything, not considering anything which was in place17:33
tristanThat was also briefly discussed on IRC but not in depth17:33
benschubertok so the most toplevel override wins17:34
tristanWell it's all explicit17:34
benschubertbut if there are multiple overrides, is it a merge, or a top level does all?17:34
tristanif a toplevel overrides a subproject junction and that subproject junction also overrides, the whole junction is anyway replaced by the toplevel one17:34
tristantopevel overwrites completely, no merge17:34
benschubertso if I have A, B a junction of A, which contains C and D, two other junctions. If B overrides something in D, and A overrides something on B and C, will D get overriden?17:35
tristanI think it's correct, the toplevel can still override a subproject junction, with a local junction which itself has overrides17:35
benschubertok17:36
benschubertIt seems sensible to me, not sure what I can add to the ML, but I can say that seems fine and summaries my understanding. will do that tomorrow morning though17:37
benschubertand then I'll answer your other ml thread17:37
tristanafter this is done, I will make an effort in the user guide with examples to layout (A) Overrides, (B) Using links to inherit junctions, (C) Using renames to allow duplication17:37
tristanWith that all in place we should have a very clear story of what's going on I think17:38
tristanbenschubert, That would be helpful yes, I've been ping ponging this with juergbi who had some other ideas, I don't feel that feeling of "consensus" to go ahead and implement things17:38
tristanI'm still glad to have held off for a while to think about this all17:39
benschubertok! I'll do that tomorrow, sorry for the delay17:39
tristanThanks :)17:39
*** santi has quit IRC18:14
*** finnb0 has joined #buildstream18:27
*** narispo has quit IRC18:28
*** aav1o2 has quit IRC18:28
*** jswagner has quit IRC18:28
*** krichter[m] has quit IRC18:28
*** cgm[m] has quit IRC18:28
*** awacheux[m] has quit IRC18:28
*** asingh_[m] has quit IRC18:28
*** Demos[m] has quit IRC18:28
*** jjardon[m] has quit IRC18:28
*** dbuch[m] has quit IRC18:28
*** doras has quit IRC18:28
*** abderrahim[m] has quit IRC18:28
*** mattiasb has quit IRC18:28
*** segfault1[m] has quit IRC18:28
*** reuben640[m] has quit IRC18:28
*** theawless[m] has quit IRC18:28
*** Trevio[m] has quit IRC18:28
*** walterve[m][m] has quit IRC18:28
*** m_22[m] has quit IRC18:28
*** tlater[m] has quit IRC18:28
*** finnb has quit IRC18:28
*** ironfoot has quit IRC18:28
*** douglaswinship has quit IRC18:28
*** jjardon has quit IRC18:28
*** benbrown has quit IRC18:28
*** jude has quit IRC18:28
*** devcurmudgeon has quit IRC18:28
*** pointswaves has quit IRC18:28
*** Trevinho has quit IRC18:28
*** cphang has quit IRC18:28
*** SotK has quit IRC18:28
*** finnb0 is now known as finnb18:28
*** jswagne- has joined #buildstream18:30
*** jude has joined #buildstream18:30
*** cphang has joined #buildstream18:30
*** devcurmudgeon has joined #buildstream18:30
*** pointswaves has joined #buildstream18:30
*** Trevinho has joined #buildstream18:30
*** SotK has joined #buildstream18:30
*** jswagne- is now known as jswagner18:30
*** douglaswinship has joined #buildstream18:31
*** narispo has joined #buildstream18:42
*** krichter[m] has joined #buildstream18:42
*** cgm[m] has joined #buildstream18:42
*** awacheux[m] has joined #buildstream18:42
*** m_22[m] has joined #buildstream18:42
*** walterve[m][m] has joined #buildstream18:42
*** Trevio[m] has joined #buildstream18:42
*** asingh_[m] has joined #buildstream18:42
*** Demos[m] has joined #buildstream18:42
*** reuben640[m] has joined #buildstream18:42
*** mattiasb has joined #buildstream18:42
*** doras has joined #buildstream18:42
*** jjardon[m] has joined #buildstream18:42
*** dbuch[m] has joined #buildstream18:42
*** tlater[m] has joined #buildstream18:42
*** segfault1[m] has joined #buildstream18:42
*** abderrahim[m] has joined #buildstream18:42
*** theawless[m] has joined #buildstream18:42
*** ironfoot has joined #buildstream18:42
*** jjardon has joined #buildstream18:42
*** irc.acc.umu.se sets mode: +oo ironfoot jjardon18:42
*** toscalix has quit IRC19:24
*** rdale has quit IRC19:42
*** jude has quit IRC20:00
*** toscalix has joined #buildstream20:47
*** Emily9314 has joined #buildstream21:14
*** Emily9314 has quit IRC21:16
*** seanborg has joined #buildstream21:35
*** seanborg has quit IRC22:17
*** toscalix has quit IRC22:26
*** Scarlett8896 has joined #buildstream22:36
*** Scarlett8896 has quit IRC22:38
*** benschubert has quit IRC22:50
*** Genesis9929 has joined #buildstream23:19
*** Genesis9929 has quit IRC23:21
*** Arianna6953 has joined #buildstream23:54
*** Arianna6953 has quit IRC23:55

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