IRC logs for #buildstream for Monday, 2018-04-16

*** slaf has quit IRC04:31
*** ssssam[m] has quit IRC04:31
*** awacheux[m] has quit IRC04:31
*** ptomato[m] has quit IRC04:31
*** segfault3[m] has quit IRC04:31
*** kailueke[m] has quit IRC04:31
*** abderrahim[m] has quit IRC04:31
*** asingh_[m] has quit IRC04:31
*** alatiera has quit IRC04:31
*** theawless[m] has quit IRC04:31
*** pro[m] has quit IRC04:31
*** connorshea[m] has quit IRC04:31
*** inigomartinez has quit IRC04:31
*** waltervargas[m] has quit IRC04:31
*** mattiasb has quit IRC04:31
*** cgmcintyre[m] has quit IRC04:31
*** bochecha has quit IRC04:31
*** m_22[m] has quit IRC04:31
*** ernestask[m] has quit IRC04:31
*** jjardon[m] has quit IRC04:31
*** rafaelff[m] has quit IRC04:31
*** csoriano has quit IRC04:31
*** slaf has joined #buildstream04:32
*** ssssam[m] has joined #buildstream04:32
*** awacheux[m] has joined #buildstream04:32
*** ptomato[m] has joined #buildstream04:32
*** segfault3[m] has joined #buildstream04:32
*** kailueke[m] has joined #buildstream04:32
*** abderrahim[m] has joined #buildstream04:32
*** asingh_[m] has joined #buildstream04:32
*** alatiera has joined #buildstream04:32
*** theawless[m] has joined #buildstream04:32
*** pro[m] has joined #buildstream04:32
*** connorshea[m] has joined #buildstream04:32
*** inigomartinez has joined #buildstream04:32
*** waltervargas[m] has joined #buildstream04:32
*** mattiasb has joined #buildstream04:32
*** cgmcintyre[m] has joined #buildstream04:32
*** bochecha has joined #buildstream04:32
*** m_22[m] has joined #buildstream04:32
*** ernestask[m] has joined #buildstream04:32
*** jjardon[m] has joined #buildstream04:32
*** rafaelff[m] has joined #buildstream04:32
*** alatiera has quit IRC04:32
*** alatiera has joined #buildstream04:32
*** csoriano has joined #buildstream04:32
*** tristan has joined #buildstream05:31
gitlab-br-botbuildstream: merge request (tristan/dependency-docs-fixes->master: doc/source/format.rst: Some enhancements in how we document dependencies) #398 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/39806:04
gitlab-br-botbuildstream: merge request (jjardon/order_elements->master: source/format.rst: Order of components in "elements:" doesn't matter) #390 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/39006:06
gitlab-br-botbuildstream: merge request (tristan/dependency-docs-fixes->master: doc/source/format.rst: Some enhancements in how we document dependencies) #398 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/39806:15
gitlab-br-botbuildstream: issue #296 ("Lightweight artifacts") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/29606:20
gitlab-br-botbuildstream: issue #361 ("Store junction refs separately to project.refs") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/36106:26
gitlab-br-botbuildstream: issue #358 ("Documentation: Element's dependencies order") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/35806:34
gitlab-br-botbuildstream: merge request (tristan/dependency-docs-fixes->master: doc/source/format.rst: Some enhancements in how we document dependencies) #398 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/39806:34
paulsherwoodtristan: are you around?07:34
tristanpaulsherwood, Certainly07:37
tristanBack from your trip then ?07:37
*** toscalix has joined #buildstream08:03
paulsherwoodyes, maybe jetlag explains my irritability :-)08:04
*** jennis has joined #buildstream08:12
* paulsherwood is disappointed by the 'fix' to missing project.conf file08:16
paulsherwoodas a driveby user i don't want to answer three confusing questions... that's **worse** than having to create a one-line project.conf file08:17
tristanYou dont have to answer the other two questions really, only the first one08:17
paulsherwoodi don't want to answer any at all :)08:18
tristanCreating a one-line project.conf is still an option, or just typing `bst init --project-name my-project` also works08:19
tristan(or bst --directory /path/to/desired/project/location init --project-name my-project)08:20
tristanthat wont ask any questions08:20
paulsherwoodyou can understand, i'm sure, why that doesn't help for my 'i just want to try buildstream' usecase08:34
*** jonathanmaw has joined #buildstream08:37
*** noisecell has joined #buildstream08:38
tristanpaulsherwood, what would help would be a getting started guide - however this still *helps*, because it doesnt give you a crash, and it immediately informs you that you *need* a project.conf, and holds your hand while creating one08:40
tristanI would say this goes above and beyond when it comes to user friendlyness08:40
*** tiago has quit IRC09:08
gitlab-br-botbuildstream: merge request (jennis/136-expire-remote-cache-artifacts->master: WIP:136 expire remote cache artifacts) #364 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/36409:09
*** tiago has joined #buildstream09:11
* tlater thinks the coverage thing is cute but is annoyed that it's ~60% out of whack09:13
juergbiyes, I commented this as well. Doesn't make sense to merge it if it's wrong09:13
tristanNo no, it's not ready09:16
tristanwe wont merge that, I think jjardon was just running some test using the regex in the gitlab UI09:17
tristanwhich we should disable if it's misinformed09:17
tlaterI thought it already was merged?09:17
tlaterI see coverages on master's pipeline at least09:17
tristantlater, see: https://gitlab.com/BuildStream/buildstream/settings/ci_cd09:18
juergbiit seems the regex is now in the project settings, but the badge hasn't been merged09:18
tristanright, we should disable that as it's nonsense09:18
juergbiand we should also remove the regex again if it's not correct09:18
tristanI just cleared the regex in settings09:19
tristanI think the feature is broken on the gitlab side, either that or just not documented09:19
tlaterI wonder how that regex could even work, considering we want the *final* coverage number, as opposed to random percentages that occur everywhere in our CI output.09:19
tristanhttps://docs.gitlab.com/ce/ci/yaml/#coverage09:20
tristanThat is what should be used in the .gitlab-ci.yml09:20
tristanbut I tried some things and it just doesnt work09:20
tristanI dont think gitlab understands that we want *one job* to define the coverage for the *whole pipeline*09:21
*** dominic has joined #buildstream09:26
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:29
tlatertristan: Looking at #209, back when that issue was opened we also wanted to document the workspaces.yml file so that IDEs can use it09:43
tlaterDo we want to make that file public API?09:43
tristantlater, no09:46
tristantlater, we explicitly made `bst workspace list` dump machine readable YAML, in order to avoid making that local state file public API09:46
tlaterAh, right09:47
tlaterSo that use case is covered too, I'll close #209 then :)09:47
tristanNote that I pushed a fix today which adds *Since 1.2* to the docs for Element.prepare()09:47
tristantlater, just pointing it out, new public API should be documented as Since the next stable version09:48
* tlater didn't realize we did that09:48
tlaterMakes perfect sense though, thanks for pointing it out09:48
gitlab-br-botbuildstream: issue #209 ("Dont run configure commands more than once for incremental workspace builds") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/20909:50
tristantlater, so that means incremental builds for workspaces is DONE !09:52
tristanNice :)09:52
tlater\o/09:52
jjardontristan: juergbi see my comments at https://gitlab.com/BuildStream/buildstream/merge_requests/397#note_6858310810:09
juergbijjardon: ok, but I don't understand why you're requesting to merge this when it's completely broken10:10
juergbialso, https://gitlab.com/BuildStream/buildstream/badges/master/coverage.svg is not identical to https://gitlab.com/BuildStream/buildstream/badges/master/coverage.svg?job=coverage10:11
juergbithe latter is off even worse, though10:11
gitlab-br-botbuildstream: merge request (jmac/artifact-receive-profiling->master: WIP: Add artifact cache receive profiling domain and instructions.) #383 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/38310:11
* tlater wonders if this can be fixed by setting the regex to some variant of '\d+.\d+%'10:16
juergbiI would assume so10:16
NexusAre there currently plans for any further modifications to the workspace+artifact cache areas of bst? tristan juergbi10:17
juergbitlater: in the pipeline status it might still show the wrong percentage, though, because I don't see where you could specify which job to take it from. It should work for the badge with ?job=coverage, though10:17
tristanNexus, tlater is working on local artifact expiry, which I expect will drastically change things too10:17
juergbiNexus: there are artifact cache changes planned for remote execution10:18
tristanAlso that10:18
Nexustristan: Do you think it is worth me continuing with the "opening workspace using cached buildtrees" code at this time? It may end up having to be re-written if things change too much10:19
tlaterNexus: I thought that was on the edge of done?10:19
tlaterMy branch will take a while still, considering the concurrency issues I realized I had.10:20
tlaterAnd I think jennis isn't very far either10:20
Nexustlater: it is, but it looks like the cache key generation code was made private, which changes some things for me, and i wasn't sure if many more things like that might be happening10:20
tlaterThese kinds of conflicts should be very easy to resolve, don't think it will take you long enough for jennis' or my branches to affect you, so you should be looking at the final set of conflicts, save for refactoring work.10:21
tristanNexus, do not expect code to not change10:21
Nexuskk10:22
* Nexus will try to get this done asap to avoid the other branches10:26
gitlab-br-botbuildstream: merge request (jjardon/test_coverage->master: WIP: Add coverage badget) #397 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/39710:56
gitlab-br-botbuildstream: issue #350 ("Add plugin to generate system images") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/35011:14
tristanjjardon, I commented back on the issue, looks like my original regex actually *did* work: https://gitlab.com/BuildStream/buildstream/-/jobs/6275102311:20
tristanjuergbi, jjardon Notice that in the right hand side the coverage total is correctly reported11:20
tristanproblem is it does not show up on the pipeline page or in merge requests11:20
tristanso a piece is missing11:20
jjardontristan: ah, nice!11:20
tristanI mean, it's not really an improvement, because you *still* have to click on the "Coverage" job in order to see anything useful11:21
tristanBut, at least it's a step to the right direction, and we could probably use it for a badge if we specify the job=coverage thing11:22
tristanbut I'd really like to see it on the pipelines page and in merge requests11:22
juergbigitlab just broke11:26
tristanyeah :-/11:26
jjardontristan: I'd imagene the pipeline will use the expression you set in the UI only against the "coverage" job, if you have one. Seems It's not the case11:28
tristanjuergbi, I just streamlined the instantiation process, and have _loader.py using Element._stage_sources_at(), coincidentally, it fixes the workspace-on-junctions bug11:28
tristanjjardon, I think you are imagining that gitlab has some special case checking if a job is named "coverage"11:29
juergbitristan: nice11:29
tristanjjardon, instead there is a setting in the .gitlab-ci.yml which explicitly sets the coverage regex on a job; *I* expected it to assume that if you only have one regex set; it would assume that it's "the one for the whole pipeline"11:29
jjardonyeah, the docs are a bit vague and seems that would be the case11:30
tristanjjardon, both assumptions seem wrong though11:30
jjardontristan: indeed11:30
tristanI think we can go ahead and merge the commit which adds the regex to the coverage job11:31
tristanit's a step forward, and we wont forget that way11:31
jjardonagree11:31
tristanI'm going to remove this useless warning https://gitlab.com/BuildStream/buildstream/issues/36011:37
tristanunless anyone has some objection11:37
tristanI.e. currently, when we type `bst build foo.bst` and there is a workspace open on `bar.bst` that is not a dependency of `foo.bst`, BuildStream gives you a warning about all the open workspaces which will not be used in the current build plan11:38
tristanThis seems first of all, completely irrelevant information11:38
tristanSecond of all, it is worsened by being a warning (as if there was some cause to worry)11:38
tristanit weakens our warnings to have messages like this (i.e. people will take warnings less seriously if we say: WARNING: You happen to have pants on at the moment)11:39
* tlater always wondered why we wanted it11:40
tristantlater, I concur :)11:40
tristanI'm not sure, it's possible I asked for it, I can't recall11:41
tristanbut I've been seeing it too and thinking, why is this relevant to me ?11:41
tlaterI guess the idea was that someone might try and modify a build but not realize an element wasn't actually part of the pipeline11:41
tlaterBut I really don't think it's very useful to try and point that out11:42
gitlab-br-botbuildstream: merge request (jjardon/test_coverage->master: WIP: Add coverage badget) #397 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/39711:42
gitlab-br-botbuildstream: merge request (jjardon/test_coverage->master: WIP: Add coverage badget) #397 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/39711:45
tristantlater, right, the user could just as well notice the absence of "Workspace: ~/workspace" beside any elements in the heading11:45
tlaterWell, I don't think it's buildstream's business to autocorrect pipelines for the user anyway11:45
tlaterIf nothing changes they'll backtrace and realize they didn't include a library or something11:46
tlaterThe build won't take longer anyway, since all elements would be cached11:46
tlaterHrm, does anyone know what method is currently supposed to call `Element.__schedule_assemble()`? The buildqueue doesn't implement prepare(), so I'm wondering if it's perhaps expected to be called by `Element.status()`.11:50
gitlab-br-botbuildstream: merge request (tristan/instantiation-paths->master: Streamlining instantiation paths) #399 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/39911:50
gitlab-br-botbuildstream: merge request (jjardon/test_coverage->master: WIP: Add coverage badget) #397 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/39711:56
gitlab-br-botbuildstream: merge request (jjardon/test_coverage->master: WIP: Add coverage badget) #397 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/39712:04
NexusSo, i need some way of checking if the build-tree has been cached before. Previously, i was attempting to extract the artifact and returning either the path of the build tree of "None", however the change which throws an error if you attempt to extract a non-existant artifact, has made this no longer possible. An option that tlater came up with in our discussions was some kind of variable external to12:06
Nexusthe cache which contains the status of the cached build tree (existant or not). Does anyone object to this method/have any other ideas of how this could be done?12:06
Nexustlater: did i put across your idea correctly?12:06
* tlater thinks so, but has no valuable input on the how bit12:16
Nexusi'm just hoping for no objections, i'll have to put some thought into how it would work12:17
tlaterNexus: If storing data outside the artifact is too hard you can store it in the artifact metadata12:18
tlaterOh, wait12:19
tlaterNexus: Your issue is that if there is no artifact, you can't tell if there's a build-tree inside the nonexistent artifact?12:19
Nexusthat gave me an idea...12:21
Nexuspossibly the same one12:21
*** valentind has quit IRC12:21
Nexusi wasn't checking if there was an artifact before trying to extract, i'd moved around the code and forgotten to move that too12:22
*** valentind has joined #buildstream12:22
tlaterNexus: If there is no artifact, then there is no cached build tree - you can solve your predicament with a simple try-catch; though, this won't solve the UX stuff we discussed.12:23
Nexusno, you're correct, that still needs to be addressed12:23
Nexusbut this fixes my immediate problem12:24
* tlater just wanted to keep Nexus from wasting time ;)12:24
Nexusso, assuming there are no objections to the external variable being stored, would you have time to sit down and discuss options?12:24
* tlater does, technically, but has no input beyond "Hm, would be nice if that was possible"12:25
tlaterUnless you have anything specific you're thinking about?12:26
Nexusare there any other examples of this kind of thing?12:26
gitlab-br-botbuildstream: merge request (tristan/instantiation-paths->master: Streamlining instantiation paths) #399 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/39912:26
tlaterNope, I don't think we've had to deal with this sort of thing before. There's the 'tainted' metadata, which is similar, but you still have to extract the artifact to see if it's tainted12:26
Nexustlater: what about something similar to the way that track works? Where it updates the element files?12:28
tlaterWould you like to add a flag to user-facing data that just buildstream should handle?12:28
* tlater thinks that's a poor idea12:29
tlaterWe could have something in .bst/workspaces.yml, or a similar file, or you could investigate how well ostree/tar support extracting a sub-directory of an artifact or somesuch12:29
tristantlater, good point, Element._schedule_assemble() should be moved down to Element.__schedule_assemble() in local private area12:29
tristantlater, I missed that in my refactor it seems12:30
tristantlater, to answer the question, it's resolved by the first calls to _update_state()12:30
tlaterOh, I didn't realize it wasn't properly private12:30
tlaterOk, ta, now to figure out why that isn't called then...12:31
tristantlater, _update_state() looks daunting in it's current form12:32
Nexusholy coverage, why do i have hundreds of coverage files?12:33
* tlater agrees, refactoring it will be poking in a hornet's nest12:33
tlaterNexus: You're running a test, they'll be cleaned up in a bit12:33
tristanbut it seems to be called appropriately if it's not cached, remotely cached, already scheduled to be assembled, or already assembled12:33
tlaterIf they aren't, you interrupted the tests at an unfortunate moment12:33
Nexusah i see12:34
tristanI think they are deleted automatically at the beginning of the next `./setup.py test` run12:36
tristanyou get one coverage file for each spawned process... which is a damn lot12:36
Nexusyup, the went away when my tests finished12:36
Nexustlater:  We could have something in .bst/workspaces.yml where's that?12:38
tlaterNexus: In the project directory after a workspace was opened. Obviously that particular file isn't suitable, but we could have another12:39
tlaterI'm not sure I like that though.12:39
tristanjjardon, w00t! https://gitlab.com/BuildStream/buildstream/merge_requests/39712:39
tristanjjardon, the coverage showed up in the merge request this time12:39
tristanjjardon, how about I just unmark WIP and merge now ?12:39
* tlater suggests discussing that particular option with someone with a better eye on how we manage state12:39
tristangitlab has been acting up today12:39
tlatertristan: Oh, nice :)12:40
* tristan has been having trouble with getting pipelines to build here: https://gitlab.com/BuildStream/buildstream/merge_requests/39912:40
tristantlater, yeah I know ! I feel like, asking in #gitlab caused them to fix the bug quickly and restart some services12:40
tristanI mean, it's the *same patch* for the coverage regex, but it was only showing up in the job before12:41
tlaterHeh, pretty quick on their end then :)12:41
tristanWell, it seems pretty grass roots hehe12:41
tristanOh, embarrassing bug, lets fix and push to production right now and hope nobody noticed12:42
tristanto be fair, the service has been more stable this year12:42
tlaterDon't jynx it, we're only like a third in so far12:42
Nexustlater: so, could i, in theory, create a "cached-build-tree" file in the .bst directory containing the path (or lack there of) of the cached build tree for that project and pull that into the code instead of extracting the artifact?12:42
tlaterNexus: I'd just keep track of whether a specific artifact *has* one, as the exact path might not be as hard as you'd like, and can be figured out at runtime.12:43
tlaterBut yes, technically that's possible and would be using what buildstream has in place for this sort of scenario12:44
tlaterI'm not sure the slight improvement in UX is worth the overhead of keeping track of another one of these files though12:44
tlaterI'm also not sure how robust it would be, or whether we'd like to keep a manifest of all local artifacts in a project-specific file12:45
tlaterPerhaps we'd prefer adding actual manifest to the artifact cache?12:46
tlaterBut now we need to start thinking about whether this will be useful outside of this one specific case, and I don't think I have the foresight to actually judge that12:47
tlaterjuergbi might have some comments considering his work on CAS12:47
gitlab-br-botbuildstream: issue #292 ("bst doesn't use an open workspace for a junction") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/29212:49
gitlab-br-botbuildstream: merge request (tristan/instantiation-paths->master: Streamlining instantiation paths) #399 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/39912:49
gitlab-br-botbuildstream: merge request (tristan/unused-workspace-warning->master: _pipeline.py: Stop printing warning when a build plan does not use some existing workspaces) #400 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40012:52
tlaterNexus: I think the better option is to read into ostree to see if it supports extracting *just* the build tree, or reporting whether that directory exists (I'm pretty sure ostree can do these things). Then we simply accept that tar has slightly worse UX, as we're in the process of obsoleting that anyway.12:54
Nexusi quite liked the idea of a cache manifest, it could be very useful in the future12:54
tlaterNexus: If you'd like to go that route, figure out if it will be useful first, but I don't think I can help with that ;)12:56
tristantlater, it's totally possible to extract just a part of a tarball12:58
tristantlater, we actually do that in our `tar` plugin12:58
tristaneven with wildcard search support12:58
tlatertristan: I thought you still had to first decompress it?12:58
tristanAh yeah, that at least indeed12:59
tristanbut that you can do in memory and avoid needless disk scratching, at least12:59
juergbiI don't think we should do any build tree caching with the tar backend13:05
tristanjuergbi, there are two sides of that coin... On the one hand, you are right; we're going to squash both caches with one cache to rule them all so that makes sense13:06
tristanjuergbi, on the other hand; if it's going to introduce conditional code paths to the rest of BuildStream, caching the build tree everywhere will be more desirable13:07
tristaneven if it's inefficient with the tar backend, it's certainly should not constitute a lot of custom code I think13:07
juergbiright, essentially I would minimize the effort spent with regards to the tar cache13:07
tristanexactly, i.e. it would be fine if for now we just extract everything into the extract/ directory, and not have custom stuff in the artifact caches for it13:08
tristannot sure how much that would slow things down, but it would seem saner to do that first, replace with common artifact cache, and then optimize after13:09
juergbiyes, that could be the simplest route13:10
juergbiNexus: what would be the content and purpose of the cache manifest?13:11
juergbiwe will likely require an external manifest to support incremental non-workspace builds when the element sources have been updated13:12
Nexusjust containing a list of everything in the cache13:12
juergbihowever, that feature is still quite a bit off13:12
juergbieverything in the artifact cache? what information would be in the manifest that can't easily be retrieved directly from the artifact cache?13:13
Nexusnothing, but you wouldn't have to extract it first, which can be slow13:14
juergbiOSTree should allow listing contents without actually extracting anything13:14
juergbiwe probably don't have code for this in buildstream but it would definitely be better to add support for this instead of adding an external manifest that would duplicate information13:15
Nexusif that's possible, then i agree it would be better13:15
Nexusand it would allow me to check if i have a cached build tree before accessing the cache13:15
tlaterNexus: It's most definitely possible, look at the pygobject-introspection docs for OSTree :)13:15
tlaterNexus: https://lazka.github.io/pgi-docs/OSTree-1.0/index.html13:16
juergbiNexus: you could take a look at tlater's diff() method that already does something like this13:16
juergbiexcept it uses the information for a particular purpose13:16
tlaterIt's a bit sad that tar performance will get even worse, but I don't think this is really a use case people on UNIX platforms have anyway.13:17
tlaterOr let's say non-Linux for clarity here13:18
*** bethw has joined #buildstream13:18
juergbiif caching build trees is optional in general, people on non-Linux could easily disable it for the time being13:18
juergbiand hopefully we can replace it soon enough13:19
gitlab-br-botbuildstream: issue #360 ("Stop printing unused workspaces warning") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/36013:24
gitlab-br-botbuildstream: issue #360 ("Stop printing unused workspaces warning") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/36013:24
gitlab-br-botbuildstream: merge request (tristan/unused-workspace-warning->master: _pipeline.py: Stop printing warning when a build plan does not use some existing workspaces) #400 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/40013:24
*** solid_black_ has joined #buildstream13:28
gitlab-br-botbuildstream: merge request (tristan/radon->master: .gitlab-ci.yml: Perform some python code analysis with radon) #401 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40113:29
gitlab-br-botbuildstream: merge request (tristan/radon->master: .gitlab-ci.yml: Perform some python code analysis with radon) #401 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40113:31
*** solid_black_ has quit IRC13:33
*** solid_black_ has joined #buildstream13:35
*** solid_black_ has quit IRC13:38
*** solid_black_ has joined #buildstream13:39
*** solid_black_ has quit IRC13:48
gitlab-br-botbuildstream: merge request (jjardon/test_coverage->master: Add coverage badget) #397 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/39713:51
gitlab-br-botbuildstream: merge request (ps-update-readme->master: Update README.rst with more detail) #402 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40213:52
gitlab-br-botbuildstream: merge request (ps-update-readme->master: Update README.rst with more detail) #402 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40213:52
jjardontristan: \o/ thanks to you and juergbi :)13:53
gitlab-br-botbuildstream: merge request (ps-update-readme->master: Update README.rst with more detail) #402 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40213:53
gitlab-br-botbuildstream: merge request (ps-update-readme->master: Update README.rst with more detail) #402 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40213:54
gitlab-br-botbuildstream: merge request (jjardon/test_coverage->master: Add coverage badget) #397 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/39713:56
gitlab-br-botbuildstream: merge request (tristan/radon->master: .gitlab-ci.yml: Perform some python code analysis with radon) #401 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/40113:57
gitlab-br-botbuildstream: merge request (jjardon/test_coverage->master: Add coverage badget) #397 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/39713:58
*** tristan has quit IRC13:59
*** tristan has joined #buildstream14:05
tristanugh, such a bad day for gitlab /o\14:07
tristanjjardon, in other news; since we were enhancing the pipeline, notice the new job which just landed: https://gitlab.com/BuildStream/buildstream/pipelines/2057307114:08
tristanjuergbi, you can see that Element._update_state() gets the worst marks (an E) in Cyclomatic Complexity ;-)14:10
*** solid_black_ has joined #buildstream14:11
tristanand that we are currently < 10,000 lloc, with 24,638 loc, not bad marks all around14:11
gitlab-br-botbuildstream: merge request (ps-update-readme->master: Update README.rst with more detail) #402 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40214:12
gitlab-br-botbuildstream: merge request (jjardon/test_coverage->master: Add coverage badget) #397 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/39714:31
toscalixI was wondering if there is any comment to the metrics mail I sent a few days back14:56
tlaterNo wonder things break if I try to build the same element repeatedly... Curse you, concurrency!14:57
Nexuslol.14:59
tristantoscalix, I've been so tied up, I'll try to respond to that thread, as well as juergbi's remote execution proposal, first thing tomorrow15:03
tristantoscalix, in general I think we should certainly have strategies for observing these metrics; the technical scope of this is more blurry15:03
tristani.e. we want to avoid growing weird limbs and becoming some kind of CI framework, but we need to have answers for people who want to observe these metrics when using BuildStream in the context of their own CI15:04
toscalixnp, if you guys think the general approach is valid, I am willing to participate in how to move it down to execution15:04
toscalixif there are other indicators proposed, I am willing to evaluate them15:05
tristanjjardon, now that CI has run on master once successfully, https://gitlab.com/BuildStream/buildstream/ coverage badge is up to date :)15:06
tristan84.34% code coverage15:07
jjardon[m]I noticed :)15:07
tristanyeah, it was at 27% because it hadn't run on master yet :)15:07
jjardon[m]I wonder: even the badge is only trackinour coverage job, maybe we want to show the individual coverage in the other jobs as well ?15:08
tristanI dont understand15:08
jmactoscalix: I have some comments which I'll send shortly15:08
tristanAhhh jjardon[m] you dont understand :)15:08
tristanjjardon[m], the coverage job is what calculates the accumulative coverage of all runs; so it is the right one to show15:09
toscalixjmac: great15:09
jjardontristan: I know15:09
jjardonhttps://gitlab.com/BuildStream/buildstream/pipelines/20576676/builds15:09
tristanjjardon[m], for instance, once we implement a BSD platform, I'm not really interested to know what the coverage was separately for each version of BSD under test; and I do *not* want gitlab to try to sum up the differences and think it's correct in assuming a total coverage for the pipeine15:10
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/34715:10
jjardontristan: I suggesting to show how much coverage in "tests-debian-8" only15:10
tristanjjardon, it's important that we use the coverage.py aggregator to properly aggregate the results15:10
jjardontristan: ok15:10
tristanYeah, but I'm not really interested in that statistic; I do want to know that, after running on every platform, how much coverage we got15:11
tristanjjardon, technically speaking, it would be possible to have each job show it's coverage, and that would not be harmful; but in the case of gitlab, it actually *is* harmful15:11
tristanbecause gitlab bakes it's own average from the collective coverages, so we'd get a distorted number that doesnt come from coverage.py's better aggregation15:12
tristanif that was not the case, I'd just say go ahead and have a blast :)15:12
tlaterAck, that should really be at least a toggleable thing :|15:13
tristantlater, or rather, the "Coverage for the pipeline" should be something which you should be able to have some control over; like deciding which job provides the total pipeline coverage15:17
* tristan was unable to find a tool that transforms radon json output into a pretty html file15:17
tristanthat could have been cool also, instead of just the text results15:18
jjardontristan: yeah, I will try to investigate if it's possible and if not I will open an issue in gitlab15:30
juergbijjardon, tristan: there already is https://gitlab.com/gitlab-org/gitlab-ce/issues/1940915:32
jjardonjuergbi: cheers15:33
* jjardon subscribes15:33
juergbiand there is https://gitlab.com/gitlab-org/gitlab-ee/issues/413 for the graph but in -ee...15:33
* tristan subscribes15:34
tristanyeah I dont like this approach of theirs15:34
tristanactually I dont want gitlab to understand coverage and make graphs15:34
tristanI want it to allow me to contribute to it's analytics with whatever data I want, and create my own badges to display on pipelines, etc15:35
gitlab-br-botbuildstream: merge request (ps-update-readme->master: Update README.rst with more detail) #402 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/40215:39
gitlab-br-botbuildstream: merge request (devcurmudgeon/buildstream-ps-update-readme->master: Update README.rst with more detail) #403 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40315:41
*** juergbi has quit IRC15:43
*** juergbi has joined #buildstream15:45
tlaterI'd just like to repeat this question here: <jmac> Is there any documentation on workspaces that I'm missing? I can't see any in the main docs15:49
tlaterSpecifically, do we ever explain what workspaces *are*?15:49
* tlater would open an issue but is too afraid he's not browsing the docs right15:50
gitlab-br-botbuildstream: merge request (328-support-for-downloading-sources-from-mirrors->master: WIP: Resolve "Support for downloading sources from mirrors") #404 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40415:59
gitlab-br-botbuildstream: merge request (devcurmudgeon/buildstream-ps-update-readme->master: Update README.rst with more detail) #403 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40316:10
gitlab-br-botbuildstream: merge request (jennis/136-expire-remote-cache-artifacts->master: WIP:136 expire remote cache artifacts) #364 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/36416:19
gitlab-br-botbuildstream: merge request (devcurmudgeon/buildstream-ps-update-readme->master: Update README.rst with more detail) #403 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40316:19
tristantlater, we very well might not; the parts of the documentation we do have are reference material, for which we have near 100% coverage of the yaml format and plugin facing API; we have yet to make proper user facing documentation16:21
tristantlater, there is a plan for that in place, which I thought jennis was going to take charge of, but it seems he doesnt have the time to invest16:21
tlaterAh, right, I suppose it does fall under the general improvement mantle16:22
tristantlater, in other words, there is an initial "big effort" which needs to be made for user facing docs, such that we set a proper precedent to follow and can after accept small patches more easily16:22
tristanright now there is not even a designated place for those docs to live, indeed16:23
jmacI find the doc folder a pretty good source for user-facing documentation16:24
tristanjmac, err, my head hurts16:29
tristanjmac, I've shared a google doc with you which explains the general plan16:31
tristanjmac, "dumping a whole lotta stuff into the doc/ dir and just sorting out style, consistency etc later", is not going to be an option16:32
jmacUnfortunately, I think that means I will not be able to contribute at all.16:32
tristanit should be easy once there is some structure in place and at least one example to follow as a template16:34
tristanbut dumping a whole lot of chicken scratch into the docs/ dir is getting off on the wrong foot16:34
NexusCould someone point me at a test that changes a project config var pls?16:39
tristanNexus, most tests use static project.conf added in the test directories, some of them modify project.conf inline16:43
tristanNexus, for instance in tests/frontend, they all share a common project / project.conf, and there is configure_project() defined in tests/frontend/__init__.py, which you can grep for in frontend tests16:44
Nexustristan: i'd like to change a confirg variable mid way through a test, is that possible?16:44
*** toscalix has quit IRC16:45
tristanNexus, ummm, yeah ?16:45
tristanNexus, every invocation of BuildStream will re-load the project.conf and elements, so you can test things where project data has changed in between invocations16:46
*** noisecell has quit IRC16:55
gitlab-br-botbuildstream: merge request (328-support-for-downloading-sources-from-mirrors->master: WIP: Resolve "Support for downloading sources from mirrors") #404 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40416:55
*** dominic has quit IRC16:56
gitlab-br-botbuildstream: merge request (devcurmudgeon/buildstream-ps-update-readme->master: Update README.rst with more detail) #403 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40316:58
gitlab-br-botbuildstream: merge request (jmac/artifact-receive-profiling->master: WIP: Add artifact cache receive profiling domain and instructions.) #383 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/38316:58
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/40517:07
gitlab-br-botbuildstream: merge request (328-support-for-downloading-sources-from-mirrors->master: WIP: Resolve "Support for downloading sources from mirrors") #404 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40417:11
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/40517:11
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/40517:12
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/40517:14
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/40517:18
gitlab-br-botbuildstream: issue #182 ("Closing non-existing workspace") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/18217:22
*** jonathanmaw has quit IRC17:39
*** cs_shadow has joined #buildstream18:22
*** bethw has quit IRC18:28
gitlab-br-botbuildstream: issue #362 ("Allow workspace commands to work on multiple elements") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/36222:11
gitlab-br-botbuildstream: merge request (reset-all-workspaces->master: Add option to reset multiple workspaces) #374 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/37422:13
*** zalupik has quit IRC23:38
*** zalupik has joined #buildstream23:38

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