IRC logs for #buildstream for Saturday, 2020-07-11

*** mohan43u has quit IRC00:00
*** mohan43u has joined #buildstream02:06
*** mohan43u has quit IRC02:23
*** mohan43u has joined #buildstream02:24
tristandftxbs3e, yes03:11
tristanusing `and`03:11
tristandftxbs3e, syntax for conditionals is like python (internally we use jinja to parse these)03:12
dftxbs3etristan, oh awesome! thanks! So: - arch == "i686" and arch == "ppc64le":03:12
dftxbs3eThat's very cool!03:12
dftxbs3ewhat about or?03:12
tristanwell, obviously not *that*, but yeah similar :)03:12
dftxbs3e- arch == "i686" or arch == "ppc64le":03:13
dftxbs3eIs that OK?03:13
tristanit's more plausible for `arch` to be either of those values than both simultaneously :D03:13
tristandftxbs3e, yes :)03:13
dftxbs3eIt's impossible yes. or is what I want!03:13
tristandftxbs3e, you may need parenthesis03:14
dftxbs3etristan, hmm I see: - (arch == "i686") or (arch == "ppc64le"):03:15
tristanat least the `and` using examples at https://docs.buildstream.build/master/format_intro.html#conditionals use parenthesis03:15
dftxbs3eor operator should have less priority though03:15
tristanI'm not sure it's required though03:15
dftxbs3eso it should be fine already, without parens03:15
dftxbs3eIt's definitely not required as per the standard C priority rules which most things inherit03:15
tristanthey do `- (foo == "x" and bar == "y")`03:16
tristannot sure why03:16
dftxbs3eohhh, parens at each right and left end03:16
dftxbs3eSo it's not a priority concern..03:16
tristananyway parens are supported, and looking at the docs they *might* be needed, I don't recall off hand why we have them in the docs03:16
dftxbs3eI'll give it a try when I can!03:17
dftxbs3eSince we don't have a buildstream web playground! :D03:17
*** tristan has quit IRC03:23
*** tristan has joined #buildstream03:32
*** ChanServ sets mode: +o tristan03:32
*** tristan has quit IRC04:44
*** tristan has joined #buildstream05:38
*** ChanServ sets mode: +o tristan05:38
*** tristan has quit IRC07:47
*** tristan has joined #buildstream08:14
*** ChanServ sets mode: +o tristan08:14
nanonymetristan, are there any blockers for next bst 1.93.x release?10:27
*** hasebastian has joined #buildstream14:26
tristannanonyme, yeah15:16
tristannanonyme, a bug was discovered with link elements replacing the junction `target` config in some edge cases which I missed in my initial tests15:17
tristanSo I need to fix that, wouldnt make sense to have that breakage included in this big api-changing snapshot15:17
tristanit's my immediate task at hand though, I should be able to take care of it early this week15:18
tristanideally I should also get the non-recursive variables fix in too, which is a tangent of an important fix from valentind which I need to also backport to 1.5.x asap15:25
nanonymetristan, sounds good. Why I'm asking is https://gitlab.com/freedesktop-sdk/infrastructure/freedesktop-sdk-docker-images/-/issues/11#note_37735882115:38
nanonymetristan, are you expecting significant API breakages still with future snapshots?15:40
*** hasebastian has quit IRC15:48
tristannanonyme, a few yes, some more breaking than others16:34
tristansome of it is unpredictable but those I don't expect to incur major breakages; i.e. there are some agreed upon goals which need to be analyzed and hard proposals brought to the list, which makes for a significan portion of the blockers for 2.016:36
nanonymeOk16:36
tristanimplementing these goals are not necessarily blockers, but ensuring we can do them without API breaks is16:36
tristanWhich means we may have to make some minor breaks for those16:36
nanonymeRight, just wondering how probable it is that we need to keep fixing plugins for API changes16:37
tristanThe main upcoming breakage is sealing off some things which should never have worked in the first place (host side manipulation of content in the sandbox)16:37
tristannanonyme, https://gitlab.com/BuildStream/buildstream/-/milestones/3 should point out a couple of the plugin facing breakages that we need to consider16:38
nanonymetristan, that is actually interesting point. In some cases it would be nice to be able to run host commands that mangle sandbox16:38
tristanWe may for instance try to rethink how we invoke the sandbox so as to ensure batching commands is default, not the exception16:38
tristanright, that should never be happening, it kind of breaks rule number 116:39
tristanif something can be done on the host, it can also be done in a sandbox deterministically (i.e. using only content that is controlled inside a sandbox)16:39
nanonymeLike, say, we have in our pipeline some flatpak tests and usage of flatpak-builder. These use bwrap so they cannot run inside BuildStream sandbox. Currently as a result these have to be heavily decoupled from BuildStream which makes it hard to be able to say in CI "just build this stuff with as high parallelity as possible"16:40
tristanAs Chandan recently summarized on the list, there are some gaps, we need to expose the right data to the sandbox in the right way for the sandbox to be able to do what it needs in some edge cases16:40
nanonymeIt would be nice to have less decoupling and do more things within scope of one BuildStream invocation since that would make CI faster16:41
tristanRight, BuildStream's primary focus is deterministic permutations of data within a controlled environment, and flexible tooling allowing modelling of such16:41
tristanrunning VMs and suchlike can often be better suited to post `bst checkout` activities16:42
tristanof course, with time, we may have in-sandbox solutions for these, who knows what the future will bring :)16:42
nanonymeYes, that's how we do it now and it means there are unnecessary synchronization points in the CI pipeline16:43
nanonymeSince we need to wait for everything to build before calling checkout and progressing further.16:43
tristanSure, it sounds like a nice to have to extend usage of buildstream to full CI scenarios; I quite firmly believe that that cannot come at the cost of guaranteed encapsulation16:44
nanonymeBut not all of the built elements are relevant for all of the post-build steps16:44
nanonymeYeah, it's problematic when testing involves another build system that also uses guaranteed encapsulation16:45
nanonymeThat said, the alternative to mangling sandbox data from host seems to be just not use sandbox at all for some activities16:47
nanonymebubblewrap inside bubblewrap just will not work when it's used for securing things :)16:48
*** mohan43u has quit IRC18:36
*** mohan43u has joined #buildstream18:38

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