IRC logs for #buildstream for Tuesday, 2020-05-12

*** aminbegood has joined #buildstream02:41
*** aminbegood has quit IRC03:06
*** tristan has quit IRC04:43
*** tristan has joined #buildstream05:50
*** ChanServ sets mode: +o tristan06:15
tristanWe might have a minor testing issue06:16
tristanI'm looking at bst-1 for now so it's possible (but doubtful) that we don't have this in master06:16
tristanWe have a bunch of tests which rely on `bst workspace list` to catch things, especially validating the project loading... but then we've changed the behavior of loading the project such that it is lazily loaded, even the main toplevel keys are not validated until `Project.ensure_fully_loaded()` gets called, which it doesn't in the case of `bst workspace list`06:18
tristanMight have some incorrect coverage, but maybe it's fine06:18
*** hasebastian has joined #buildstream07:00
*** jude has joined #buildstream07:10
*** benschubert has joined #buildstream07:17
*** tristan has quit IRC07:38
*** phildawson has quit IRC07:46
benschubertCan someone familiar with fdk tell me what https://gitlab.com/BuildStream/buildstream/-/jobs/547188942 means? I'm tempted to build a lower target given the number of failures and the time take to build all of this07:46
benschubert*fsdk07:46
*** phildawson has joined #buildstream07:46
WSalmoni think its a ostee saying the disk is about to run out of space07:48
WSalmonie ostree is being run in the sandbox and is detecting that if it writes any more files then the disk it is on will fill up beond its threshold07:48
benschubertSo our overnight runner would not have enough space for building the overnight anymore? Do we have metrics for this runner? Or could anyone check this runner?07:49
* WSalmon looks07:51
WSalmonbenschubert, it looks like its a docker machine with the default harddrive attached, i will look up what that is07:57
benschubertcheers07:57
WSalmonafaict it has 80gb07:59
WSalmoni dont know if this is sensible07:59
WSalmonhango on07:59
WSalmonit looks like a digitalocean-size=s-8vcpu-32gb which by default has a 640gb hardrive if you make it in the gui08:02
WSalmoni found the runner and it clames to have a 640 volume attached08:04
WSalmonbut its using the docker machine key so i cant ssh in and snoop around08:05
*** rdale has joined #buildstream08:05
WSalmondocker machine thinks its closed that runner down too even tho it seems to be up08:08
*** seanborg_ has joined #buildstream08:09
WSalmonso its 80 for most runners but 640Gb for the overnight one, valentind dose 640Gb seem enough?08:15
*** hasebastian has quit IRC08:24
*** tpollard has joined #buildstream08:25
*** tristan has joined #buildstream08:28
WSalmonbenschubert, you might get more luck asking #freedesktop-sdk on freenode if valentind is afk atm.08:36
benschubertah I can wait for him to come back :) thanks!08:37
*** santi has joined #buildstream08:42
radiofreehi, is there any element i can use to achieve the same as doing bst artifact checkout -f --deps none something.bst output/ && bst artifact checkout -f --deps none something-else.bst --directory output/ ?08:56
radiofreei.e i just want the artifacts ouputs and none of its build/runtime dependencies08:56
benschubertyou should be able to specify multiple artifacts to `artifact checkout` if I remember correctly08:59
benschubertradiofree: ^08:59
radiofreedoesn't look like it, also was wondering if there was an element type i could use for this so i could just do `bst checkout combined.bst`09:03
*** ChanServ sets mode: +o tristan09:03
tristanThere isn't, it's a feature I've been wanting to add to compose for a very long time though09:03
tristanlatest example of something I think it could be useful for: https://gitlab.com/BuildStream/buildstream/-/merge_requests/1913#note_33992257909:04
tristancompose is for creating compositions, and we originally created it with support for filtering split domains, but never gave it the capability of selecting specifically which elements should be included09:05
benschubertah yeah good point09:05
benschuberttristan: when you have time, I'd appreciate your thoughts on https://gitlab.com/BuildStream/buildstream/-/merge_requests/1919 I just need to finish the benchmarking (marginal changes from what I see in my original benchmarks) (ignore the two #FIXME comments, I need to remove that)09:06
radiofreeok thanks09:11
tristanbenschubert, will be a moment09:12
radiofreeoh btw, has anyone tried building/running buildbox-casd on fedora 32? when it launches it sits there using 100% of a core and never seems to do anytihng09:12
tristanradiofree, factoring this into compose can be quite tricky (but I think is worthwhile), on the other hand, writing a plugin for your own purpose which does _only that_ should not be too difficult09:13
tristannot sure it's worth your while09:13
traveltissuescan someone with merge access please take a look https://gitlab.com/BuildGrid/buildbox/buildbox-common/-/merge_requests/26709:13
radiofreeok i'll take a look at plugins09:13
tristanbenschubert, ooooooh this will be a fun review... nice to see that in the pipeline :D09:13
valentindbenschubert, 3% error in ostree is annoying. If you have a huge disk and plenty of place it does not mean much. But in this case I suppose the builders do not have much space.09:14
valentindLet me see the size they have.09:14
benschuberttristan: ;) and this enables me to add variables resolving in the sources for "free" afterwards :D09:14
tristanyup09:14
benschubertactually, do you want it in the same MR to have a full picture? I already have the branch09:14
valentind80gb. The build should not take that much. I suppose it is because builders are re-used.09:16
traveltissuessanti: since i have previous commits at buildbox-common can i have dev permission please09:16
benschubertvalentind: yeah :/ Not sure what happens there09:16
valentindbenschubert, could you send the buildstream logs the gitlab artifacts for this job?09:17
valentindSo it is easier to see issues.09:17
benschubertvalentind: not sure I understand?09:18
benschuberthttps://gitlab.com/BuildStream/buildstream/-/jobs/547188942 was the build09:18
valentindYou know that gitlab ci can have artifacts?09:18
benschubertah yeah09:18
valentindYes, it would be nice that the logs of all builds go there.09:19
valentindAlso does bst2 have some cache logs like bst 1.4?09:19
benschubertwe could get casd debug logs yep, but thei're very verbose09:19
valentindThat shows the cache usage.09:19
benschubertah no, I don't think we have that09:19
valentindOK, it would have been nice to have some information on the disk used by cache. Just to make sure the issue is about cache artifacts that are bigger than they should.09:21
santitraveltissues: you should have dev permissions across buildbox. is it not working?09:21
benschubertvalentind: ostree seems to ask for 160k, that seem small though09:21
valentindAt least temporarily you could have some "df" in the commands so that we can see what it starts with.09:21
valentindbenschubert, That is just one object.09:21
valentindI do not think it is finished after clinfo.09:22
benschubertah I see09:22
traveltissuessanti: i think i might just have needed an approval and misread it09:23
benschubertvalentind: would you have by any chance some monitoring on those machines? The gitlab-runner metrics would give us everything we'd need09:23
santiradiofree: casd could be calculating the disk usage. or does that happen for an empty cache directory?09:25
radiofreeempty cache directory09:26
benschubertvalentind: in the meantime, I'll add a df -h at the end of the run and rerun. Expect results tonight/tomorrow x)09:27
radiofreesanti: 100% reproducible for me on fedora 3209:28
radiofree/usr/local/bin/buildbox-casd /home/james/test/09:28
*** aminbegood has joined #buildstream09:28
tristanbenschubert, Ok I'll look at that now, you can look at https://gitlab.com/BuildStream/buildstream/-/merge_requests/1923 ;-)09:28
benschuberttristan: deal :)09:28
santiinteresting, radiofree. can you try running it with `--log-level=trace`?09:36
valentindbenschubert, On failure it would be nice to du also the path the artifact cache and source cache.09:38
radiofreesanti: i'll open an issue later with some more debugging, using the prebuilt binaries for now09:39
WSalmonWSalmon> it looks like a digitalocean-size=s-8vcpu-32gb which by default has a 640gb hardrive if you make it in the gui09:39
WSalmon<WSalmon> i found the runner and it clames to have a 640 volume attached09:39
WSalmon<WSalmon> but its using the docker machine key so i cant ssh in and snoop around09:39
WSalmonvalentind, ^09:39
benschubertvalentind: ok I'll add this to the job.09:40
valentindWSalmon, you can with "docker-machine ssh"09:40
radiofreesanti: but it seems to stop on 2020-05-12T10:39:47.931+0100 [1279544:139770070870144] [buildboxcasd_localcasinstance.cpp:52] [INFO] Using `FuseStager` as staging backend09:40
WSalmonWSalmon> docker machine thinks its closed that runner down too even tho it seems to be up09:40
WSalmoni didnt mange09:40
WSalmoni think you can ssh in too09:40
valentindRight, because it is off.09:40
radiofreei don't think it's the buildbox-fuse causing issues btw, since that's the prebuilt one which works with the prebuilt buildbox-casd09:40
WSalmonit was up in the DO gui09:40
radiofree(~/.local/bin/buildbox-casd works fine)09:41
santiyes, casd should be only looking for the path to buildbox-fuse at that point, not invoking it, radiofree.09:44
santibut it's definitely hanging before starting to listen to requests09:44
santiplease open that issue and we'll have a look09:45
tristanbenschubert, I'll cancel some of your older pipelines if that's alright09:57
tristangetting crowded in there09:58
benschuberttristan: ah sure09:58
benschubertjust not the fsdk one please :)09:58
tristanjeez I hope I didn't, which one is that ?09:59
tristanbenschubert, they look like all MRs, only cancelled recent ones (started in last hour) which are not tagged "latest"10:00
tristanresolve-variables and cache-key-helper anyway10:01
benschuberttristan: ah you didn't kill it, perfect :)10:01
benschuberthttps://gitlab.com/BuildStream/buildstream/-/jobs/548037489 this one. I'm hopiing it will finally pass10:01
tristanprobably not on the first page of the pipelines page :)10:03
benschubertdefinitely not x)10:06
* tristan noticed that utils._parse_version() didn't guard against non-string versions and goes to fix that in master, now that the bst-1 version is safer10:08
tristanWell, good start to this week, what's next... have to complete the juncle work10:09
* tristan notices juergbi made a reply today10:09
benschubertin a few minutes we'll have variables expanded in sources too ;)10:10
tristanbreakthrough !10:11
tristanheh10:12
tristanI guess there is no way around the deprecation step, or, things will just go more smoothly this way10:12
tristanupdate such external plugin repos, and then come back and remove the APIs altogether10:13
benschubertyep that's my plan10:13
benschubertshould not be too hard10:13
tristanjuergbi, am I missing something ? or aren't warnings which are allowed to be fatal, all non-fatal by default ?10:14
tristanlet me give this some thought, I think I'm liking the simplicity of making these (possibly fatal) warnings with the possibility of extending this in the future10:16
benschuberttristan: all warnings can be set as fatal or not in Python if that answers your question?10:17
benschubertnot sure I got everything though10:17
juergbitristan: warnings: they are indeed all non-fatal by default right now. I'm not sure whether it would be a good idea to make one fatal by default10:19
tristanbenschubert, I mean BuildStream has Plugin.warn(), and we can set them as fatal in project.conf with fatal-warnings:10:19
tristanjuergbi, right, I just thought your mail insinuated that we should "make it a fatal warning"10:20
tristanjuergbi, I didn't receive the email yet :-S10:20
tristanheh10:20
tristanJust reading it off mailman10:20
benschuberttristan: ah sorry, thought we were still on the previous thing sorry :)10:21
tristancontext-switch :)10:21
* tristan wants to close the book on the juncle10:21
tristanthe juncle book !10:21
tristanAm I the only one who didn't received it ? so strange10:23
benschuberttristan: for source variables usage: https://gitlab.com/BuildStream/buildstream/-/merge_requests/1924 if you're interested, still need to add a test10:25
jjardontristan: hi, did you have the time to create a bst 1.4.3?10:30
tristanjjardon, on the way, I've got the ostree fix in there now10:32
tristanjuggling juncles10:32
jjardoncoolio, thanks!10:34
tristanbenschubert, did you receive https://mail.gnome.org/archives/buildstream-list/2020-May/msg00006.html by mail ?10:34
benschuberttristan: I did, an hour ago almost10:34
tristanOk, so it's not a problem with mailman10:35
tristanjjardon, did you receive that ?10:35
jjardontristan: yup10:36
tristanok that's doubly strange10:38
tristanI'll writeup a reply and hope the mail comes, otherwise I'll post it awkwardly10:38
juergbitristan: mailman probably doesn't deliver it to you because you're a direct recipient10:43
juergbii.e., I think the issue is between our mail servers10:43
*** seanborg_ has quit IRC10:45
*** seanborg_ has joined #buildstream10:46
juergbitristan: a test mail worked fine, though. let me resend the mail to you only10:49
juergbialthough, I guess that's still not ideal for reply10:50
juergbiresent10:50
*** cs-shadow has joined #buildstream10:52
WSalmonif i use bst-artifact-server for my index and artifacts (without index only) is the cas bit manged by casd?10:54
juergbiyes10:55
WSalmoncphang, ^10:55
juergbibst-artifact-server acts as a thin proxy10:55
cphangwell that explains things10:55
WSalmonjuergbi, i have seen lots of exmaples of casd talking to a "upstream" casd, are there any stress tests of it talking to anything else?10:56
WSalmonstress/smoke etc10:56
cphangjuergbi for context we're still trying to root cause https://gitlab.com/celduin/infrastructure/celduin-infra/-/issues/144 right now. It seems to work fine in examples where bst-artifact-server is used only, but we're hitting the described issue when using an external CAS service.10:57
juergbiWSalmon: in our regular test suites we only test casd against casd as everything else obviously requires more setup. our remote execution tests do test buildbox-casd talking to buildgrid CAS server, though, iirc. it's more of a side effect, though, not meant as a CAS protocol test10:59
juergbicphang: ok, certainly possible that there is an interoperability bug somewhere11:00
cphangjuergbi this error only appears under load, so it's understandable you wouldn't have caught it in your test suites.11:01
juergbihave you been able to print the exception message that causes the 'unknown' gRPC error?11:01
juergbior is it not an exception in buildbox-casd after all?11:01
cphangThat's what makes it difficult, it's an unhandled exception we think at buildbox level, which means it only gets caught here https://github.com/grpc/grpc/blob/master/include/grpcpp/impl/codegen/method_handler_impl.h#L4411:02
juergbicphang: but if we know in which gRPC method the exception happens, wouldn't be as simple as adding a general catch clause with better log to buildbox-casd code?11:03
juergbito print the actual exception11:03
tristanjuergbi, I've received it now, I'm not sure it was your send either11:04
cphangyep but https://gitlab.com/BuildGrid/buildbox/buildbox-common/-/merge_requests/267 so https://gitlab.com/BuildGrid/buildbox/buildbox-common/-/merge_requests/268 yielded no useful additional log messages11:04
tristanjuergbi, i.e. I've only now, got a copy with the list and Chandan also on CC11:04
tristanAnyway11:04
juergbiinteresting, so not the resend11:05
cphangtraveltissues you did a little more digging this morning?11:05
juergbiI would add a try catch at the top-level method handler of the relevant method(s)11:06
juergbicphang, traveltissues: could even add it to the CALL_INSTANCE macro definition in buildboxcasd_casserver.cpp11:07
juergbicovering all regular operations11:07
traveltissueswe could, i wonder if it's not even unknown but not passed correctly11:08
traveltissueswell, not forwarded11:08
cphangAt this point a stack trace would be really handy11:11
traveltissuesit would be good to at least have the logs from buildbox11:14
traveltissuesif those exist somewhere11:14
cphangYeh we're saving them in fdsdk runs, one second11:14
traveltissuesi should have asked earlier11:15
traveltissuesi think the obvious interesting points are BatchUpdateBlobs and FindMissingBlobs11:15
traveltissuesand these should have basic logging11:16
cphange.g. https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/jobs/547130278/artifacts/file/cache/buildstream/logs/_casd/1589212610.2864647.log11:16
traveltissuesty11:16
traveltissuesso the last logged call is FindMissingBlobs11:16
traveltissuesand `2020-05-11T16:09:06.168+0000 [31:281473366094064] [buildboxcommon_client.cpp:678] [ERROR] Batch download failed: Retry limit exceeded. Last gRPC error was 14: Socket closed`11:17
cphangyeh11:19
cphangalso see https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/jobs/546340524/artifacts/file/cache/buildstream/logs/_casd/1589185623.1610744.log11:19
traveltissueswhy do we believe this is not a server issue?11:21
cphangbecause we can get this occurring without these Batch download errors. Because those errors point to a pull, not a push, and that we never see these errors sever side.11:22
traveltissuescode 1 is cancelled i think11:22
cphanghttps://gitlab.com/celduin/infrastructure/celduin-infra/-/issues/144#note_33805890111:23
cphangand we never see this with bst1.4.x either11:24
traveltissuesbut would you see a server-side error if the request were never communicated to the server?11:25
traveltissuesfor some network related issue?11:25
cphangso we're using AWS, so we wouldn't see it if there were an error at the ingress level say with an NLB, but errors at that level would be catastrophic, I would expect to see no traffic at all, this is much more transient than that.11:28
coldtomhmm, but we're successfully communicating with the server most of the time, and we use the same runners for 1.4.x which just seems to work11:29
traveltissueswhat versions are you using now?11:30
cphangboth bst 1.4.x and 1.9.x both make REAPI calls and they both communicate successfully with the server. It's just that with 1.9.x clients we get this transient error11:30
coldtom1.93.3 traveltissues11:30
cphang1.93.x clients sorry11:30
coldtomthe server is 1.93.1 i think, but the artifact communication seems fine afaik (plus i don't think the artifact server has changed between these versions)11:31
traveltissuesand did you also see this problem with 1.93.1 client?11:36
coldtomnot afaik, but it's possible that we missed it and assumed the error was caused by something else11:37
traveltissuesif you were able to use 1.93.1 without that issue then that's a good sign11:38
tristanjuergbi, looks like I now received the other... it's as if your explicit email bumped into the stuck one on the mail server and pushed it forward11:40
tristanjuergbi, maybe our mail server has a narrow pipe and is not used to large emails, so some force needs to be applied11:40
tristanAnyway I've managed a reply11:41
tristanjuergbi, not easy subject material11:41
cs-shadowtristan: hi, I'd appreciate your feedback on !1904 if you've got some time11:48
*** aminbegood has quit IRC11:48
cs-shadowhttps://gitlab.com/BuildStream/buildstream/-/merge_requests/1904 (about --deps build and --deps run)11:48
radiofreesanti: i did a bit of digging and it looks the issue is caused by grcp-c++-1.26.0 (the version in fedora)11:51
radiofreesanti: building against 1.25.0 and it works11:51
tristancs-shadow, I see, so we basically just backed out `plan` from most of those ?11:52
tristancs-shadow, what do you think about removing `plan` entirely ?11:52
tristancs-shadow, I wonder if, in the cases where `plan` exists at all, it is just the default behavior if `--deps` is not specified at all ?11:53
tristancs-shadow, I'm only asking cause, I wonder if we could refer to the `Scope` documentation for an explanation of `plan` and possibly have more coherent documentation11:53
juergbiradiofree: ah, right, Fedora is still on broken gRPC :-/11:54
juergbihttps://gitlab.com/BuildStream/buildstream/-/issues/1283#note_32867908811:54
juergbiif anyone has Fedora connections, please push https://bugzilla.redhat.com/show_bug.cgi?id=1812743 / https://bugzilla.redhat.com/show_bug.cgi?id=1794566#c911:55
radiofreeyep, still very much broken11:55
santithanks, radiofree. I'll have a look at the changelog11:55
tristancs-shadow, anyway I think I'm happy with the patch, I'll comment there11:56
WSalmonis there a setting that turns of pushing elements you just pulled? i seem to rember talking about this a while ago?11:59
cs-shadowtristan: yeah, i removed `plan` for now and a couple of other options that didn't seem to work as expected, like `build --deps none` and `build --deps run`12:02
cs-shadowother than that, it's mostly complete. I think plan needs some special treatment, i don't know exactly what though :)12:02
tristancs-shadow, Looks mostly good to me, I suggested a change in how the tests are written, I think they'd be much better that way12:04
WSalmoncs-shadow, there seems to be a bug with plan that i am trying to make a nice test case for so we can fix, i dont think we want to remove the surounding code because we havnet fixed the bug...12:04
tristancs-shadow, e.g. see tests/frontend/show.py::test_show_except() for another example12:05
WSalmonbut i may have the wrong context from your comment12:05
cs-shadowtristan: that seems much better, i'll change it to that style. thanks12:05
cs-shadowWSalmon: the current patch won't remove plan (or any other option for that matter) so i think it shouldn't hurt any new tests etc12:06
WSalmonie, buildstream seems to be building build-deps build-deps when it should only do that for a all plan12:06
cs-shadowhowever i'd be curious to know that the bug is12:06
WSalmon*when they are cased12:07
WSalmoncached12:07
WSalmonremotely12:07
cs-shadowif ^ is true, it's definitely a bug12:07
WSalmonobciusly it needs to build everything if nothing is cached anywere12:07
WSalmonit seems to be but i am trying to make a simple test case12:08
benschubertWSalmon: please ping me once you have a test case, I can have a look12:08
WSalmonwill do12:08
benschuberttristan: we don't seem to have many tests around variables. Mainly: https://gitlab.com/BuildStream/buildstream/-/blob/master/tests/format/variables.py#L48 For the source variables, should I just enter a line here to ensure they are resolved or do you have a better idea?12:21
tristanbenschubert, I'm out for the day hehe ;-)12:24
* tristan goes for dinner12:24
benschubertoh! sure, I'll find a place for the tests then ;) have a good evening12:24
tristanbenschubert, at a glance, I didn't think we have a way to show source configuration with `bst show`... if we do now, I guess that should be sufficient ?12:26
tristananyway, gotta run12:26
benschubertyep, will see, thanks12:26
WSalmonbenschubert, is there a way to run show and only get my direct dependencies?12:27
benschubertWSalmon: I don't think so no12:28
*** tristan has quit IRC12:29
cs-shadowWSalmon: you can use `--format  %{deps} %{build-deps} %{runtime-deps}` to get direct dependencies. Use one or more of all-deps, build-deps and runtime-deps for the desired effect12:33
cs-shadowwith `bst show` that is12:33
benschubert*goes and re-read `bst show --help`12:33
cs-shadowi've also just found a bug in `show --format`. Give it something like `bst show --format '%{name} ${build-deps}` and watch it blow up.12:36
cs-shadownote the `$` near build-deps, which was a typo i made while trying this12:36
*** seanborg_ has quit IRC12:37
*** seanborg_ has joined #buildstream12:37
benschubert #define blows up?12:37
cs-shadowhttps://gitlab.com/snippets/197590112:39
benschubertoh great. Mind creating an issue?12:40
cs-shadowit's probably our formatting stuff. incidentally `--format ${build-deps}` is fine on its own, but not if there's another subsitution variable in front12:40
cs-shadowwill do. there's yet another issue I think12:41
cs-shadow`--format %{deps}` appears to be duplicating build and runtime deps if some element is present is in both sets12:41
benschubertmy guess is, our regex are greedy, thus it matches 'name} ${build-deps'12:41
cs-shadowthat sounds plausible12:42
*** aminbegood has joined #buildstream13:29
WSalmonjuergbi, could we add pkg-config to the deb and ubuntu build deps of https://buildstream.build/buildbox_install.html13:45
WSalmonit catches me out everytime i build on ubnutu13:45
juergbiah, is this not an indirect dependency of the corresponding -dev packages?13:46
juergbiin which case, sure, let's add it13:46
juergbiWSalmon: btw: I've commented on !190913:46
WSalmoni assume not as i keep hitting it13:48
benschubertjuergbi: I like your solution to !190913:49
WSalmonso it should be fixed? i will verifiy afterwork and close my issue if it works13:50
benschubertWSalmon: if you try juerg's branch mentionned in the comment13:50
WSalmoni see you have rebase my test, i assume my test is good enough13:51
WSalmonmight be good to add a bst show style test or have you done that too?13:51
benschubertWSalmon: the test with just adding a 'sandbox' key? I commented on the PR and asked for the test to be a separate test :)13:55
WSalmonsorry i got the MR and the branch mixed up, i see now.13:58
WSalmonjuergbi, both times i have had that was from 19.10 havent tried older maybe something changed14:09
*** aminbegood has quit IRC14:13
juergbiWSalmon: I assume you're referring to the pkg-config issue. I'm fine adding it to the instructions in any case14:15
WSalmonjuergbi, yes14:15
* WSalmon would have appreciated a fyi about https://gitlab.com/BuildStream/buildstream/-/merge_requests/191914:31
benschubertWSalmon: is it breaking something?14:39
WSalmonno but it changes code i was looking at to try and understand 190914:41
benschubertah yeah, was planning into pingin the 1909 MR once it was reviewed, but juerg was quicker14:42
benschubertWSalmon: slightly tangential but also concerning variables: https://gitlab.com/BuildStream/buildstream/-/merge_requests/192414:59
WSalmonthanks benschubert15:01
*** tristan has joined #buildstream15:05
*** ChanServ sets mode: +o tristan15:05
radiofreeam i right in thinking i could use buildbarn as a cas?15:49
radiofreeusing buildbox as a proxy?15:49
coldtomradiofree, you can use the split artifact cache config to do this, yup15:49
radiofreeany links to an example?15:50
WSalmonradiofree, the simles thing is to use bst's own cache server but it only scales so far15:51
WSalmonsimplest15:51
coldtomhttps://docs.buildstream.build/master/format_project.html#split-cache-servers15:51
radiofreeour client has an existing buildbarn deployment, would be good to use that since they want to play around with some stuff15:56
coldtomradiofree, note, you'll still need to deploy a bst-artifact-server to hold the artifact protos15:56
coldtomoh, and the split cache config is master only, so if you want to use 1.4 you may need to shove them both behind a webserver16:00
cphangradiofree I would look at https://gitlab.com/celduin/infrastructure/celduin-infra where we do exactly this.16:00
radiofreebriiiiliant16:01
radiofreeoh btw i should say great work to everyone here working on these projects - i'd never used buildstream before friday and by saturday i was running gpu accelerated docker containers on a tegra16:01
radiofreepretty much all from reading through freedesktop/jetbot/celduin etc...16:02
radiofreecphang: so there's some additional deployment work required?16:05
* radiofree will take this to celduin16:06
WSalmonjuergbi, https://gitlab.com/celduin/bsps/example-app/-/jobs/549001570 this job just pulled every single element, when in bst1.4 it would have just pulled the top most element16:19
juergbiWSalmon: ok, thanks, will take a look16:20
WSalmonthe celduin cache has everything16:20
WSalmonbut the fdsdk cache dosent cache the boot strap16:21
WSalmonso bst starts fetching those bits16:21
WSalmonbenschubert, you asked about this too16:21
*** devcurmudgeon has quit IRC16:26
*** Frazer has quit IRC16:26
*** cphang has quit IRC16:26
*** ikerperez has quit IRC16:26
*** cphang has joined #buildstream16:27
benschubertWSalmon: thanks16:31
*** tpollard has quit IRC17:18
juergbiWSalmon, benschubert: I think this fixes this regression: https://gitlab.com/BuildStream/buildstream/-/commits/juerg/dynamic-plan17:21
juergbiwe might want to further improve the code but I think we should merge these reverts as soon as we have a regression test17:21
benschubertjuergbi: mind doing a benchmark on this before? I have a bad feeling for other cases17:24
benschubertin which case I'd rather try to really finally move to a dynamic pipeline17:24
tristanjuergbi, late night random thought: I wonder if a different dependency type might add a different dynamic to the junctions discussion17:24
tristanfor instance, what if there was a build dependency that did not have the property of needing to run17:25
juergbibenschubert: sure, can run a benchmark but maybe tomorrow17:25
benschubertjuergbi: sure17:26
juergbitristan: how would this help?17:26
tristanit would enable one to distinguish an aspect of what an element might want to do with this artifact17:26
*** santi has quit IRC17:27
tristanI'm not entirely sure it would help honestly, as possibly such a dependency type might make no difference, one might agrue that adding an element with only build dependencies could express the same thing17:29
juergbiyes, that's what I was thinking17:29
tristanToday radiofree asked how to "make an artifact out of artifact A and B, without their dependencies"17:30
tristanI wonder if we have a straight forward answer to that with an approach which adds elements17:31
tristan(quotes mine, he didn't phrase it that way)17:31
tristanAnyway, it's a different optic, and just a random thought which I think is a different perspective17:32
juergbiright now it can be done either with a filter or with a custom element that doesn't stage indirect dependencies17:33
juergbi*custom plugin17:33
tristanright, I recommended the latter, and I think it's a feature missing from `compose`17:33
tristan`compose` should be able to be selective about the elements it includes I mean17:33
juergbicould make sense17:34
tristanfilters do strange and unexpected things heh17:35
tristanwhich turn out to be useful17:35
*** phildawson has quit IRC17:49
*** phildawson has joined #buildstream17:49
*** phildawson has quit IRC17:53
*** pointswaves has joined #buildstream18:25
*** aminbegood has joined #buildstream18:36
*** aminbegood has quit IRC18:51
*** narispo has quit IRC19:09
*** jude has quit IRC19:12
*** cs-shadow has quit IRC19:22
*** chipb has quit IRC19:34
*** chipb has joined #buildstream19:35
chipbis there a straightforward way to seed an 'sdk' rootfs using, say, debootstrap in lieu of depending on a central ostree repository?19:36
chipbI assume I'd probably need a custom element plugin.19:37
chipbbut are there any particular gotchas I should be aware of?19:37
benschubertchipb: do you mean creating an initial chroot to build? You can use docker images through `docker source` (from bst-plugins-experimental), or from a tar file, etc19:39
chipbdocker itself is largely a no-go for my particular environment. I guess folks could depend on a centrally-located tarball to bootstrap, but at that point I may just do the ostree thing anyway.19:41
benschubertyep that would work19:42
pointswaveschipb, yep, have you seen freedesktop-sdk? thats a common option but if docker is a no go then a tar for a bootstrap is very common. gitlab.com/freedesktop-sdk/freedesktop-sdk/19:55
pointswavesfreedesktop use a tar as a starting point and then build every thing you need on top so  you never touch the bootstrap, you could use them or use them as a template19:55
pointswavesthey also do good audit stuff you may find useful19:56
*** toscalix has joined #buildstream19:57
pointswaveschipb, if you are keen on ostree there is a ostree source element in bst-plugins-experiment IIRC20:03
*** seanborg_ has quit IRC20:48
*** aminbegood has joined #buildstream21:32
*** pointswaves has quit IRC21:35
*** aminbegood has quit IRC21:42
*** aminbegood has joined #buildstream21:43
*** toscalix has quit IRC21:43
*** aminbegood has quit IRC22:03
*** aminbegood has joined #buildstream22:04
*** aminbegood has quit IRC22:09
chipbultimately, I was trying to stay away from magic tarball.22:58
chipband I want build flows to mostly Just Work without third parties needing to set up ostree for themselves.22:58
chipbof course, I've got more annoying constraints anyway. heh.23:06
chipbsome of my builds require a rather large EDA toolchain.23:07
chipbit's probably not reasonable to copy it about as a true input artifact, so I'll probably need to bind mount it in a reasonably straightforward [to the developer] way.23:11
*** benschubert has quit IRC23:46

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