IRC logs for #buildstream for Wednesday, 2018-04-18

*** Prince781 has joined #buildstream02:16
*** Prince781 has quit IRC02:21
*** tristan has joined #buildstream03:34
*** noisecell has joined #buildstream06:51
*** dominic has joined #buildstream07:45
*** toscalix has joined #buildstream07:52
*** dominic has quit IRC08:07
*** jonathanmaw has joined #buildstream08:23
*** aday has joined #buildstream08:35
*** dominic has joined #buildstream09:04
*** bethw has joined #buildstream09:06
gitlab-br-botbuildstream: merge request (135-expire-artifacts-in-local-cache->master: WIP: Resolve "Expire artifacts in local cache") #347 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/34709:06
*** toscalix has quit IRC09:13
*** toscalix has joined #buildstream09:14
jennistristan, if you have some spare time today, would you be able to review !411, !413 and !418. !411 is the only one that is potentially mergeable. For the other two, I would like your thoughts on whether/how we should proceed09:39
tristanjennis, I am aware there is a queue...10:00
gitlab-br-botbuildstream: merge request (tristan/scheduler-private-refactor->master: Scheduler private refactor) #419 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/41911:03
* tlater is annoyed by how much of our code is tangled in trying to meet frontend demands11:14
gitlab-br-botbuildstream: merge request (135-expire-artifacts-in-local-cache->master: WIP: Resolve "Expire artifacts in local cache") #347 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/34711:22
gitlab-br-botbuildstream: issue #366 ("Add `bst config` command") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/36611:45
*** tristan has quit IRC11:46
*** xjuan has joined #buildstream11:46
gitlab-br-botbuildstream: merge request (richardmaw/key-summary->master: List resolved element keys in job summary) #389 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/38911:47
*** tristan has joined #buildstream11:48
tristanlooks like our walkers are rather crawlers this week :-S11:57
tristantlater, I've been untangling *alot* of things over the weeks, and API is starting to look much better defined after going through it with a fine tooth comb, under the guise of #28511:58
tristantlater, one thing that is important is that we have a clear separation between the frontend and core, that means we can't tollerate the core reaching into the guts of the codebase and doing whatever it likes11:59
tlaterYeah, I do understand that. But it feels like the frontend is reaching really deep into core12:00
tristantlater, I want to land https://gitlab.com/BuildStream/buildstream/merge_requests/419, and then look into the long queue of docs patches from jennis12:00
tristantlater, I agree, it counts the queue status things, etc; which sucks, and it has absorbed workspace commands, due to the lack of a proper "main" in the core that is separate from the pipeline12:01
tristana refactor which needs to be done is to split out all the "command" executing code from Pipeline, and have Pipeline only used to resolve the... pipeline12:01
tristanthen we can move workspace things to there, out of the app; and try to provide a cleaner interface for the frontend12:02
tristantlater, but anyway before I move on to docs patches I wanted to discuss a bit the changes I made to the scheduler, which you will be working on12:02
tlaterSure, looking through it as we speak :)12:03
tristanshame that our "gitlab crawlers" are crawling so slowly12:03
tristanyeah, you can see it before it merges12:03
tristanA huge benefit to solving #285 means we separate what is local private from ... shall we say, local public12:03
tristanwhich means APIs are easier to understand12:03
tristantlater, notice that in Job(), there are 3 public members12:04
tristanelement, action_name, and workspace_dict; these are *all* specific to jobs which are related to a Queue and process an element12:05
tristanSo the resulting Job base class should not have them anymore12:05
tlaterGoing to be a bit tricky looking at how logging is done12:05
tristanThat will have to change to something more generic, indeed12:05
tristantlater, it can be done for instance, by having an abstract method report the logging file handle12:06
tristanwhich ElementJob can implement the way it's currently implemented12:06
tristanthat would be a start12:06
tlaterI don't like it much, feels like I'm littering with very specific helpers12:07
tristanOr, it could be that we move the element.py code for opening the log handle into Job, and pass the Job a logdir relative path for doing it itself12:07
tlaterBut I haven't been able to think of anything else, so...12:07
tristanthe latter sounds better to me, actually12:07
tlaterHang, from where are we passing that path?12:08
tlaterCurrently the element decides, but it doesn't have much control over the job, does it?12:08
tristanRight12:08
tristantlater, if we remove all of that from the element, we can make the Queue (which is totally element processing specific) decide on the logdir relative logfile to use12:09
tristantlater, then we can have the base Job class handle that file12:09
tlaterSounds like a large change, but it definitely is neater12:09
tristantlater, other mechanisms for launching a job, for artifact cache cleanup jobs, or for event tasks, will pass a different file12:09
tristantlater, *no*12:09
tristantlater, *stop thinking that way*12:09
tristantlater, be ready to churn *alot*12:10
tlaterAlright... I won't be lazy this time x)12:10
tristantlater, we have a pretty lean codebase, which I recently had to untangle many messes12:10
tristanA "large change" is not the dangerous part, the dangerous part is leaving the codebase tangled afterwards12:10
tristanFirst, think of how it *should* be, then *make it that way*12:11
tristantlater, another thing I want you to keep in mind...12:12
tristantlater, is that JobElement tasks are guaranteed by the Queue mechanism to be mutually exclusive per element12:12
tristanthis makes a subtle difference, and is an assumption that we can make12:12
tristanThe Queue side of things ensures that Elements pass through Queues in order12:13
tristantlater, probably you want to make a new file in the _scheduler package, which will be responsible for doing the stuff that Scheduler.sched() currently does12:14
tristani.e. moving elements through queues, would no longer be in the direct domain of the Scheduler12:14
tlaterAh, that's what I've been trying to get working since last Thursday12:14
tristanRight, but you probably want to work from the ground up12:14
* tlater just isn't sure why that would be required anymore at this point12:14
tristantlater, you need to abstract how the scheduler receives tasks, there are probably various approaches12:15
tristantlater, One idea would be to make an abstract JobSource... and have this JobSourceQueue thing do that to provide jobs to the scheduler12:15
tristantlater, I dont care if we create very small files, look at the present Queue implementations, they are tiny but by this virtue, things are very comprehensive12:16
tristantlater, note that I have not thought this part through, I'm rambling into other topics12:17
tristanor rather, into possible solutions for makeing the scheduler do what we want12:17
tlaterHm, alright. I *thought* it would be possible to get queues to manage multiple jobs.12:17
tristanNah, Queues are about passing elements through queues12:18
tristanLets not convolute that with other side effects12:18
tlaterOk12:18
*** xjuan has quit IRC12:18
tristanrather, we need to have something which is able to react on the side effects of elements completing in queues12:18
tristanso that we can launch the right jobs12:18
tlaterHm, right12:18
tlaterSo the scheduler should become more of a classical worker pool12:18
tlaterAnd we'll need something to figure out what to make this pool do12:19
tristantlater, it's best if you think of it, and paint a picture and show it to me12:19
tlaterSure, I'll start on it12:19
tristantlater, I am *sure* about what I have said about splitting up Job and JobElement, that part is straight forward and going to be needed12:19
tristanHow the scheduler works this out with queues and all, is a creative task12:20
gitlab-br-botbuildstream: merge request (valentindavid/workspacedir_config->master: Add 'workspacedir' configuration.) #420 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/42012:30
*** xjuan has joined #buildstream12:31
gitlab-br-botbuildstream: merge request (valentindavid/workspacedir_config->master: Add 'workspacedir' configuration.) #420 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/42012:36
*** bethw has quit IRC13:10
gitlab-br-botbuildstream: merge request (jjardon/doc_sandbox->master: WIP: docs: Fix build with latest version of sphinx) #414 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/41413:13
gitlab-br-botbuildstream: merge request (jjardon/doc_readme->master: WIP: source/index.rst: Use the README as our intro) #405 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40513:13
*** bethw has joined #buildstream13:26
cs_shadowI was thinking about changing the merge request settings to "Fast-forward merge" as that would give us a linear commit history. Any objectons?13:29
cs_shadow@tristan @jjardon ^13:30
tristancs_shadow, that's what we use in BuildStream, you mean buildstream-docker-images does not have that setting ?13:30
tristancs_shadow, are you able to configure it ?13:30
tristanPlease do13:30
cs_shadowoh sorry, i forgot to mention the repo. Yes, i meant buildstream-docker-images13:31
tristancs_shadow, it's the only sane default option, I have no clue why gitlab doesnt prefer it13:31
cs_shadowI agree, changing it now13:31
cs_shadowtristan: done. thanks!13:31
jjardoncs_shadow: that the case already13:34
jjardonI think?13:34
tristanjjardon, it was not for buildstream-docker-images repo13:34
cs_shadowjjardon: no, it used to default to "merge commit it semi-linear history"13:35
tristanjjardon, gitlab defaults to something else, and we never changed the default for that repo I guess13:35
jjardonyeah, I have changed it to merge commit it semi-linear history13:36
jjardondefault is simply "merge", I think13:36
jjardon"merge commit it semi-linear history" is still linear but make it easier to separate what commits come from what MR13:37
* tristan wants linear everywhere13:37
jjardonso you can use the "Revert" buttin in the UI and revert all the commit in that MR if something goes wrong13:37
tristanIf gitlab wants to litter my history with MR commits because it thinks our contributors are not responsible enough to mention issue numbers in their commit messages, that's a separate issue13:38
cs_shadowjjardon: operator clash! I had just changed it to "fast-forward merge". "Merge commit with semi-linear history" still creates a merge commit.13:38
* jjardon prefers "merge commit it semi-linear history"13:38
jjardontristan: it's not about that at all13:38
tristanjjardon, :)13:39
tristanYeah, I prefer strict fast forward policy honestly13:39
tristanregardless of the annoying merge commits13:39
tristanalthough gitlab could have that as a separate toggle13:39
jjardonI didnt like the MR commits in the beginning, but I see how useful can be sometimes to group changes per MR13:39
jjardontristan: yeah, the history is completely linear with "merge commit with semi-linear history"13:40
* cs_shadow prefers linear commit history and thinks commit messages should point to issues, which in turn should be related to MRs13:40
tristaninterestingly last time I checked, there is no option to generate the merge commits when linear history is strictly enforced13:40
jjardontristan: that's the "merge commit with semi-linear history" option?13:40
tristanjjardon, how come it's called semi-linear then ?13:41
tristanin any case; I'm not about to enable merge commits :)13:41
jjardoncs_shadow: then you have to be very carefull to put in each of your commits what issue you are trying to solve13:41
tristanI'd rather be strict about mentioning issues in the commits13:41
jjardontristan: maybe they called that way because you are putting merge commits in the middle? not sure13:41
tristanjjardon, that has been the standard since... forever13:41
tristanI know gitlab allows us to be a bit more careless, but we can still uphold the tradition :)13:42
paulsherwoodi believe there's some intention to update https://buildstream.gitlab.io/buildstream/ to include the readme text, with a diagram. is that going to happen soon, do we think?13:42
tristanyeah maybe they called it that way because you need to pull the merge commit yourself13:42
paulsherwoodor should i offer a patch?13:42
tristanpaulsherwood, So the discussion about the graph makes it more complicated13:43
tristanthe graph can only go into the docs13:43
paulsherwoodgraph? you mean diagram?13:43
tristanright the diagram13:43
paulsherwoodack13:43
tristanthe image can only go in the docs, while jjardon has a patch to include the README part in an introduction section13:43
paulsherwoodlet's merge jjardon's patch, then :)13:43
paulsherwoodperfect is the enemy of the good13:44
paulsherwoodone thing at a time :)13:44
tristanwhich is nice to reuse that in both places, but means the introduction in the docs probably needs a split into two parts (second part having the image)13:44
tristanright, I think it's a good step13:44
tristanbut I want to first look at jennis's 5 patches13:44
* paulsherwood has to point someone at bst documentation soon13:45
tristanand gitlab is *damn slow* this week :'(13:45
tristanhttps://gitlab.com/BuildStream/buildstream/merge_requests/41913:45
tristan"in the process of being merged", for like 10 minutes13:45
* tristan hazards a guess that... the CPU is not on the same machine as the SSD13:45
jjardontristan: :)13:46
jjardoncan we merge the trivial-non controversial https://gitlab.com/BuildStream/buildstream/merge_requests/407 ?13:47
* paulsherwood does not have the powers, but +113:47
jjardonpaulsherwood: do you have a link to the image, so I can adapt it to https://gitlab.com/BuildStream/buildstream/merge_requests/405 ?13:47
paulsherwoodjjardon: i can email the odg to you, would that help?13:48
jjardoncs_shadow: tristan change back to linear history: I will try to convince you other day to linear with merge commit :)13:49
jjardonpaulsherwood: sure13:49
jjardoncs_shadow: now that you are around; maybe you have some time to review https://gitlab.com/BuildStream/buildstream-docker-images/merge_requests/37 ? I'd like to add Debian stable to bst CI13:50
tristanOh, we're sticking with linear in BuildStream, certainly13:50
tristanwhat cs_shadow wants to do in buildstream-docker-images, is up to him :)13:51
jjardontristan: would you be interested on having CI in aarch64 as well?13:52
paulsherwoodjjardon: sent13:52
paulsherwoodjjardon: yes, we would13:52
jjardonpaulsherwood: thanks13:53
jjardonok, I will try to add it13:53
paulsherwoodtristan: why no merge-commit?13:53
tristanI think merge commits are basically litter; everyone has the sense to mention the issue number in the commit message (except jjardon sometimes, but I remind him, he is the outlier), and it's in our policy13:54
tristanthings are perfectly traceable without this13:55
jmacThere's tonnes of commits without issue numbers in them13:56
cs_shadowjjardon: yeah, having a look now :)13:56
tristanjmac, not all commits are related to issues, and having at least the relevant one in a merge request mention the issue is enough for traceability13:56
jmacYeah, but how do you know which other commits are part of the merge request?13:57
tristanonce you are in a git log, you can see the related commits, and find the pointer back to the issue13:57
tristanmuch less important, you can index it by the issue if you really must, but I've never had a need13:57
paulsherwoodtristan: i'm pretty sure that merge commits are useful13:57
tristanpaulsherwood, grrrr13:58
tristanI'm pretty sure they just encourage carelessness13:58
paulsherwoodheh13:58
* tristan reads git logs a lot, wants to see well formatted commits, not MR pollution13:59
jmacSorry, I don't know how to see the related commits in the git log13:59
paulsherwoodi don't think you are discouraging carelessness just by saying 'it's in our policy' etc13:59
* tristan gotta swap location now :-S13:59
tristanpaulsherwood, honestly in GNOME this has always been a policy, for since like; forever in every org I've worked with, this is policy13:59
tristanpeople should have the sense to do so, or be scolded should they forget14:00
jmacThis also isn't in our policy14:00
dominicI've not seen this mentioned anywhere14:00
paulsherwoodtristan: you can be wrong, sometimes - give folks a chance to help :-)14:01
jmac"Commits in the branch which address specific issues must specify the14:01
jmacissue number in the commit message"14:01
tristanjmac, "Branches must be submitted as merge requests in gitlab and should usually be associated to an issue report on gitlab."14:01
jjardontristan: I was thinking similar to you, until I have to revert some specific MR's: with no merge commits was almost impossible to be absolute sure what commits belong to which MR14:01
tristanjmac, But we can reword that, it's also in the example on the hacking page14:01
jmactristan: That's different to what you just said14:01
* paulsherwood is confident tristan is wrong this time14:01
tristanthey really wanna close the shop now14:01
jjardongo tristan, run! XD14:02
*** tristan has quit IRC14:04
gitlab-br-botbuildstream: issue #367 ("bst track refuses to track only one element") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/36714:05
*** tristan has joined #buildstream14:07
gitlab-br-botbuildstream: merge request (jennis/136-expire-remote-cache-artifacts->master: WIP:136 expire remote cache artifacts) #364 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/36414:12
gitlab-br-botbuildstream: merge request (tristan/scheduler-private-refactor->master: Scheduler private refactor) #419 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/41914:13
gitlab-br-botbuildstream: merge request (jjardon/build_badge->master: README.rst: Add pipeline status badge) #407 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40714:16
gitlab-br-botbuildstream: merge request (documentation-formatting-in-HACKING->master: Documentation formatting in hacking) #411 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/41114:18
gitlab-br-botbuildstream: merge request (jennis/136-clean-remote-cache->master: WIP: jennis/136 clean remote cache) #421 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/42114:18
gitlab-br-botbuildstream: merge request (jjardon/build_badge->master: README.rst: Add pipeline status badge) #407 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/40714:19
jjardonmmm, any idea why https://gitlab.com/BuildStream/buildstream/merge_requests/407 appear as closed, instead  merged ?14:23
dominicappears to be merged14:25
dominic(only going off the committed 6 mins ago)14:25
tlaterjjardon: Tristan has a habit of merging from CLI, which closes them instead - he usually comments if he does so though14:26
* tlater thinks he actually closes manually14:26
jjardonmmm, I'd say that is a bug in gitlab, as it confusing and it will destroy all the repo statistics14:28
tlaterWell, gitlab isn't really meant to be used like that14:32
tristantlater, jjardon actually, that is the second time it happened this week14:32
tristangitlab is *damn slow*14:32
tristanI hit "Comment and close issue", the issue gets close, the comment doesnt get committed to the db :-S14:32
tristanjjardon, it is a bug in gitlab this week, you even reminded me earlier this week on another issue or MR, where I *clearly* had the text in that edit buffer14:33
jjardontlater: seems it is; see the "You can merge this merge request manually using the command line" link in every MR14:33
tristanthis time it confirms it14:33
jjardontristan: rigth, so bad gitlab then :)14:33
tristannow I am sure, at least when gitlab.com is under load or crawling like it has been these couple days, they are not getting through14:34
* jjardon forgives gitlab for all the nice things it has14:34
tristanI'll try to now hammer them in a second time14:34
tlatertristan: On these logfiles - apparently part of their pathname is the pid of the process creating them14:34
tristanhttps://gitlab.com/BuildStream/buildstream/merge_requests/411 this one also missed it.14:35
tlaterProbably necessary if we want to ensure exclusivity14:35
tlaterThe issue is that we need access to the element for everything else in that path name14:35
tristantlater, then maybe it needs to be a "log format string" with the "{pid}" text in it ?14:35
tlaterYeah, I just realized14:35
* tlater feels stupid for asking14:35
tristanwe can even `assert "{pid}" in log_format` there14:35
tristanhaha14:36
tristantlater, yeah, use your own brain why dont you !14:36
tristanhehehe14:36
tlater;p14:36
tristanjjardon, paulsherwood; so I've tried the branch which includes the readme in the docs home page, but I dont think I like it as much now that I'm seeing it14:40
tristanit's going in the opposite direction than I'd like, mostly because README.rst has gotten so big14:41
gitlab-br-botbuildstream: issue #368 ("Allow running bst commands from project sub-directories") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/36814:41
jjardonno, it needs reworking of the README so it can go in both places14:41
tristanRather, I'd like the ToC on the *main page* (not on the other pages, just on the main page)... to only have one level14:41
tristanand not show so much depth14:41
tristanand have only a short text on that page, so that the user is not too overwhelmed, and is presented with only a few options "blue pill or red pill ?"14:42
tristanjjardon, maybe we can have it so we include the README.rst as a separate, leading "About BuildStream" subpage, instead of blowing up the main page with it ?14:42
tristanand in that subsection, we could add another subsection with pretty graphs and more bla bla bla14:43
tristancurrently if we expand it there, the user has to drag all the way through README to get to the links14:43
* tristan thinks it *was* nice with a shorter README, though14:44
tristanone which only contains the top paragraph, maybe14:44
tristanright, anyway I'll leave that patch alone for now14:44
jjardonyeah, I see what you mean; let me experiment a little bit14:45
* tlater likes big readmes, means I don't have to go to documentation pages while figuring out if I want to use a tool but can stay on github/lab14:45
tristantlater, agree that a larger readme is desirable14:45
tristanblowing it up on the main docs page is less so14:45
tlaterAh, I understand, nevermind14:45
tristanmaybe the option of including it in the toctree is better14:45
tristan(but then, it's a bit weird that the badges show up in the introductory About BuildStream "pill choice"14:46
tristan)14:46
tlaterWell, they *are* called pills in github land14:47
tlaterIt's "red pill" "blue pill" or "code coverage pill"14:47
tristanUhhh14:51
tristantlater, crossed topics, I think you've bruised your funny bone14:52
tristantlater, I prefer hatching fried chickens14:52
tristanerr eggs14:52
* paulsherwood thinks having the whole readme on the docs page is probably wrong given it has so many contents links14:53
tristanI wonder if the README.rst itself is allowed to include content from relative file paths14:54
paulsherwoodso i suggest: 1) just take the new 2 paras from the readme and put them in place of the (worse imo) paras in the docs page14:54
paulsherwood2) then have a separate FAQ page with the whole of the readme, or just the questions/answers14:55
paulsherwood3) have a further Overview (or About) with some pictures on it14:55
gitlab-br-botbuildstream: merge request (jennis/136-clean-remote-cache->master: WIP: jennis/136 clean remote cache) #421 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/42114:56
paulsherwoodand let's not bother about trying to re-use the content between the two systems... gitl rendering of rst is too limited imo14:56
tristanI wouldnt mind (1) right away, but I would let jjardon play with docs sharing possibilities, because I think he wants to (and it would be nice to be able to share things)14:57
tristanif he decides it's not worth spending his time fiddling, I'd go for what you suggest14:58
paulsherwoodack14:58
paulsherwoodjjardon: can we do (1) immediately?14:59
gitlab-br-botbuildstream: merge request (richardmaw/key-summary->master: List resolved element keys in job summary) #389 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/38914:59
* tristan notes that a *very brief* "What is BuildStream" paragraph, with a maximum of 3 sentences, is desirable and can be reused in release notes and just about everywhere15:01
tristanbut is very hard to achieve (not just for us)15:01
tristanI think the current text is good, still feel the references to other tooling in related areas is a bit of a stretch, but doesnt care enough to complain at the moment :)15:02
tristans/doesnt/don't15:02
paulsherwoodyou wrote that sentence originally :)15:02
tristanNot as a "What is BuildStream" in my release notes or in the readme15:03
tristanpossibly in a blog15:03
paulsherwood:-)15:03
tristanI mean; boiling it down into a condensed very small phrase15:03
tristanis difficult15:03
gitlab-br-botbuildstream: merge request (jennis/136-clean-remote-cache->master: WIP: jennis/136 clean remote cache) #421 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/42115:04
paulsherwoodagreed. we can drop the 'inspired by'. i'll attempt a different sentence15:04
jjardonwhat about https://paste.pics/eb5a77f0de53c51a44b8fc7e01b37a9a and https://paste.pics/c88bbbbc09c0363c9b99c41974fba00b ?15:04
gitlab-br-botbuildstream: issue #252 ("Print summary of discovered cache keys at end of session.") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/25215:05
paulsherwoodjjardon: ok by me. but i'd still suggest we have a sentence or two on the first page, rather than forcing folks to click15:06
jjardonok, sec15:06
paulsherwoodjjardon: i'm writing two sentences, please hold :)15:07
tristancs_shadow, I think you mean #341 in your new #368, shall I fix it ?15:07
cs_shadowtristan: good catch! I've updated it now15:08
* cs_shadow is a bit sad that GitLab keeps thinking that his issues are spam15:09
tristancs_shadow, I think it's tangentially related to the "running bst from a workspace", but #368 and #341 probably have the same patch to fix it (doing like git and searching for a directory with project.conf, with perhaps minimal validation on it)15:09
tristanor a similar one15:10
* tristan should consider food at this point15:10
cs_shadowtristan: i think #368 would fix #341 if the workspaces are in sub-directories but if they are outside, then we'd need more magic15:10
gitlab-br-botbuildstream: merge request (jjardon/doc_readme->master: WIP: source/index.rst: Use the README as our intro) #405 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40515:10
tristancs_shadow, oh yeah, weird people put their workspaces *in* their projects15:11
tristancs_shadow, I expect the workspace thing is only fixable with additional metadata in the checked out workspace15:11
* tristan never expected that to happen, but never forbade it either15:12
cs_shadowtristan: yes, and it's especially tricky because we can't assume that the sources are using git. For things like tar, i don't see an easy solution15:12
cs_shadowwe can always add a magic file that opens the door for various conflicts15:13
tristancs_shadow, I mean, we'd have to add a .bst/ directory to the workspace checkout, and have some local state there15:13
tristancs_shadow, probably we can only support it on the condition that the workspace has been opened with a relative path15:13
tristaneven then, it *can* break15:13
gitlab-br-botbuildstream: merge request (jjardon/doc_readme->master: WIP: source/index.rst: Use the README as our intro) #405 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40515:13
cs_shadowI'm bit skeptical about adding .bst directory because it assumes that the sources won't have that directory15:14
tristanbut is much less likely, cs_shadow... maybe make relative path support at least *explicit* at workspace open time, so the user who forced it, gets what they deserve if they move their project directory and workspace directory around15:14
tristancs_shadow, alternatively, we might track it in ~/.cache/buildstream/user or smth15:15
tristanstill a bit yuck, but all state is yuck15:15
cs_shadowyeah, i don't see a very elegant solution for this15:16
paulsherwoodjjardon: https://paste.baserock.org/oletamofor15:19
jjardonpaulsherwood: do you want me to put that or https://paste.pics/956c3426b0e2fa02cd44ee7099b74ddd ?15:20
paulsherwoodjjardon: yours is ok, but s/know to//15:21
* paulsherwood is struggling to parse it the way jjardon wrote it15:22
gitlab-br-botbuildstream: merge request (jjardon/doc_readme->master: WIP: source/index.rst: Use the README as our intro) #405 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40515:23
jjardoncorrected ^15:23
jjardonpaulsherwood: are you saying something about my flawlessly english ?? :)15:23
gitlab-br-botbuildstream: merge request (jjardon/doc_readme->master: source/index.rst: Use the README as our intro) #405 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40515:24
gitlab-br-botbuildstream: merge request (jjardon/doc_readme->master: source/index.rst: Use the README as our intro) #405 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40515:25
paulsherwoodjjardon: it was flawless, just hard to understand15:34
jjardondo we want to add something like this to the main? https://paste.pics/1f8e7bab12975e9eb7eed7188d00867415:35
jjardonot leave it as it is for now?15:35
tristanjjardon, lookup paulsherwood's MR which had done what I requested with the diagram15:36
tristanto make sure the MR includes the source odg, named the same as the cropped/rendered png, in doc/images, doc/image-sources; and has the diagram, wording updates to relevant, recent terminology15:37
jjardontristan: ok, so leave it as is for now (no diagram); I will rearange the diagram later; If you can review !405 that would be great15:37
tristanI have docs appointment tomorrow morning and trying to tear myself away from the screen so that I end up getting a couple hours sleep15:37
jjardonsure, you or paulsherwood or anyone; the MR is ready15:38
tristanin other words, I'm sure it can wait a day ;-)15:38
*** noisecell has quit IRC15:52
*** jonathanmaw has quit IRC15:59
*** dominic has quit IRC16:04
tristanjjardon, I'm merging, under the assumption we can have a one-level ToC on the main page16:05
* tristan checked it out and built docs, looks good16:06
jjardonthanks tristan ; now go to sleep!16:07
* jjardon wants to go out to the sun16:07
*** Prince781 has joined #buildstream16:11
*** toscalix has quit IRC16:13
gitlab-br-botbuildstream: merge request (jjardon/doc_readme->master: source/index.rst: Use the README as our intro) #405 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/40516:19
juergbitlater: does the cache expiry work already have protection against removing very recently added objects that are not referenced yet by a ref?16:20
tlaterjuergbi: Certainly not for multiple instances of buildstream16:23
juergbiis there really a difference?16:23
tlaterI'm think about that, but I don't think so, no16:23
tlaterYeah, we don't16:23
tlaterI'm not sure how we would protect against that, frankly16:24
tlaterHm, ostree probably has a flag to prune() that prevents pruning artifacts younger than a certain age16:25
tlaterSet that to a couple of seconds and we should be fine16:25
* tlater hopes, at least16:25
juergbithat's only for the commit date16:25
tlaterAh, darn16:25
juergbithe generalization of this using the object mtime should suffice16:26
tlaterjuergbi: What's the scenario in which this can happen, considering you dreamed one up?16:26
tlaterjuergbi: We use an mtime on the ref, not objects16:26
juergbiadding an artifact to the cache is not a single atomic operation16:26
juergbifiles get added one at a time16:26
juergbiif we run prune while an artifact is added, there is a high risk of issues16:27
tlaterWe could try to guarantee we're never pruning while something is being added16:27
tlaterOh, yeah, we definitely can do so for a single instance16:27
juergbithat's tricky to impossible without lock files across buildstream sessions16:27
tlaterYeah, that's the only problem16:28
juergbia generalization of ostree's prune option should be easy to implement in CAS16:28
juergbimaybe we can ignore the issue until then16:28
tlaterWell, we will already be ensuring that we halt build processes while we're pruning16:29
tlaterSo at least we mitigate this for the single-instance case16:29
juergbias in suspend?16:29
tlaterErr, yeah, suspend16:29
juergbior wait for all pending ones to finish?16:29
juergbiif you suspend during commit, it doesn't help16:29
tlaterHm, that will have to be waiting then16:30
tlaterThat's a bit annoying, but will have to do16:30
tlaterjuergbi: I assume you intend to land the CAS cache quite soon then?16:31
gitlab-br-botbuildstream: merge request (make-source-dir-resemble-ToC->master: Restructure directories under source/ to resemble ToC) #413 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/41316:32
*** xjuan_ has joined #buildstream16:39
juergbitlater: at some point in May, I expect16:39
*** xjuan has quit IRC16:41
*** xjuan_ is now known as xjuan16:41
*** Prince781 has quit IRC16:50
*** Prince781 has joined #buildstream16:54
tristanthis sounds less than ideal; I was hoping for concurrent prune and only stop queueing more build tasks once prune is taking too long and we reach the quota17:00
tristanbut it can be a temporary measure I guess17:00
*** bethw has quit IRC17:03
juergbiyes, I'm not sure we really gain anything by suspending build tasks17:04
juergbiand am still worried about prune overhead in general17:07
*** xjuan_ has joined #buildstream17:21
*** xjuan has quit IRC17:24
tristanjuergbi, I'm hoping if the thresholds are far enough apart, they wont happen too often, maybe once every 10 builds of 500 modules or so17:24
tristansuspend = NO17:24
tristanwait for an opportunity is better, especially if this is a stop gap until CAS17:25
tristanfinally, we could make prune consume a build token17:25
tristanso if you have 4 concurrent builds, you can only have 3 + one prune task17:25
juergbiyes, large enough threshold gap sounds good to me17:26
*** aday has quit IRC17:53
*** Prince781 has quit IRC18:00
*** Prince781 has joined #buildstream18:35
*** xjuan_ has quit IRC19:06
*** xjuan_ has joined #buildstream19:06
*** xjuan_ has quit IRC19:09
*** Prince781 has quit IRC19:09
*** aday has joined #buildstream19:16
*** tristan has quit IRC19:29
*** Prince781 has joined #buildstream20:47
*** Prince781 has quit IRC21:01
cs_shadowSo, https://gitlab.com/BuildStream/buildstream-docker-images/merge_requests/38 is created from the branch " chandan/improve-tests ". The branch has 4 commits (https://gitlab.com/BuildStream/buildstream-docker-images/tree/chandan/improve-tests) but the MR only shows 221:20
cs_shadowwhat sorcery is this? Any ideas?21:20
*** aday has quit IRC21:36
jjardonDoes anyone here have access to the https://hub.docker.com/u/buildstream/ account? I'd like to create a new repo there23:06
jjardonbuildstream-debian23:07

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