IRC logs for #buildstream for Friday, 2018-03-23

*** mohan43u has quit IRC03:04
*** mohan43u has joined #buildstream03:49
*** tristan has joined #buildstream06:18
Nexustristan: you on yet?07:56
gitlab-br-botbuildstream: merge request (jjardon/license->master: docs: Add license: Creative Commons Attribution 4.0 International License) #336 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/33608:14
tristanNexus, yep, trying to get a release out today...08:33
tristanNexus, maybe we should take a moment to talk about this workspace thing ?08:33
Nexusnot a good time then? :)08:33
Nexusyes, that was what i wanted you for :)08:33
tristanWell, I think you need some help yeah :)08:33
tristanI didnt have time to look deeply into it, but I was concerned there is a conflicting issue with what a source does for opening workspaces08:34
tristanSo I just threw that into your court hoping you'd come up with some possible courses of action08:34
tristanNexus, I know it was not an "easy" think I was asking of you, btw :)08:35
Nexushttps://gitlab.com/BuildStream/buildstream/issues/31108:35
Nexusthose are the ideas i came up with08:35
tristanright, I responded to that...08:35
tristanI was hoping that you would come up with a response to my "Workspace special sauce" part08:36
Nexusah i see, i think i need to understand exactly HOW that gets applied before i can really put in an option for dealing with it08:37
Nexusmy knowledge of the caching system is still shakey08:37
Nexusand my workspace knowledge, more so08:37
Nexusmy initial thought was to attempt to do the check for a cache, early enough that it doesn't invoke the "special sauce" but i don't know if that is possible08:38
tristanSo, I want to be helpful, and at the same time I want to educate you on how to figure it out yourself, which is why I often answer questions, with questions :)08:38
tristanThat is one option, but it's a bit less than ideal right ?08:39
Nexusyes, it's a bit of a hack, but without knowing more, it's hard to give a better option08:39
tristanI mean, if you work on webkit, it means you might have commit access to webkit, and you might want to push patches to the upstream git08:39
tristanThat doesnt mean you don't want the advantage of workspacing and already cached build tree, though08:40
tristanOne thing we should keep in mind though, is when this "special sauce" was introduced08:40
tristanCan we find that out ?08:40
Nexusdo know you know where i can start looking for that?08:41
tristanWell, first of all, where is the abstract method ?08:41
tristanNexus, if the special sauce has to do with sources, ... would it make sense to check say, in source.py ?08:42
Nexuspotentially in the init_workspace method08:43
tristanCorrect, that is the one :)08:44
tristanSo, in the absence of very thorough documentation explaining how people should implement plugins (currently we _only_ have reference material in this regard)...08:44
tristanNexus, how would we go about finding out how this abstract method is employed ?08:44
Nexuslooking into the current implementations of source plugins?08:45
tristanThat is one way indeed, that tells us how Source plugins are implementing it, which gives us some valuable clues08:46
tristanNexus, another thing we can do is check how the core employs the method08:46
tristanThe first thing I would do, in the absence of this know how, is start with grep08:46
tristanI.e. `grep -r init_workspace buildstream/`08:47
Nexusin _pipeline?08:47
tristanWill give you an interesting list of results08:47
tristangrep is a programmers best friend, really.08:47
paulsherwoodtristan: second-best. git stole my heart :)08:49
tristanpaulsherwood, :)08:49
tristanwe're getting to git, soon08:49
tristanNexus, my results are telling me that source.py has also a private _init_workspace function, this is probably where the calling side of things are happening08:50
tristanah, but pipeline indeed has the bulk of it08:50
Nexusso pipeline calls _init_workspace for each source08:51
tristanCorrect08:51
Nexuswhich seems to, in turn, call relevent bash commands if invoked08:52
tristanNexus, to expedite, I'm going to jump right to the conclusion here... look at Source.init_workspace() abstract method08:52
tristanThis can be overridden by Source implementations, but it does something by default; unlike other methods; it does not raise ImplError()08:52
Nexustristan: in the 2 cases i'm looking at, if the source implements init_workspace, it doesn't call stage08:54
tristanSo by default, it calls Source.stage()08:54
tristanNexus, ok so, looking at the git and bzr plugin implementations of init_workspace(), we can see that they basically do Source.stage() a little bit differently08:56
tristanNexus, the conclusion I'm getting at here is, at a highlevel; when we delegate init_workspace() to a Source plugin; we delegate *all the work* to the Source plugin08:56
tristanWhich makes this very difficult, if we want to stage a while cached build directory; asking the plugin to init_workspace() doesnt work anymore, right ?08:57
* Nexus nods08:58
tristanOk well, I have unfortunate news :-/08:59
tristanI wasnt sure, because it took a while08:59
Nexus?09:00
tristanNexus, the next path of thinking I was moving onto was... "Can this be changed ?"09:00
tristanWhat would we need to check, if we wanted to change init_workspace() to conform more to something we can use ?09:01
tristanNexus, you may not be familiar with this aspect yet but, we release stable versions on a 6 month basis09:01
Nexusif we can change it without breaking existing functionality?09:02
tristanNexus, for BuildStream, we use an "even minor point = stable" and "odd minor point = unstable/dev", we only guarantee API stability in stable09:02
tristanThis means, whatever API is introduced during unstable, once we reach that stable release (for us it's coming up after this summer GUADEC, for 1.2)... those things by rule "cannot be changed"09:03
tristanNexus, while it is undesirable to change APIs during unstable cycles, it is completely within our rights to do so09:03
tristanThe point is, every stable release can only add new API, but not break API which was present in an older stable release09:04
Nexuswhich this would do?09:04
tristanNexus, how would we find out ?09:05
Nexusby trying it?09:05
tristanNexus, I'm sorry, I'm focusing much more on coaching you at the moment than the issue at hand, but I think it's a good exercise09:05
tristanBy trying it09:05
tristanhmmm09:05
tristanNexus, what would "trying it" entail, I'm not sure I understand ?09:06
Nexusby seeing if you can implement a way that allows the older stable to work whilst still introducing the new functionality09:07
tristanOk I think you misunderstand my question, no biggy...09:08
Nexusprobably09:08
tristan"How would we find out ?" was in response to "which this would do ?"09:08
tristanWhat I mean is...09:09
tristan"How would we find out if such a change to init_workspace() would break the API in an already stable release ?"09:09
Nexusrunning a currently stable use case on it?09:09
tristanOk, that is a way :)09:10
tristanBut it's horribly inefficient hehe09:10
tristanNexus, ask git, would be much easier09:10
Nexusgit can do that?09:10
tristanNexus, there are multiple ways... I'll first suggest the way which was more round-about, but interesting09:11
tristanFirst, try `git annotate buildstream/source.py`09:11
tristanAnd search for init_workspace()09:11
Nexusok09:12
Nexusi got 4 results09:12
tristanwell, I sort of meant, looking at output; git will pipe it into your $PAGER, which will be `less` by default09:13
Nexusah, i piped it into a grep09:13
tristanso you would type `/` to start searching, type init_workspace and then ENTER (as you would do in less or vi)09:13
Nexuskk09:14
tristanright, better to look at the output without the grep here09:14
Nexusgot it09:14
tristanget a feel for what annotations does09:14
tristanSo now you see a source file, annotated by git09:14
Nexuslooks a lot like blame09:14
tristanNow you can see every line number, and every commit sha on the left09:14
tristanyeah09:14
tristansame thing09:14
tristanSo you can see init_workspace() method all comes from 90850f2bd09:15
Nexusyep09:15
tristanif you git show that, you can see the pipeline changed to call that instead of Source._stage(), etc09:16
tristanNow, if you type `git tag`, you can see the release tags we have09:16
Nexusyup09:16
tristanNexus, you can basically use this (much less efficient) technique to check if 90850f2bd comes before, or after the tag 1.0.009:16
tristanThe more efficient technique I would say, would be to just `git checkout bst-1.0`, which is the "latest stable branch"09:17
Nexushow do i connect the two?09:17
tristanand just check if init_workspace() is there09:17
tristanWell, you can do that in a few ways, one is you can do `git log 1.0.0`, and search for 90850f2bd09:18
tristanand then be disappointed, because you found it :'(09:18
Nexusyes :(09:18
tristanNexus, right, so now we have the sad and depressing news that it exists in stable, so by rule of law, it should not change09:18
NexusSo we need another way09:19
tristanStrictly speaking yes, in this case, 1.0.x is our *first* stable release cycle - and we very highly suspect that damage is minimal, if existent at all, should we change this particular API09:20
tristanSo, a maintainer *might* be convinced to accept a patch to change that at this stage, if it were to be known to break nothing in the wild, and significantly improve the user experience09:21
juergbiyou can also use: git branch --contains 90850f2bd bst-1.009:21
tristanjuergbi, nice :)09:21
tristanI'll try to remember that, it's neat09:21
juergbior rather, 1.0.009:21
Nexusthat didn't seem to do anything09:21
tristan1.0.0 is a tag, though, is that still right ?09:21
juergbihm, i thought it would, both just a ref, but it doesn't seem like it09:22
tristanlooks like it outputs bst-1.009:22
tristanbut maybe this reports something for scripted use, via exit status09:23
juergbiwithout the branch argument it lists the branches that contain the commit09:23
tristanAh09:23
tristanpretty nice feature anyway09:24
juergbigit tag --contains 90850f2bd09:24
tristanNexus, I am personally tempted to change this; other source plugins known to exist in the wild are very few; and relate to binary stuff which may not make much sense to have special support for workspaces anyway09:24
Nexusah, thats better09:24
tristanNot sure what juergbi thinks09:25
tristanNexus, the rationale here being: I see an opportunity for the core to first do "Source.stage() OR stage a cached build tree" and THEN do "Source.init_workspace()" on all sources AFTER the fact09:25
tristanWhich I'm not entirely sure makes the most sense, but it's my gut feeling that that would solve this well09:26
tristanThere may be other problems with it, though09:26
tristanjuergbi, what do you think about this (actually pretty tricky) problem, for https://gitlab.com/BuildStream/buildstream/issues/311 ?09:27
juergbinot sure whether you discussed this already, but don't we first have the more fundamental issue of .git being part of the source/build tree09:27
juergbii.e., as it is right now, we'd have to cache the whole .git dir09:28
tristanEwwwwww09:28
juergbithat's actually also an issue for remote execution09:28
tristannice catch, I think that crossed my mind the other day, and I conveniently swept it under the rug09:28
tristanActually, I think I was thinking of that in another context, yeah... `bst source-bundle` was what I was thinking of09:29
tristanHmmm, so this problem grows09:29
juergbiideally, i would like to see .git only in workspaces and not in regular source/build directories09:29
juergbihowever, that breaks builds09:29
tristanUnfortunate, but true09:29
juergbieven buildstream itself is guilty of that09:29
tristanit breaks builds for build scripts which I tend to frown upon :-/09:30
tristanbecause of setuptools_scm, indeed09:30
juergbiyes09:30
tristanjuergbi, our build scripts, by nature of being setuptools driven, are far from model citizens :D09:30
tristanhehehe09:30
tristansigh09:31
tristanOk so, I can see an opportunity for not breaking API at all too, but it means adding more API and conditional support09:31
tristanBut this probably needs some more design than "just that"09:31
tristanBecause if we were to do this, we would want to also cover some way of staging sans .git/ (or .bzr/ or whatever) into a build directory too09:32
tristanAnd we'd want source YAML options to turn it off for offensive modules09:32
juergbiyes, something like that09:34
* Nexus got a little lost in that convo09:39
tristanNexus, when juergbi says "not sure whether you discussed this already, but don't we first have the more fundamental issue of .git being part of the source/build tree"09:43
tristanNexus, do you see the issue with that ?09:43
tristanNexus, consider say, that we are caching a build tree of linux.git09:43
Nexusit could be huge?09:45
tristanCorrect09:45
Nexusah09:45
Nexusso we need to exclude the .git dir?09:46
tristanSo, it also stands to reason that cloning the whole repository at build time, just to build... is also inefficient09:46
tristanWere we to solve it at the time of staging, the issue is much lessened for cached build trees anyway09:47
tristanso I doubt it's important to special case that for workspaces, if we solve it at staging time09:47
tristan*but*, it brings back the issue that; developers who want a workspace; they want their whole repository to work in09:48
*** jonathanmaw has joined #buildstream09:49
tristanFrom what I understand, build tree caching is still done without any additional file metadata, i.e. like with artifacts, we dont preserve mtime of files09:49
tristanInstead, for the purpose of incremental builds, we have a heuristic in place which makes everything the same timestamp09:50
Nexusthe files are currently just lifted out of the sandbox and cached, nothing is done to them09:50
tristanand then we have a (still not executed ?) plan in place to make sure that "dependencies which have changed" since the last build, are staged with a hard coded *newer* timestamp09:51
tristanSo, this leads me to deduce the following:09:52
*** tiago has joined #buildstream09:52
tristanIf we enhance our staging in such a way described above, such that by default history is excluded unless explicitly requested...09:52
NexusDoesn't that lead to the same issue as before?09:53
Nexusif someone is relying on the history being there in stable for example09:54
tristanThen, at the time of opening a workspace against an already cached build tree; we can at that time *overwrite* the revisioned files, with history and all, over the cached build, and ensure they are set to the correct mtime09:54
tristanThis would not cause any concern of inconsistent files and state, because if the cache keys match; then the sources must be exactly the same09:54
tristan*or*, we could take into account builds which *modify* sources inline09:55
tristanAnd do a sort of shadow copy09:55
tristanWhere we do: A.) Checkout a git tree to a certain temporary location... B.) Copy over files to the staging area *only if they do not already exist in the staging area*09:55
tristanjuergbi, ^^^^^^ sounds relatively sane ?09:56
juergbiin the future we probably also want to be able to use non-identical cached build trees. so we want the real vcs sources to override the cached build tree where there is a mismatch, at least long term09:56
tristanHmmm, this is for non-workspace related incremental builds09:57
juergbiyes09:57
juergbinot a topic right now09:57
juergbibut we should already align the logic09:57
tristaninteresting, but I think with this approach we can fry that cat when it scratches us in the face09:57
tristanwell, you're right, we should take it into account in design09:58
juergbiinteresting saying09:58
juergbi;)09:58
tristanI like to be visual with my expressions :)09:58
tristanSo now, the final step to this brainstorming I think, is what part of this can be separated09:58
juergbiwe can also postpone it if it's too complex for now09:58
juergbijust wanted to raise awareness09:59
tlaterjuergbi just suggests turning the frier on09:59
juergbihaha09:59
tristanI.e. the optimization of shallow staging solves the issue for both things at once, so I would be interested in an approach where we can first land this workspaces using cached build trees, and then later optimize with shallow staging10:00
juergbii.e., first cache whole .git?10:01
tristanYes, specifically because we have this caching of build trees branch ready and waiting for a purpose10:02
juergbimakes sense. it shouldn't break anything10:02
juergbibut it's a reason more to make it optional, at least for the time being10:03
tristanindeed10:03
tristanMaybe API-wise this can be a new Source.stage_full() method, which defaults to existing Source.stage() in the absence of an implementation10:04
tristanThis could have some additional options, such as "Overwrite the files in the destination", "Only populate files in the destination if they do not yet exist", "Stage with or without history"10:05
tristanBut by default, Source.stage() is used ? ... hmmm, no that will not work for workspaces on cached build directories, cause the default implementation will fail.10:06
gitlab-br-botbuildstream: merge request (jmac/exception-hook->master: Add a handler for otherwise unhandled exceptions in the main BuildStream app) #248 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/24810:09
*** aday has joined #buildstream10:13
gitlab-br-botbuildstream: merge request (issue-243_dpkg_import_source_plugin->master: Created DPKG Source plugin for Issue #10) #305 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/30510:13
gitlab-br-botbuildstream: issue #313 ("empty /buildstream/build directory when dropping to a shell after a failed build") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/31310:20
jmacI've not come across the public/private distinction in Python before - is it defined in a PEP?10:21
tristanjmac, I think I saw a discussion where you asked about making private accessors like the others10:21
tristanbut failed to reply in that topic10:22
jmacYes you did10:22
tristanAnyway, single underscore in python is private by convention, importing something to a public module from a private one, makes it public10:22
tristanThis cannot be enforced, but it is a general convention; it will for instance be considered by Sphinx when generating documentation10:23
*** dominic has joined #buildstream10:23
tristanThe double underscore is special in python10:23
jmacYou were asking for a Sandbox._get_config() accessor10:23
tristanjmac, the double underscore actually creates a namespace when viewed from outside of the declaring object, so internally it can be accessed as __config, while externally it can only be abused as _Sandbox__config10:24
jmacOK, not come across any of this before.10:25
tristanjmac, for BuildStream... (while presently privateness is in a messy state, there is a bug I filed last week about that) we only use the double underscore for abstract classes which we expect to be derived10:25
tristanSo, that's why we use it heavily in Element and Source, and also in Sandbox10:25
tristanThis is just some added protection to free up namespace in concrete implementations10:25
tristanjmac, if we wanted to be more robust in this regard, we would create accompanying Controller classes for the private methods we use inside BuildStream10:26
tristanwe just didnt take it *that* far10:26
jmacIt's possible Sandbox._get_config will become necessary if we tighten up the scope10:26
*** dominic has quit IRC10:26
*** dominic has joined #buildstream10:26
gitlab-br-botbuildstream: merge request (issue-89_unique_build_dirs->master: Made modification to generate unique subdirs for built elements) #310 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/31010:27
tristanjmac, in my review comment I have now asked for one, I failed to reply to that topic (think the discussion is resolved), but instead made a new comment asking for one10:27
tristansorry for that confusion :)10:27
jmacnp10:28
gitlab-br-botbuildstream: merge request (issue-89_unique_build_dirs->master: Made modification to generate unique subdirs for built elements) #310 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/31010:29
gitlab-br-botbuildstream: merge request (issue-89_unique_build_dirs->master: Made modification to generate unique subdirs for built elements) #310 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/31010:30
Nexustristan: So was a conclusion reached about wether or not you want to merge a change to the API?10:39
tristanright, I was just about to get back to you before I go10:41
tristanthere was not a solid conclusion reached per se10:41
tristanNexus, for right now, it would be best that you implement the feature while bypassing init_workspace() completely, as a first step10:41
tristanNexus, after that, we have to come up with a plan to address it, depending on how complex that plan is; we may merge the initial implementation "without the special init_workspace() sauce" and punt that part as an enhancement10:42
tristanOr, we may block the patch on first fixing that so that it works nicely off the bat10:43
tristanNexus, make sense ?10:43
Nexusyep10:43
gitlab-br-botbuildstream: merge request (215-workspace-builds-might-not-rebuild-correctly-when-dependecies-are-updated->master: WIP: Resolve "Workspace builds might not rebuild correctly when dependecies are updated") #315 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/31510:44
gitlab-br-botbuildstream: merge request (richardmaw/build-status-extensions->master: WIP: Print summary of failed builds) #329 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/32910:46
*** tristan has quit IRC10:49
gitlab-br-botbuildstream: merge request (215-workspace-builds-might-not-rebuild-correctly-when-dependecies-are-updated->master: WIP: Resolve "Workspace builds might not rebuild correctly when dependecies are updated") #315 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/31510:59
*** ernestask has joined #buildstream11:13
gitlab-br-botbuildstream: merge request (215-workspace-builds-might-not-rebuild-correctly-when-dependecies-are-updated->master: WIP: Resolve "Workspace builds might not rebuild correctly when dependecies are updated") #315 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/31511:25
*** jennis has quit IRC11:31
*** jennis has joined #buildstream11:34
gitlab-br-botbuildstream: merge request (215-workspace-builds-might-not-rebuild-correctly-when-dependecies-are-updated->master: WIP: Resolve "Workspace builds might not rebuild correctly when dependecies are updated") #315 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/31511:40
*** tiago has quit IRC11:47
gitlab-br-botbuildstream: merge request (215-workspace-builds-might-not-rebuild-correctly-when-dependecies-are-updated->master: WIP: Resolve "Workspace builds might not rebuild correctly when dependecies are updated") #315 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/31512:01
gitlab-br-botbuildstream: merge request (issue-243_dpkg_import_source_plugin->master: Created DPKG Source plugin for Issue #10) #305 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/30512:03
jmacI don't know if tristan is still online; I'm having trouble with the scoping issues on !318 (see the latest comment)12:11
Nexusno he want off12:16
jmacIn which case, could anyone else take a look at it?12:16
jennisHas anyone built anything with gnome-build-meta recently?12:19
jennisjjardon[m]?12:19
jennisGetting these errors: https://paste.baserock.org/etaritetig12:19
juergbijmac: one option could be to put it in something like sandbox/_config.py and import that from Element12:20
juergbithat would still keep it out of the really public API (the plugin facing one)12:21
juergbior follow the _SandboxConfig approach12:21
juergbiI'm not an expert on best practice with visibility on Python, though. maybe there are better solutions12:22
jmacThat's just a name change from _private to _config, then12:23
*** tiago has joined #buildstream12:23
jmac_SandboxConfig sounds like the best option so far12:24
jmacHence why I asked if there's some PEP document about how visibility should work - I don't know what the rules are for this12:24
*** bethw has joined #buildstream12:25
gitlab-br-botbuildstream: merge request (215-workspace-builds-might-not-rebuild-correctly-when-dependecies-are-updated->master: WIP: Resolve "Workspace builds might not rebuild correctly when dependecies are updated") #315 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/31512:25
juergbijmac: yes but Element could import from sandbox._config. importing from sandbox._private seems a bit odd12:27
juergbithere is https://www.python.org/dev/peps/pep-0008/#public-and-internal-interfaces but i don't think it helps here12:27
jjardon[m]jennis: update your bst12:28
juergbibut _SandboxConfig might be better12:28
jjardon[m]tristan: anything we can do to avoid above situations? ^12:28
jennisjjardon[m], I have12:28
juergbijjardon[m]: set format-version in project.conf12:28
juergbiah, already the case, hm12:28
jennisjjardon[m], ahh dammit don't worry12:29
jjardon[m]tristan: maybe bst can check if it supports a specific version of bst format and fail with a nice "I do not support this" or something like that?12:29
juergbijjardon[m]: see the last line in the pastebin12:29
juergbihowever, i don't know why this wasn't shown in the first invocation12:29
juergbimaybe we check this too late?12:30
jjardon[m]ah nice :)12:30
jjardon[m]you are already on it12:30
jjardon[m]yeah, maybe is better to exit inmediatelly12:30
juergbilooks like a bug12:30
Nexusjuergbi: can you merge this? :) Pretty please with a cherry on top https://gitlab.com/BuildStream/buildstream/merge_requests/30512:32
jjardon[m]juergbi: do you want me to open an issue?12:38
juergbijjardon[m]: yes, please do12:39
gitlab-br-botbuildstream: merge request (issue-243_dpkg_import_source_plugin->master: Created DPKG Source plugin for Issue #10) #305 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/30512:41
gitlab-br-botbuildstream: issue #314 ("buildstream should exit inmediatelly if it format is not supported") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/31412:44
jennisSo artifact cache's can be declared in project.conf or ~/.config/buildstream.conf... The documentation shows this for caches which we pull from. For a artifact cache that we also intend to push to, can we also declare this in either?12:45
juergbijennis: yes, you can specify push in both locations12:50
jennisthanks juergbi12:52
*** mohan43u has quit IRC12:53
*** mohan43u has joined #buildstream12:59
jjardon[m]juergbi: any idea if the differences between format versions are documented somewhere?13:04
juergbijjardon[m]: the format documentation contains notes about features that have been introduced after the initial stable release13:08
juergbi'available since format version N'13:08
jjardon[m]juergbi: nice, thaks.13:09
* jjardon[m] searchs for the format docs13:09
Nexusty juergbi \o/13:10
gitlab-br-botbuildstream: merge request (buildproject->master: Added buildproject doc) #238 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/23813:11
gitlab-br-botbuildstream: merge request (createProject->master: Adding create project document) #237 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/23713:11
gitlab-br-botbuildstream: merge request (postbuild->master: Added Postbuild documentation) #236 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/23613:11
gitlab-br-botbuildstream: merge request (modAndTest->master: Making changes to various documents:) #206 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/20613:11
tlaterHm, is gnome-modulesets outdated?13:11
tlaterIts core-deps/meson.bst still has a "pre-configure-commands" key13:12
* Nexus can't remember what's going on with https://gitlab.com/BuildStream/buildstream/merge_requests/25113:12
gitlab-br-botbuildstream: merge request (jmac/build-uid-2->master: Sandbox configuration key to specify uid/gid for sandbox) #318 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/31813:16
gitlab-br-botbuildstream: merge request (issue-191_relative_workspaces->master: WIP: Patch for issue #191 support relative workspaces) #251 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/25113:23
Nexusjuergbi: are you happy with https://gitlab.com/BuildStream/buildstream/merge_requests/310 ?13:27
Nexustlater: which thing are you building?13:27
* tlater was building core.bst for a rudimentary staging performance check.13:28
juergbiNexus: I'm confused. that still sets the element variable but the tests are passing13:30
juergbiah, it might use the element-name '' fallback13:31
juergbisounds like better test would be in order13:31
juergbiand obviously fixing the remaining 'element'13:31
gitlab-br-botbuildstream: merge request (jmac/build-uid-2->master: Sandbox configuration key to specify uid/gid for sandbox) #318 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/31813:32
gitlab-br-botbuildstream: merge request (issue-89_unique_build_dirs->master: Made modification to generate unique subdirs for built elements) #310 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/31013:34
Nexusjuergbi: now i'm confused, because i definitely changed it...13:34
gitlab-br-botbuildstream: merge request (146-use-minimum-python-version-3-4-for-integration-tests->master: Resolve "Use minimum python version (3.4) for integration tests") #266 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/26613:34
Nexusi've just re-pushed it13:34
gitlab-br-botbuildstream: issue #315 ("bash completion not working properly when adding PATH="${PATH}:~/.local/bin"") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/31513:36
gitlab-br-botbuildstream: merge request (146-use-minimum-python-version-3-4-for-integration-tests->master: Resolve "Use minimum python version (3.4) for integration tests") #266 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/26613:42
gitlab-br-botbuildstream: merge request (146-use-minimum-python-version-3-4-for-integration-tests->master: Resolve "Use minimum python version (3.4) for integration tests") #266 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/26613:43
gitlab-br-botbuildstream: merge request (146-use-minimum-python-version-3-4-for-integration-tests->master: Resolve "Use minimum python version (3.4) for integration tests") #266 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/26613:47
gitlab-br-botbuildstream: merge request (146-use-minimum-python-version-3-4-for-integration-tests->master: Resolve "Use minimum python version (3.4) for integration tests") #266 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/26613:50
gitlab-br-botbuildstream: merge request (jmac/build-uid-2->master: Sandbox configuration key to specify uid/gid for sandbox) #318 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/31813:54
*** xjuan has joined #buildstream14:13
gitlab-br-botbuildstream: merge request (jmac/build-uid-2->master: Sandbox configuration key to specify uid/gid for sandbox) #318 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/31814:15
laurenceNexus, re Allow project relative workspace paths - https://gitlab.com/BuildStream/buildstream/merge_requests/251, looks like it needs reviewing before the WIP is removed14:29
laurenceseems to have been over-looked / dropped in the past, but i also can't remember why14:29
mohan43uhi I'm getting socket timeout "Failed to fetch ref 'debian/testing/amd64' from 'origin': Socket I/O timed out" for base/base-system.bst after like 2% downloaded.. any hints?14:31
jmacRight, I think that's all discussions resolved on !31814:32
tlatermohan43u: That *sounds* like a network issue - might be something else though, perhaps someone else has seen it happen before.14:32
Nexuslaurence: same, i'm not sure what happened to it, but i need to sort out the CI fails anyway14:35
mohan43utlater: every time I retry, the total number of git chunks getting reduced, but timeout happens after after getting 15-20MB of data14:38
tlaterHrrmmm... I don't know enough about Linux networking to debug sockets, sorry mohan43u . I don't think there's a know network issue atm, though.14:40
gitlab-br-botbuildstream: merge request (jmac/exception-hook->master: Add a handler for otherwise unhandled exceptions in the main BuildStream app) #248 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/24814:55
tlatermohan43u: Looks like you're asking at the wrong time :| I suggest asking a bit earlier in the day, as tristan is more likely to be around then.15:05
gitlab-br-botbuildstream: merge request (215-workspace-builds-might-not-rebuild-correctly-when-dependecies-are-updated->master: WIP: Resolve "Workspace builds might not rebuild correctly when dependecies are updated") #315 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/31515:11
gitlab-br-botbuildstream: merge request (215-workspace-builds-might-not-rebuild-correctly-when-dependecies-are-updated->master: Resolve "Workspace builds might not rebuild correctly when dependecies are updated") #315 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/31515:19
gitlab-br-botbuildstream: merge request (issue-191_relative_workspaces->master: WIP: Patch for issue #191 support relative workspaces) #251 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/25115:35
gitlab-br-botbuildstream: merge request (issue-191_relative_workspaces->master: WIP: Patch for issue #191 support relative workspaces) #251 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/25115:36
*** valentind has joined #buildstream15:38
Nexusjuergbi: you there?16:06
Nexusplease can someone review https://gitlab.com/BuildStream/buildstream/merge_requests/251 for me?16:19
jennishas anyone successfully set up a remote artifacts cache before?16:25
* jennis is having problems16:25
Nexusi think tlater explained it to me once16:26
Nexusso he might know16:26
jmacNexus: I'm not very familiar with workspaces, but if both projectdir and workdir are absolute paths (returned by os.path.abspath) then does it makes sense to join them together?16:26
*** mohan43u has quit IRC16:26
Nexusjmac: workdir is a relpath ln62216:27
tlaterNexus: I've been trying to guide jennis through it, actually, we're running into trouble with getting him authorized on his own cache16:27
jmacNexus: Yes, but what if workdir doesn't start with projectdir?16:27
Nexushttp://i.imgur.com/pLksjqM.png16:28
*** mohan43u has joined #buildstream16:29
gitlab-br-botbuildstream: merge request (issue-191_relative_workspaces->master: WIP: Patch for issue #191 support relative workspaces) #251 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/25116:31
Nexusthat should fix it16:31
gitlab-br-botbuildstream: merge request (issue-191_relative_workspaces->master: WIP: Patch for issue #191 support relative workspaces) #251 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/25116:33
*** striker has joined #buildstream16:39
jmacNexus: Now I'm a bit confused as to what this actually does - it looks like it's removing projectdir from the front of workdir and then putting it back on later16:44
Nexusjmac: i'm making it into a relative path, so it may end up being /buildstream/build/../foo/bar16:47
Nexusmeaning oyu can move the project and it should still know where to find the workspace16:48
jmacBut you turn workdir back into an absolute path before you call _set_workspace16:49
tlaterWould there be any objections to including the artifact size in its metadata?16:51
* tlater thinks this could speed up artifact cache size management a lot16:51
Nexusjmac: yeah i see the problem, darn16:55
Nexusty16:55
juergbitlater: I don't see an issue with that, however, reading metadata of all artifacts sounds very expensive17:00
*** sstriker has joined #buildstream17:00
*** striker has quit IRC17:01
*** sstriker has quit IRC17:01
tlaterjuergbi: It's about expiring the correct number of artifacts17:01
*** striker has joined #buildstream17:01
tlaterOnce we have a list of LRU artifacts, removing 1 doesn't guarantee we have enough space for the new artifact17:01
juergbiah, you just read it for artifacts you get rid of?17:01
tlaterYep :)17:01
juergbiSounds fine to me17:01
*** sstriker has joined #buildstream17:21
*** striker has quit IRC17:22
*** tiago has quit IRC17:33
*** bethw has quit IRC17:40
*** dominic has quit IRC17:45
*** aday has quit IRC17:46
*** aday has joined #buildstream18:00
*** jonathanmaw has quit IRC18:24
*** aday has quit IRC18:32
*** aday has joined #buildstream19:06
*** aday has quit IRC19:27
*** ernestask has quit IRC20:38
*** sstriker has quit IRC21:07
*** striker has joined #buildstream21:07
*** sstriker has joined #buildstream21:12
*** striker has quit IRC21:15
*** sstriker has quit IRC21:32
*** valentind has quit IRC23:25
*** xjuan has quit IRC23:59

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