IRC logs for #buildstream for Monday, 2019-02-25

*** tristan has joined #buildstream00:26
*** mlalkaka has joined #buildstream00:33
*** mlalkaka has quit IRC00:35
*** tristan has quit IRC01:05
*** jared has joined #buildstream01:06
*** nimish has joined #buildstream02:17
*** nimish has quit IRC03:05
*** mohan43u has joined #buildstream05:15
*** tristan has joined #buildstream08:42
*** toscalix has joined #buildstream08:42
*** ChanServ sets mode: +o tristan09:14
tristanjuergbi, I'm having a hard time thinking of a patch which fixes #919 that is "less noisy" than !1177 (short of tearing _update_state() apart completely and spending weeks refactoring)... Any ideas ?09:14
gitlab-br-botIssue #919: 'bst build <elem>' does not assemble all required elements in some circumstances https://gitlab.com/BuildStream/buildstream/issues/91909:14
gitlab-br-botMR !1177: WIP: tests/frontend/workspace.py: Test that all elements build with workspace in play https://gitlab.com/BuildStream/buildstream/merge_requests/117709:15
juergbiwill take a look09:15
tristanAt least in that patch I could avoid listing build dependencies twice, it wasn't meant as a final patch09:15
* Kinnison is all for tearing _update_state() apart and refactoring09:15
*** benschubert has joined #buildstream09:15
tristanKinnison, Indeed... is that what the idea of an "artifact abstraction class" is for ?09:16
KinnisonIt'll help with that a bit, yes.  But its primary purpose is to move any code which deals with the "physical" structure of an artifact out of Element09:16
tristanBut for right now, it's pretty bad; any time you workspace something behind a compose element (like when you're building a system image and tweaking things)... then bst build never completes in one go09:16
tristanAh yeah that is a good thing09:17
juergbiI anyway want to get rid of this strange workspace key handling, as discussed at the Autumn gathering09:17
tristanI still don't remember how you intend to address that09:18
tristanWithout causing needless/redundant workspaced element builds of course; I think the current handling is quite correct09:18
juergbistore buildtree in CAS, separate from actual workspace09:18
tristanOh so the initial copy instead09:19
juergbithat is anyway required if we want to support remote builds of workspaces09:19
juergbiand with buildbox-fuse, it should be pretty cheap09:19
juergbiit might be more expensive without fuse, though09:19
tristanUmmm09:19
juergbihave to look into the details again once all prerequisites are there09:20
tristanI'm not sure that works because incremental builds right ?09:20
juergbithe idea is to do it a bit like git09:20
tristanI mean, you need the state of the build tree at the end of the build, to check whether something has changed09:20
tristanOh no because of the copy again, sorry yeah of course09:20
juergbicreate a diff between the source dir of the last build and the current version (should be reasonably cheap with CAS)09:21
juergbiand then apply the changes to the previous buildtree09:21
juergbii.e., like a git checkout09:21
tristanright, yeah because of the copy, there is an opportunity to diff09:21
tristan(or check timestamps or something cheap)09:21
juergbistill have to decide on how to handle timestamps via buildbox-fuse/cas, though09:21
juergbiso there are some open questions, but that's the general direction I intend to go for09:22
juergbianyway, not the next step09:22
tristanRight, but anyway there is a bug now that cannot realistically wait for a big refactor09:23
juergbitristan: btw: I have a branch that replaces file lists (copy_files and co.) with a filter callback09:23
juergbithis provides some nice speedups for CasBasedDirectory import operations09:23
juergbi(as we can do it with much simpler recursive code instead of reparsing each path in the file list)09:23
tristanSo for now, we should fix it, and making sure the regression tests are in place should make the refactors safer09:23
juergbiyes, let me take a look now09:24
*** jonathanmaw has joined #buildstream09:26
juergbitristan: can you please elaborate a bit on your concern with your patch?09:26
juergbiis the extra loop/check expensive?09:27
tristanjuergbi, My concern is that Kinnison will look at me with evil eyes09:27
tristanHeh09:27
juergbi;)09:27
tristanWell, that's what I'm wondering yes, but basically looking at it, it will only happen when actually calculating a key09:27
KinnisonHey! It's not my fault that my eyes are inherently evil09:27
juergbiI think it would only be expensive if there are many cases where update_state() of the dependency is called and it's still None afterwards09:28
tristanIt will kind of double recurse, a bit more than needed09:28
juergbidon't know otoh whether that will be frequent09:28
KinnisonSo long as the general non-workspaced case isn't significantly impacted, we'll be okay for now09:28
juergbiit may impact all cases :/09:29
KinnisonI guess if it's needed short-term, we take the hit09:29
Kinnisonbenschubert: ^^ do you agree?09:29
tristanI think that ensuring correctness before optimization is something that should not be up for discussion09:30
juergbiwe should probably at least do a quick performance comparison09:30
tristanI'm just wondering how to do it most gently for now :)09:30
juergbiyes, of course09:30
Kinnisontristan: Oh indeed if there's a glaring wrongness it needs fixing even if it impacts performance09:30
Kinnisontristan: I'm just checking that evil eyes will be appropriately averted for the proceedings09:31
tristan:)09:31
juergbitristan: might an alternative be to have the scheduler notice when the cache key gets calculated of an element and in that case, do at least one more round, i.e., don't quit yet just because there was no ready change09:32
tristanWhat I don't like about that loop mostly, is that calling _update_state() does more than just "constructing a cache key if possible"09:32
juergbiyes, it might end up checking the artifact cache additional times09:32
benschubertwhat PR are you talking about? I don't have it in my history09:33
juergbi#919 / !117709:33
gitlab-br-botIssue #919: 'bst build <elem>' does not assemble all required elements in some circumstances https://gitlab.com/BuildStream/buildstream/issues/91909:33
tristanbenschubert, !117709:33
gitlab-br-botMR !1177: WIP: tests/frontend/workspace.py: Test that all elements build with workspace in play https://gitlab.com/BuildStream/buildstream/merge_requests/117709:33
tristanyeah09:33
tristan(oops)09:34
tristanjuergbi, I'm not sure, it certainly sounds like something we should not want to keep09:35
benschuberttristan, juergbi: how can we not be sure about that? I mean, after loading, we compute the cache key of every element09:35
tristanjuergbi, I.e. if the scheduler has to poke the beast a few times, that is kind of slippery slope territory where we are compensating elsewhere for something that should be the responsibility of the data model to just get right09:35
juergbibenschubert: workspace cache keys are special, they have to be recalculated after the build09:36
tristanbenschubert, Not a workspaced element which has not been built yet, we can only know it's key after the build (right)09:36
juergbitristan: I'm not saying it should be necessary long term. however, in a way it's a bug in the scheduler's 'making progress' check09:37
tristanI suspect there are also cases where the key changes, or we are not sure of the strong key, until a dependency has passed through the pull queue right ?09:37
juergbias calculating cache keys is some sort of progress09:37
juergbiyes, for non-strict builds, we might have similar issues09:37
benschubertjuergbi: which they areisn't https://gitlab.com/BuildStream/buildstream/blob/master/buildstream/element.py#L1548 enough?09:38
benschubert*isn't this09:38
juergbibenschubert: it doesn't update reverse dependencies, though09:38
benschubertbut those will be updated by https://gitlab.com/BuildStream/buildstream/blob/master/buildstream/_scheduler/queues/buildqueue.py#L7409:39
juergbiso unless all reverse dependencies are in topological order in the queues, it may take multiple loops09:39
benschubertthey are in topological order in the queues09:40
juergbibased on the issue, this doesn't seem to be always the case09:40
benschubertor at least should be09:40
benschubertthen that is another problem I would say :/09:40
benschubertbut that doesn't seem like the right fix to me09:40
tristanbenschubert, that is not clear, whether they should be or not09:40
tristanor whether they should even be lists anymore09:41
juergbibuild-only dependencies are inserted dynamically, as needed09:41
tristanbenschubert, I.e. build-only dependencies are better off at the end of the queue, due to the uncertainty of ever needing to process them ?09:41
benschuberttristan: if they are not in topological order, then that means we are building an element and its dependencies at the same time. And that is not correct09:41
tristanbenschubert, yeah with runtime dependency chains you always have the order you would expect09:41
tristanThey *might* even be always in topological order, but be missing out on cache key resolution due to not being "required" at the time _update_state() is called on them ?09:43
benschubertwhat I don't get is, why do we need to update the state now, shouldn't it get updated when l9ooking for ready stuff, then update here a new time after the pass?09:43
tristanIn the test cases, what happens without the patch is that the target is stuck in the fetch queue09:44
benschubertI mean, the dependencies will get updated (even later), and we won't be able to update ours at the first pass. A second pass will fix it though09:44
tristanNot sure a second pass will fix it honestly09:44
benschubertThe second pass will run after the first element is resolved no?09:45
tristanWhile debugging, I was printing elements in queues, which of course changes the behavior (printing the element causes the key to be guessed)09:45
tristanDepending on what chains of build-of-build dependencies might be present in a session, I don't really suspect a second pass will be reliable09:45
tristanWhile I agree that N-th pass will certainly fix it09:46
Kinnisonsurely something whose deps have yet to pass through the queue won't be in the queue anyway?09:46
tristan(so debugging was interesting because we had a few elements and depending on how many times they were printed, more keys are resolved in the final summary)09:46
tristanKinnison, build-only deps09:47
tristanI don't recall honestly09:47
tristanKinnison, I.e. originally we started the session by determining what could be downloaded or not09:47
tristanThis told us what build-only deps would have to build09:48
tristanThen we have our depth sort thing, which I suppose now assumes "build-only deps will never be needed"09:48
tristanAnd then we only ever get that far down the queue once something has said "hey I'm missing my build dep"09:48
tristanSo I'm not sure right now if we place build-only deps interspersed, or always /after/09:49
* Kinnison is very confused. We start with some targets to build, and the graph of elements necessary to make that a reality. 09:49
tristanIn any case, the order of the elements in the lists are not supposed to be important09:49
KinnisonWe should then put the stuff into the queues which *can start* at that point09:49
Kinnisonand any completed job should annotate the graph, allowing things further up to be added to queues where they *can start* only when they can09:49
tristanThey are only supposed to optimize the thing so that we try to process deeper things first, which allow more parallelism09:49
Kinnisonis that not how it works?09:49
tristanAdding some kind of significance to the order of elements in the queues seems to be a delicate affair09:50
tristanKinnison, We put everything into the first queue and we are not selective about that09:51
tristanKinnison, Then the queues interrogate the data model to find out what is ready09:52
KinnisonThat seems like we're doing the wrong thing to me09:52
Kinnisonunless the 'first queue' is a "decide what to do with X" queue09:52
Kinnisonwhere a valid decision is "drop it out of the queues, it'll come back later when it can run somewhere"09:52
tristanOk there is an exception, we place only things selected for tracking in the tracking queue09:53
tristanNo no... every element goes through the queues in succession unless they are stuck in wait state09:53
tristanThe only thing that does not get through all of the queues are build-of-build dependencies which did not require processing09:53
tristanafaics09:53
tristandropping out of the queues isnt an option, each queue assumes that "when I'm done with this, let the next guy try to do something with this"09:54
tristanA queue doesnt know what queue is coming next nor should it09:54
KinnisonThis sounds like we're over-working in order to be more generic09:54
*** ikerperez has joined #buildstream09:55
KinnisonHowever we're vastly far away from the original discussion about getting a fix in place09:55
KinnisonWe can worry about improving performance when it's already right09:56
tristansorry had a quick call...10:01
tristanRight so... I think the question is whether to fix this in the data model or try to patch it from the scheduler10:02
*** tpollard has joined #buildstream10:02
tristanI can say right away that I believe the responsibility to be in the hands of the data model to always report correct things10:02
tristanI rather hope this to always be true regardless of any refactor10:03
*** raoul has joined #buildstream10:09
*** lachlan has joined #buildstream10:31
*** cs-shadow has joined #buildstream10:37
*** jonathanmaw has quit IRC10:46
*** jonathanmaw has joined #buildstream10:46
*** alatiera has joined #buildstream10:50
benschuberttristan: !1070 does not have the bug, I tried merging your branch in mine, and remove your element.py patch and it works. I'm tidying up loose ends on this one. Would that be an acceptable patch for you instead? (I'm all for adding your test afterwards though, we should definitely not loose the test)11:07
gitlab-br-botMR !1070: WIP: Refactor _update_state() to be called only when needed https://gitlab.com/BuildStream/buildstream/merge_requests/107011:07
tristanbenschubert, Oh that is interesting news :)11:07
* tristan takes a look11:08
tristanAh this is the reverse dependencies11:08
tristanbenschubert, it was also an approach I had in mind but thought it was "refactor territory" rather than "bugfix territory"11:09
benschubertthat's true11:09
cs-shadowtristan: hey! if you find time, please have a look at !998 (hopefully for the last time :) )11:14
gitlab-br-botMR !998: loader: Allow dependencies to use ":" to refer to junctioned elements https://gitlab.com/BuildStream/buildstream/merge_requests/99811:14
tristanbenschubert, I like !1070 :)11:17
benschubertgreat! that's a neater fix. Let's find out about the performance improvements and merge if it gets some then :D11:18
juergbitpollard: fyi, I've pushed https://gitlab.com/BuildStream/buildstream/commits/juerg/virtual-artifact-directory which eliminates extract directories and probably affects your refactoring a bit11:19
juergbiit's still a bit WIP but tests should pass11:20
juergbidon't know whether it would make sense to already rebase on top of that11:20
juergbiI'm planning to finish this up and get it merged this week, and hopefully without causing further rebase pain, but can't guarantee that yet11:21
tpollardjuergbi: thanks for the headsup, I've pushed a WIP for my work so far, it needs review so might need more reworking anyway :)11:26
juergbitpollard: ok. shall I take a look at your branch already or is maybe Kinnison already reviewing that?11:27
gitlab-br-botBenjaminSchubert opened MR !1179 (bschubert/allow-no-cov->master: Make code coverage reporting optional) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/117911:32
gitlab-br-botcs-shadow approved MR !1179 (bschubert/allow-no-cov->master: Make code coverage reporting optional) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/117911:33
* Kinnison is not currently, so would be very grateful if juergbi could look soon11:34
juergbiok, will take a look11:35
Kinnisonthank you11:35
tristancs-shadow, Added a review to that... I think it's quite ready to merge11:35
tristancs-shadow, We really should go the extra mile and support the notation through Element.search() as well, but we could equally do that separately11:36
tpollardcheers juergbi11:44
cs-shadowtristan: that's a neat idea. I hadn't thought of that use-case but it can be interesting. Will look at fixing up your other comment and create a separate MR about the search.11:45
cs-shadowthanks for the quick turnaround :)11:45
tristanThanks for bringing it up !11:50
tristanYeah, I happen to be doing the x86image thing trying to get a GNOME image up11:50
tristanAnd a "problem" I had was that I could not use directly the "deploy tools" from freedesktop-sdk as a sysroot for generating the image11:51
tristanSo that would help in that case :)11:51
*** lachlan has quit IRC12:25
gitlab-br-botmarge-bot123 merged MR !1179 (bschubert/allow-no-cov->master: Make code coverage reporting optional) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/117912:32
*** lachlan has joined #buildstream12:36
tristanThis optionality of coverage is really useful... for package maintainers who want to run tests but don't necessarily have exactly the version of coverage we want12:42
tristane.g. #91612:42
gitlab-br-botIssue #916: loosen dev dependencies https://gitlab.com/BuildStream/buildstream/issues/91612:42
tristanWould be nice if running tests without coverage, also did not have the coverage dependency12:43
*** lachlan has quit IRC12:57
*** raoul has quit IRC13:03
*** tristan has quit IRC13:07
*** lachlan has joined #buildstream13:08
*** lachlan has quit IRC13:11
*** tristan has joined #buildstream13:11
gitlab-br-botmartinblanchard closed issue #626 (Cancel pending remote execution requests on shutdown) on buildstream https://gitlab.com/BuildStream/buildstream/issues/62613:13
gitlab-br-botmartinblanchard closed issue #823 (Remote Execution: Support instance names in action-cache-service) on buildstream https://gitlab.com/BuildStream/buildstream/issues/82313:13
*** nimish has joined #buildstream13:26
benschuberttristan: this would be harder to implement sadly :/13:31
*** ChanServ sets mode: +o tristan13:32
tristanbenschubert, I guess it means having separate envs for tests vs tests with coverage13:32
tristanand splitting up the requirements a bit more13:32
benschubertthat would be a solution indeed13:33
tristanwith tox I think we can easily reuse the commands of one env inside another (so it wouldnt be too wordy in the tox.ini)13:33
tristanI'll take a look anyway13:33
* tristan goes to obtain pizza13:33
benschuberttristan: please ping me on the MR if you get something13:35
tristanbenschubert, will do :)13:38
*** tristan has quit IRC13:41
*** raoul has joined #buildstream13:50
raoulAnyone got any ideas on how I may have managed to break source determinism with the source cache? It currently stages the sources together during the fetch stage and then exports it later during `_stage_sources_at`, still doing the set deterministic methods, but permissions on the files for umask tests no longer match and I can't figure out why.13:54
raouljuergbi, I imagine you may have some idea?13:54
KinnisonWe certainly do some umaskery in the CASCache13:55
juergbiraoul: CAS doesn't store any permissions (except for the executable bit)13:55
juergbiso the hardlinked files will always be either 0644 or 075513:55
juergbiif the test expects permissions other than those to be preserved, this will definitely fail13:55
juergbihowever, it should still be deterministic13:55
raoulit's the test that checks whether the permissions are the same if it's run with two different umasks13:56
raoulso I think it is an issue13:56
raoulAs far as I can tell as it imports the files to the virtual directory, which for checkouts will be file based, and then calls the deterministic methods on that, so I'm struggling to figure out what's causing the difference13:57
juergbiraoul: have you already checked what exact mode differences the test sees?13:58
raoulyeah, the umask with 0o077 has executable set compared to the one run with 0o02214:00
juergbiraoul: it might also worth testing on top of my latest branch if you haven't already14:00
raoulI can have a go14:00
*** phildawson has quit IRC14:03
*** raoul_ has joined #buildstream14:03
*** raoul has quit IRC14:03
*** tristan has joined #buildstream14:03
gitlab-br-botmatthew-yates opened MR !1180 (rename-errno-fix->bst-1.2: plugins/sources/git.py: Cope with rename returning error EEXIST) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/118014:05
*** nimish has quit IRC14:07
*** lachlan has joined #buildstream14:09
*** raoul_ has quit IRC14:13
*** lachlan has quit IRC14:16
*** nimish has joined #buildstream14:16
*** lachlan has joined #buildstream14:20
*** phildawson has joined #buildstream14:59
*** raoul_ has joined #buildstream15:02
*** phildawson has quit IRC15:03
*** raoul_ has quit IRC15:04
*** phildawson has joined #buildstream15:05
*** raoul has joined #buildstream15:06
tpollardthanks for the comment juergbi15:08
juergbinp, sorry for the rebase pain15:08
juergbijonathanmaw: have you ever seen 'Failed to move cloned git repository [...] Permission denied' as spurious test failure on WSL?15:31
juergbinot sure yet whether it's spurious or my branch breaks that one test only on WSL for some reason15:31
juergbitests/frontend/workspace.py::test_external_close_other15:32
jonathanmawjuergbi: hmm, I haven't seen it in WSL CI before15:32
juergbiok, I'll check whether it's still failing on the next update15:33
raoulunfortunately rebasing on top of your branch juergbi has not magically fixed the source determinism :(15:46
juergbiwas just a small chance anyway15:47
raoulit was fortunately a surprisingly painless rebase though15:48
juergbiprobably more painful for tpollard, unfortunately15:48
juergbiraoul: can you be more specific in the mode difference? i.e., what are the full mode values?15:48
raoulI'll throw the results in a pastebin15:49
*** toscalix has quit IRC15:50
raoulhttps://pastebin.com/Yvcu9F2S15:52
raoulthat's for tests/integration/source-determinism.py::test_deterministic_source_umask[tar]15:52
*** lachlan has quit IRC15:53
juergbiah, for directories16:10
juergbiraoul: we probably should explicitly call chmod() on created directories16:11
juergbiwhen extracting from CAS16:11
juergbihm, I think that requires separate syscall :/16:12
juergbiutils._ensure_real_directory() and FileBasedDirectory.descend() would likely be affected16:13
juergbiand possibly CASCache.checkout() for consistency16:14
juergbiwondering whether that is really the best approach, though16:14
juergbione possible alternative would be to explicitly change the umask to 0o22, i.e., ignoring the user's environment16:15
juergbiwe can't completely respect the user setting anyway in the name of determinism16:15
juergbiKinnison might have an opinion on the above16:16
*** lachlan has joined #buildstream16:17
Kinnisonwrt. anything where the permissions are our responsibility, I think it's reasonable to not honour the user's umask16:17
KinnisonWhere it's the user's responsibility (e.g. when writing out a tracked YAML) we should honour it16:17
juergbithat makes sense, it's just somewhat painful having to support both16:18
juergbias in extra syscalls. although, I don't know how big the impact is. it seems generally the Python userspace overhead is a lot higher than the total syscall overhead16:18
*** lachlan has quit IRC16:21
raouljuergbi, as in change the umask setting in the source-determinism test? Or ignoring the user environment when running builds?16:25
raoul(it's entirely possible I don't quite get umask cause I've only looked at it today...)16:25
juergbithe alternative would be the latter, i.e., set umask in buildstream itself16:25
juergbiactually, maybe we should set the umask at the beginning of those CAS export methods16:26
juergbiand restore the previous value at the end16:26
juergbia context manager could be suitable for this16:26
juergbithat way everything outside CAS export still honors the user's umask16:26
juergbibut we don't have to manually chmod everything during CAS export16:26
raoulso something similar to what's being done in the source determinism test, but a context manager used for CAS exports?16:27
juergbiyes16:27
juergbiand always using 0o02216:27
juergbideterministic_umask context manager, or something like this16:28
*** lachlan has joined #buildstream16:37
*** lachlan has quit IRC16:43
jennisDoes anyone have any ideas on how to get tox working in situations where we introduce another python dependency?16:44
jennisI thought that appending to the requirements.in file would do the trick, but the import is still failing16:44
cs-shadowjennis: tox only looks at .txt files16:44
jennisI've also appended to the .txt file16:45
juergbitox --recreate16:45
cs-shadowjennis: try with --recreate flag16:45
cs-shadow^ :)16:45
jenniscs-shadow, juergbi, thanks16:46
gitlab-br-botjuergbi opened MR !1181 (juerg/directory->master: Virtual directory improvements) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/118116:48
laurencedoes anyone recall which gnome sysadmin helped us set-up the buildstream-notifications list ?16:50
laurencemaybe it was jjardon ?16:50
tpollardjuergbi: might be a placebo and I don't have metrics yet, but basing juerg/virtual-artifact-directory seems to have given me a visible decrease in test suite time16:57
juergbisome I/O reduction is indeed expected16:58
juergbistaging time is also reduced by about 35% in my test16:59
juergbi(even excluding the time to create extract directories, which is not done anymore)16:59
*** lachlan has joined #buildstream17:03
*** lachlan has quit IRC17:06
*** lachlan has joined #buildstream17:21
*** nimish has quit IRC17:21
*** lachlan has quit IRC17:27
*** lachlan has joined #buildstream17:28
*** lachlan has quit IRC17:35
juergbianyone in the review mood for directory operations: !1181, !1182, !1183, !1184 (MR series with dependencies)17:37
gitlab-br-botMR !1182: WIP: Replace file lists with filter callback for file import https://gitlab.com/BuildStream/buildstream/merge_requests/118217:37
gitlab-br-botMR !1183: WIP: Directory.import_files() improvements https://gitlab.com/BuildStream/buildstream/merge_requests/118317:37
gitlab-br-botMR !1184: WIP: Use virtual artifact directory to stage and extract metadata https://gitlab.com/BuildStream/buildstream/merge_requests/118417:37
tpollardI'll definitely give them a look over tomorrow17:38
juergbita17:39
tpollardI need to grok the filter callback stuff, as I'm still attacking the compute splits etc17:39
juergbitpollard: would probably be good to pay special attention to anything buildtree-related (e.g., test changes)17:39
tpollardyup!17:40
juergbiI hope it's more or less comprehensible, the commit splitting for this change should help17:40
juergbiotherwise let me know17:40
*** toscalix has joined #buildstream17:44
*** tristan has quit IRC17:47
*** lachlan has joined #buildstream17:49
*** jonathanmaw has quit IRC17:54
*** lachlan has quit IRC17:56
*** phildawson has quit IRC18:00
*** lachlan has joined #buildstream18:12
gitlab-br-botraoul.hidalgocharman approved MR !1181 (juerg/directory->master: Virtual directory improvements) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/118118:26
*** raoul has quit IRC18:29
*** tristan has joined #buildstream18:30
*** lachlan has quit IRC18:35
*** toscalix has quit IRC18:36
*** lachlan has joined #buildstream18:40
*** lachlan has quit IRC19:00
*** lachlan has joined #buildstream19:22
*** alatiera has quit IRC19:35
*** alatiera has joined #buildstream20:33
*** lachlan has quit IRC20:57
gitlab-br-botcs-shadow opened issue #931 (Support cross-junction elements in `Element.search()`) on buildstream https://gitlab.com/BuildStream/buildstream/issues/93121:45
gitlab-br-botmarge-bot123 closed issue #809 (Allow cross-junction dependencies to be listed as strings) on buildstream https://gitlab.com/BuildStream/buildstream/issues/80922:16
gitlab-br-botmarge-bot123 merged MR !998 (chandan/junction-dependency-format->master: loader: Allow dependencies to use ":" to refer to junctioned elements) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/99822:16
*** tristan has quit IRC23:07
jjardonlaurence: probably "av" in #sysadmin23:40

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