IRC logs for #buildstream for Monday, 2021-01-25

*** jward has quit IRC00:16
*** jjardon has quit IRC00:17
*** lchlan has quit IRC00:17
*** jward has joined #buildstream00:17
*** lchlan has joined #buildstream00:17
*** jjardon has joined #buildstream00:18
*** ChanServ sets mode: +o jjardon00:18
*** jward has quit IRC00:18
*** jward has joined #buildstream00:18
*** jward has quit IRC00:19
*** jward has joined #buildstream00:20
*** tristan_ has quit IRC01:43
*** tristan has joined #buildstream02:10
*** ChanServ sets mode: +o tristan02:10
*** tristan has quit IRC02:42
*** tristan has joined #buildstream04:28
*** ChanServ sets mode: +o tristan04:28
* tristan is curious why we have source cache and element source cache04:58
tristanjuergbi, do you know why we have both ?04:59
tristanIt looks like when we fetch sources from a remote cache, we first try the element source cache, and we completely disregard the source cache if we succeeded to download from the element source cache05:01
juergbitristan: the element source cache contains the combined sources of each element together with a buildstream source proto for metadata (not that useful for now but we can extend it with provenance for the sources)05:25
juergbithe other source cache covers individual sources without extra metadata and the idea there is that as far as possible the corresponding Remote Asset URIs will be buildstream-independent05:26
juergbiallowing e.g. a Remote Asset server to import sources from a git server on its own without any BuildStream client having to push it05:27
juergbithe main reason we need the element source cache is because going from the individual sources from the source cache to the combined sources is not always that cheap05:28
juergbie.g. if `patch` is used, it isn't a simple merging of two sources05:28
tristanHmmmmmm06:02
tristanSo there is a presumption that the result of Source.stage() can be reproduced by a remote service06:04
juergbitristan: it's not a requirement for all sources, however, the plan is to support this for common ones such as git06:06
tristanYes I was never completely clear on how that was going to be reliable06:06
juergbiright now we still use buildstream-specific URIs for all sources, so there is no issue in any case. but it would be one of the next steps in this regard06:07
tristanI understand the plan in a vague way, but will there be Source API changes which enforce some things ensuring the results are identical to a described standard, that is reproduced in some other service ?06:07
tristanMaybe it will only be supported by specifically vetted sources ?06:08
juergbithe Source API will definitely at least have to be extended06:08
juergbiyes, I expect this to be opt-in on a per source basis06:08
juergbithe source plugin will have to provide means to generate the standard Remote Asset URI, e.g.06:09
tristanI also wonder, while it may seem interesting to have exotic cases where you configure your source cache and element source cache separately, if we could have a default setup where at least you only have to configure your source cache once06:09
tristanMaybe, more projects are not interested in having a source cache (unless they are suitable to leverage this future remote service), and for now it is better to only configure an element source cache06:10
tristan(not only will the source plugin have to provide a means to generate that standard key/uri thing: It will have to be guaranteed to produce exactly the same results as the remote service, that is the more worrisome part)06:11
tristanFor now, without diving too deep into that feature, I06:12
tristangah06:12
tristanI'm wondering about configuration API surface / UX - there is a lot of different caches and such06:12
juergbitristan: both caches currently use the same server config06:12
juergbiI'm not planning to enable standard uri for any source unless it's very clearly defined06:13
tristanAh indeed06:13
tristan"source-caches" is for both, I missed/forgot that06:14
juergbifor git the question is mainly about submodules, I suppose. maybe we should split it up there in a separate request for each repo/submodule. and then it would likely be straight forward06:14
juergbi(haven't looked too far into the details yet of this step)06:14
juergbiwe should in any case be very careful about standardizing this06:15
tristanThis looks like a pretty far off feature06:16
* tristan wonders if we could have the full detailed plan in place so that we don't risk blocking 2.0 on this06:16
juergbithe main blocker is the source plugin API06:17
juergbiwe want/need that to be in place for 2.0, at the very least such that we know it can be extended in a compatible way for this feature06:17
tristanI forget which part of that06:17
juergbimy time on BuildStream is limited, unfortunately06:17
tristanI mean if it is only adding a method to generate the URL, then it need not be added by 2.006:18
juergbiyes but we can't really be sure whether that's all that's needed06:18
juergbilikely need a prototype to validate06:19
tristanI am worried that 2.0 keeps sliding off the horizon06:19
juergbiin the further off future also some tracking would work without requiring the buildstream client to have direct access to the sources06:19
juergbiwhich may also be API relevant06:19
juergbiyes, that's understandable06:20
juergbiwe should probably all sync up again on where we stand06:20
tristanSo I'm interested in lowering the barrier to that06:20
tristanYeah06:20
juergbiit may well be that even if that feature would lead to incompatible plugin API changes, we could find a way to support it in a compatible fashion with a slightly less neat API or some flag06:21
juergbiand the latter may be worth it if it unblocks 2.006:22
tristanThats indeed my feeling06:22
tristanFor now I think there still remain some important real blockers06:22
tristanSo I hope to chop them off one by one and corner the team into a "2.0 or bust" scenario (hehe)06:23
tristanI guess a useful thing will be to get through this remote service config surface refactor (almost done), and the next big ticket proposal for sealing off the sandbox06:24
tristanif I can get over that second hump, it would be an ideal time to regroup06:25
nanonymetristan, what's the right repo to file PR's to at the moment?07:14
tristannanonyme, https://github.com/apache/buildstream08:16
*** tristan changes topic to "BuildStream 1.6.1 is out ! | https://github.com/apache/buildstream | Docs: https://docs.buildstream.build/ | IRC logs: https://irclogs.baserock.org/buildstream | Mailing List: https://lists.apache.org/list.html?dev@buildstream.apache.org"08:16
*** santi has joined #buildstream09:43
*** tristan has quit IRC12:35
*** tristan has joined #buildstream12:47
*** ChanServ sets mode: +o tristan12:47
*** santi has quit IRC18:36
*** Mark has quit IRC18:53
*** abderrahim[m] has quit IRC18:53
*** Mark has joined #buildstream19:01
*** TobiasFella has joined #buildstream19:47
nanonymetristan, I recently bumped into that eg git track doesn't expand variables. Should it? Could it?20:26
*** jjardon has quit IRC21:35
*** lchlan has quit IRC21:36
*** lchlan has joined #buildstream21:36
*** jjardon has joined #buildstream21:36
*** ChanServ sets mode: +o jjardon21:36
*** tristan has quit IRC21:49
*** tristan has joined #buildstream21:49
*** ChanServ sets mode: +o tristan21:49

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