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

*** Prince781 has joined #buildstream01:06
*** Prince781 has quit IRC01:18
*** jsgrant has joined #buildstream02:25
*** jsgrant has quit IRC02:29
*** jsgrant has joined #buildstream02:30
*** leopi has quit IRC02:42
*** leopi has joined #buildstream02:43
*** leopi has quit IRC02:47
*** leopi has joined #buildstream02:47
*** leopi has quit IRC02:52
*** leopi has joined #buildstream02:58
*** leopi has quit IRC03:43
*** jsgrant has quit IRC04:09
*** jsgrant has joined #buildstream04:10
*** leopi has joined #buildstream04:12
*** leopi has quit IRC05:05
*** slaf has quit IRC05:16
*** slaf has joined #buildstream05:18
*** slaf has joined #buildstream05:18
*** slaf has joined #buildstream05:19
*** slaf has joined #buildstream05:19
*** slaf has joined #buildstream05:19
*** slaf has joined #buildstream05:19
*** slaf has joined #buildstream05:20
*** slaf has joined #buildstream05:20
*** slaf has joined #buildstream05:20
*** slaf has joined #buildstream05:20
*** jsgrant has quit IRC05:24
*** jsgrant has joined #buildstream05:28
*** tristan has joined #buildstream05:30
*** noisecell has joined #buildstream05:49
*** leopi has joined #buildstream06:00
*** jsgrant has quit IRC06:04
*** jsgrant has joined #buildstream06:05
*** noisecell has quit IRC06:09
*** ernestask has joined #buildstream06:25
*** jsgrant has quit IRC06:27
*** noisecell has joined #buildstream07:37
gitlab-br-botbuildstream: merge request (Move-_list_dir_contents-to-__init__->master: Move _list_dir_contents to __init__.py) #538 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/53807:45
*** coldtom has joined #buildstream07:53
gitlab-br-botbuildstream: merge request (relative_workspaces->master: WIP: Patch for issue #191 support relative workspaces) #504 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/50407:58
gitlab-br-botbuildstream: merge request (relative_workspaces->master: WIP: Patch for issue #191 support relative workspaces) #504 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/50408:00
gitlab-br-botbuildstream: merge request (relative_workspaces->master: WIP: Patch for issue #191 support relative workspaces) #504 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/50408:00
*** leopi has quit IRC08:32
*** jennis has joined #buildstream08:33
tristanjuergbi, around ?08:33
juergbiyes08:34
tristanjuergbi, are you ready to land CAS ?08:35
*** jonathanmaw has joined #buildstream08:36
*** noisecell has quit IRC08:36
juergbitristan: almost there. one test case and the proto rename is missing08:37
juergbishould be done by the end of the day08:37
tristanGreat08:37
tristantlater, around ?08:38
juergbithere is one further point pending, which is removing the abstract ArtifactCache class. however, looking into that I think just merging the two classes is not ideal, so I'd like to think about this some more and thus merge without that08:39
tlatertristan: I am now08:40
tristanjuergbi, hrmmm understood... but here's the thing: We want to land ideally our four targets very quickly in master before landing so as to open up 1.3.x development ASAP08:40
*** bethw has joined #buildstream08:41
tristanjuergbi, ideally architectural changes which you make to that after branching `bst-1.2` should also be backported to `bst-1.2`, this is strictly in the interest of making it easy enough to backport any related bugfixes moving forward08:41
tristanjuergbi, that said, I'm not particularly picky about that detail08:42
*** noisecell has joined #buildstream08:42
*** jennis has quit IRC08:42
tristantlater, are you able to focus on the local cache expiry stuff ?08:43
juergbiyes, but I think we can manage backports in that area08:43
*** jennis has joined #buildstream08:43
*** leopi has joined #buildstream08:43
juergbiI prefer merging it as is and then backport the refactoring than refactor now and be unhappy with the structure later08:43
tristantlater, or rather, could we go over what problems still exist with the branch together, and see how close we are to land it ?08:43
tristanjuergbi, understood, yeah that's what I mean... if there are changes like that which land post branching, it would be best to backport those changes08:44
juergbisure, I will take care of that08:44
*** tiago has joined #buildstream08:45
tlatertristan: I don't think I'll land it today, but we can go through it - I wanted to during guadec anyway, see if you're happy with the new new new approach ;)08:45
tristantlater, yeah I didnt think so today either... I'm kinda hoping for tomorrow though, just lets see if I'm overly optimistic :)08:46
*** jennis has quit IRC08:46
tristantlater, going over juergbi's mega CAS branch at GUADEC... I *think* that it will not significantly conflict with your branch08:47
tristanit may add some API to the artifact cache, though08:47
tlaterGood, I'm getting pretty tired of rebasing this thing...08:47
tristanso there is the part about calculating size and such which I suppose may need some changes08:48
tlaterThe actual delete method will probably also change08:48
tlaterBut those are fairly simple changes :)08:49
*** tiago has quit IRC08:49
tristanYeah... the greater ordeal; scheduling the job and all that, should really be quite unaffected08:49
noisecelltristan, tlater, is this part of https://gitlab.com/BuildStream/buildstream/issues/416 or something similar which is going to be re-architecture later?08:52
*** tiago has joined #buildstream08:52
tlaternoisecell: It's completely separate from the artifact cache expiry, if that's what you're asking08:53
tlaterThe `bst artifact delete` function might use some API created in this branch, but it should otherwise be unrelated08:53
tristantlater, I was about to just give it a run through, but it would probably make more sense to discuss the "new new new approach" at a high level08:56
noisecelltlater, ok, although, given that is is "artifact management", I would suggest to manage in the same class/pluging.... are you expiring by date and size, how this is going to be configurable?08:56
tlaternoisecell: Currently expiration happens based on how recently an artifact has been used08:57
tristannoisecell, it is not really possible to encapsulate expiration in a class really, this needs to touch a lot of areas at once08:58
noisecelltristan, tlater, ok, you know the code better than me08:58
tristanand yeah, we want to expire based on artifact *usage* dates, the value you are interested in there is most probably a creation date08:59
*** tpollard has joined #buildstream08:59
*** jennis has joined #buildstream08:59
tlatertristan: Waiting for gitlab to load to have a look at my changes again, but essentially, the logic of when to schedule jobs has been moved to a new 'Resources' class09:00
tlaterWhen I want to schedule a job, I first check with the resources class if everything the job wants is available/exclusive stuff is not in use09:01
tlaterThe Queues decide what the jobs need09:01
tlaterAnd all the scheduler does in this regard anymore is ask whether it's allowed to launch a certain job09:01
tlaterOh, and it no has an API to launch cleanup jobs, which pull/build invoke after a build finishes.09:02
*** jennis has quit IRC09:02
*** jennis has joined #buildstream09:02
tristanAh09:04
tristantlater, ok so we dont launch a separate job anymore for the cleanup ?09:05
tlaterWe still do, but the scheduler now is in control of that09:05
tlaterJust a minor thing so I don't have to duplicate this across pull/build, really.09:05
*** jennis has quit IRC09:05
tristanUmmm, ok I'm a bit confused what that means... are you saying that upon completion of a pull/build we inform the scheduler whether a cleanup is needed, or smth ?09:06
tlaterWe ask the scheduler to please make sure our cache isn't overflowing09:06
tristanok, sounds reasonable... I guess the queue does this ?09:06
tlaterYes09:06
tristangood, I want to avoid elements calling into the scheduler and keep call paths happening in a single direction, makes things easier to reason about :)09:07
tristanasides from that, have you run any reasonably large builds against this change ?09:08
tlaterNot yet09:08
tristanok, as I can see the CI is not passing right now... is that a big deal or a minor detail ?09:09
tlaterI think I forgot to commit a file... I certainly had it passing locally at some point, just trying to get it to fit in the history.09:09
tristanok so lets throw up a branch right away on freedesktop-sdk for this09:10
tlaterA separate branch? Wouldn't it be enough to just build freedesktop-sdk locally?09:10
tristantlater, here's what I'll do right away... I'm going to branch your branch, and bump the BST_ARTIFACT_VERSION as a test09:10
tristanthen I'll create a freedesktop-sdk branch which builds this test branch09:11
tristan(or builds *using* this test branch)09:11
tristantlater, building locally would also be good yeah, but if I can kick that off right away we might find stuff earlier09:12
tlaterOk - I'll try to get the branch back in working shape for now.09:12
tristanyeah I think you may be missing an __init__.py in tests somewhere looking at the CI failure09:13
tristanit's one of those annoying import failures09:13
tlaterI think I'm actually missing the whole resources file somehow09:13
tristanor maybe the resources.py class is actually missing yeah09:13
tlaterHm, damn, I was working on a different laptop09:15
tlaterI might have to go grab that laptop...09:15
tristantlater, ok so I guess I'll call off my test then :)09:17
tristanhaving that file would be a first step...09:17
* tristan thought at first only the CI was failing, but without that file, nothing will work09:18
tlaterYep, rather stupid mistake, sorry. It might bee in an old version of the branch, too, checking there first.09:19
tlatergrr, gitlab, stop highlighting my syntax and show me the changes :|09:22
tlaterYes! It was in a commit from a day before I started mucking with my history!09:28
tristanvalentind, so in one of our BoFs, you raised a point that you would prefer to not use project options to declare different ways to build something - I was a bit impatient to talk about that at the time, it's a subject that has been churned a lot09:36
tristanvalentind, but it's better if you understand where we are coming from :)09:36
valentindtristan, I was thinking of making the VM as a separate project and select the systemd option for the SDK through the junction.09:37
tristanvalentind, so anyway I'd like to shed some light on that if I can.... one thing which comes to mind is when I proposed "flavors" to solve this problem in baserock: https://listmaster.pepperfish.net/pipermail/baserock-dev-baserock.org/2015-November/013337.html09:38
valentindtristan, One of the case I wondered would be, what if you want to build a VM image with systemd that contains flatpak with a preseeded freedesktop image (without systemd) so that flatpak works out of the box.09:39
tristanvalentind, in general one of the biggest pains we had, when trying to maintain a core OS + a genivi baseline system + a Qt5 platform + a GNOME system + an openstack cloud system....09:39
tristanvalentind, is that every time one of the higher level projects needed "something" to be done differently, a compile option on some common module... then every reverse dependency of that "chunk" (or "element" in bst-speak)... needed also to be duplicated09:40
valentindtristan, also I was thinking of using include feature for example. The point is always to have a reference implementation. But have the ability to tweak it. But we should always be clear what is the reference.09:40
* paulsherwood is thinking, now tristan has mentioned baserock, we maybe need to establish ybd => baserock definitions => convert => bst files => bst as a CI/CD pipeline so we can compare results for a while09:41
tristanvalentind, basically, after seeing how intensely duplicated things can get, we rather want to encourage minimization, and not have to define an element twice for the same build; conditionals is intended to buy us this09:43
tristanvalentind, that said; the original idea of "variants" had a concept of elements declaring what configuration they want from their dependencies; this API mitigates your concern that someone needs to know the options they want to use to build a given output; unfortunatly that approach didnt work because it's severely non-performant09:44
tristanSo my suggestion is that, we try to explore ways to make this easier to follow; it could be that there is some middle ground which would allow a "target" to declare it's desired options, or have some project configuration to assist the user, I'm not sure09:45
valentindtristan, Gentoo has a similar feature. They call it "use".09:46
tristanvalentind, this is something we very intentionally tried to reject09:46
tiagoI was thinking in giving a shot at https://gitlab.com/BuildStream/buildstream/issues/263. Has anyone has opinions regarding whether this should be a separate subcommand or an option of `bst checkout`09:46
tristanvalentind, the problem with the gentoo USE flags approach, is that it promotes the declaration of options on a module-by-module basis09:46
*** rdale has joined #buildstream09:47
tiagoAlso should the compression format be configurable? The most efficient compression format for Linux won't probably work out of the box in OSX and Windows09:47
tristanvalentind, if you structure a project *that* way, then you have a combinatorial explosion of possible configurations which cannot all be tested (and which are not all interesting to deploy, either)09:47
valentindtristan, sure options should not be declared by elements.09:48
tlatertiago: I think ssssam[m]'s aim was to dump a tar stream to stdout which you can then do whatever you want with - no reason to implement different compression methods09:48
tristanvalentind, so instead, we rather the project have a *few* options, based on which some modules may compile differently; allowing one to dramatically reduce the options to only the ones you are using09:48
rdaleis there a way to purge the buildstream artifact cache of out of date artifacts?09:48
tlaterIt should probably be an option to checkout - though I wonder if we should just dump a tarfile instead. Printing to stdout strikes me as counterintuitive.09:49
tristanrdale, not yet; tlater is working on automatic expiry / local artifact cache quota... which we are trying to land in the next days09:49
rdaleok thanks no problem09:50
tlaterrdale: Feel free to follow https://gitlab.com/buildstream/buildstream/merge_requests/347 for updates!09:50
rdaleok09:50
tiagoWhat about if the directory argument is not given, bst checkout generates a tar stream. Maybe a bit magic though09:50
tristanrdale, a `bst artifact <foo> ...` commands for manipulating artifacts are also being thought of and discussed... around here: https://gitlab.com/BuildStream/buildstream/issues/416#note_8359582709:50
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:51
tlatertiago: I like that better, but it doesn't mix well with what checkout currently does09:51
ssssam[m]i was imagining `bst checkout --tar` which would write a tar stream to stdout09:52
gitlab-br-botbuildstream: merge request (jmac/virtual_directories->master: WIP: Abstract directory class and filesystem-backed implementation) #445 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/44509:52
tlaterssssam[m]: Any reason why you want it to be written to stdout?09:53
tristantlater, I have a reason09:53
tristantlater, basically, a tar stream can be passed to a compression tool or whatever the user might want before round tripping on disk and without growing more features on the BuildStream side, is one...09:54
tristantlater, generally interoperability09:54
tristanOne of the bigger arguments is that we'd really like to patch ostree to accept commits from stdin09:55
tristantlater, ostree *already* accepts committing from a tarball09:55
ssssam[m]yeah, a tar stream can also be piped straight into `docker import` for example09:55
tristanthis way we can do: bst checkout foo.bst --tar | ostree commit -m "This is the commit !"09:55
tristanright, or docker09:56
tlaterHrm, I dislike what it means for the UI09:56
tlaterWe already have a few people complaining about verbosity, who'd like the default to be checking out into a directory with the same name as the element09:56
tristanshouldnt need to scratch the disk for these things, and BuildStream CLI should not have to grow hard coded features for these things either09:56
tiagoThat isn't exactly a checkout of the artifact. Hence why I asked about separate subcommand09:56
*** bochecha has joined #buildstream09:57
tristantlater, I think we can have our cake and eat it too in some way, for instance if we want a default mode of operation without specifying --directory, we can still have a separate `--tar` option09:59
tlaterThat seems like it would be confusing. I can imagine myself going "neat, a tar output flag" and accidentally freeze my terminal dumping a 2G tarfile...10:00
ssssam[m]that's the UNIX philosophy though tlater10:00
tristantlater, a unixy way of expressing it would also be to specify `-` as the output location, which is usually taken to mean stdout or stdin, depending10:00
tiagoSIGINT to the rescue10:00
*** jennis has joined #buildstream10:00
tlaterAh, I forgot about '-'10:01
tlaterYeah, that's neater :)10:01
tristanI'm not sure most people will find that intuitive, even if I do10:01
tlaterI'd just dislike the default to be dumping to stdout - this always annoys me in other CLI tools10:02
tlater(Although I do know that technically that's the unix way)10:03
ssssam[m]you have to opt in to typing --tar, though10:04
ssssam[m]if `bst checkout` wrote binary data to stdout by default, i'd find it annoying10:04
ssssam[m]but to discover the --tar option you have to have read some kind of manual, and the manual should clearly state "write tar data to stdout"10:05
tlaterYep, and now I find it annoying that `bst checkout --tar` does something different than `bst checkout`10:05
tlaterBut if `bst checkout -` and `bst checkout --tar -` dump to stdout that does everything quite intuitively IMO10:05
ssssam[m]what would `bst checkout -` do ?10:06
tlaterDump the files in the checkout to stdout - probably not particularly useful, but at least we stay consistent.10:06
gitlab-br-botbuildstream: issue #475 ("Track local files and patches") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/47510:06
tiagoReiterating my point, I see checking out an artefact and archiving it as two distinct actions, and thus they should be two different subcommands. The '-' is used in replacement of passing filenames, but what checkout does is to create a directory tree10:06
tlaterHm, I suppose there's no real way to dump a directory10:07
ssssam[m]the standard way is to create a tarfile, indeed10:07
tristantiago, sorry i also skimmed over that, but I really disagree; checking out extracts the data of an artifact; whether you do that in a directory or a tarfile or tar stream I think is an option10:12
tristanthe data you are checking out is the same, and is technically more correct using the proposed --tar option10:12
tristanusing the --directory option will always be fragile in comparison10:13
tristanssssam[m], tlater after looking at these options, my personal vote would be a `--tar` option with a filename argument, and specifying a `-` filename for `--tar` puts it in stdout10:13
tristanfrom a UX perspective10:14
tristanTo illustrate why --directory is fragile: Imagine you are checking out a linux system build as a regular user on a windows machine/filesystem... it wont be possible to give you all the ownsership bits and extended fs attributes etc with `--directory`10:16
rdalewhat forces the bare git repos under buildstream/sources/git to be updated, so the when a build element corresponding to the repo is built, the up to date branch will be fetched - is that what the '--track-all' build option does?10:33
juergbirdale: yes, bst track (tracking without building) or bst build --track* is used for this10:35
rdaleok thanks10:35
gitlab-br-botbuildstream: merge request (328-support-for-downloading-sources-from-mirrors->master: Resolve "Support for downloading sources from mirrors") #404 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40410:43
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/34710:59
tlatertristan: Ok, I think the branch is back in a working state11:03
tlaterThere are two failing tests, but I've deferred fixing those until post-juergbi's branch11:03
tlaterHis branch will make that easier/obsolete :)11:03
gitlab-br-botbuildstream: merge request (valentindavid/331_include->master: WIP: Add support for include in project.conf) #471 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/47111:08
jonathanmawtristan: I've read your "unblocking feature branches" E-mail and am trying to figure out how it applies to my feature branch https://gitlab.com/BuildStream/buildstream/merge_requests/404 . Do I understand correctly that the new rules for what needs review come into force once the bst-1.2 branch has been made?11:17
tristanjonathanmaw, subtle difference here; while the new rules do apply immediately, master is not open for feature development except for a few features (the 4 features we discussed in the BoF)11:27
tristanjonathanmaw, master will be open for 1.3.x material by wednesday, whether we are able to land those features by then or not, though11:27
tristantlater, ok great ! lets at least try this against freedesktop-sdk11:29
tlaterHas the workspace format changed again since I started, or why would you need a separate branch for this?11:30
tristaneh ?11:30
tristanworkspace ? I dont see how this is related11:30
tlaterYou mentioned you wanted to branch a branch for the test11:30
tristanRight, there are 2 branches for the test11:30
tlaterI think the only versioned format is workspaces?11:30
tristanA.) A branch based on your branch which bumps BST_CORE_ARTIFACT_VERSION... ensuring that we trigger a full rebuild for the test11:31
tristanB.) A branch of freedesktop-sdk which simply points the buildstream version to the branch created, so that a build runs on gitlab11:32
tristantlater, just basically a hack to test it, you have another idea ?11:32
tlaterAh, no, nevermind11:32
tristanI mean, of course running it locally helps too11:32
tlaterI didn't realize we'd have to change artifact versions11:32
tristanwell, it's just a trick :)11:32
tlaters/have to/want to/11:33
tristantlater, your branch doesnt cause a need for it, of course11:33
tristanso we wouldnt merge that :)11:33
tlaterYep, I get it now :)11:33
jonathanmawtristan: ok, so I should wait until wednesday to try and get my feature branch merged11:36
jonathanmawthough since my other branch, https://gitlab.com/BuildStream/buildstream/merge_requests/528, is bugfixing, not features, I can still merge that11:37
tristanjonathanmaw, that's exactly right :)11:38
tristanWe might pull in some other features if they are not dangerous, e.g. it would be nice to get Ed's new `remote` plugin into 1.211:39
*** solid_black has joined #buildstream11:41
*** solid_black has left #buildstream11:43
alatieraIs it possible to set the bst cache to another path? My ssd is running out of space and I got a 1tb hdd sitting there11:44
albfan[m]alatiera: XDG_CACHE_HOME. I do for same use case as you11:46
alatieraalbfan: I guess I would have to alias bst to XDG_CACHE_HOME="foo/bar" bst then :P11:47
alatierathough I was hoping for a cofig key11:48
tristanalatiera, that works, but I would recommend setting both of the `artifactdir` and `builddir` in a ~/.config/buildstream.conf file11:48
albfan[m]alatiera: I launch that way to test gnome-build-meta11:48
tristanalatiera, if you have downloaded a lot of git repos and tarballs, you would keep them that way11:48
tristanonly as a matter of reusing the source cache directory11:49
alatieratristan: exactly what I was looking for, thanks a lot!11:49
alatieraalbfan: I am playing around with gnome-build-meta too atm11:50
tristanalatiera, this may help: http://buildstream.gitlab.io/buildstream/using_config.html#configuration-file11:50
alatieraalbfan: trying to see if we could purge all the cross-distro CI's and just have a reproducible bst job11:50
tristanalatiera, note that it is actually important to have the builddir and artifactdir on the same partition (we should probably only have a single configuration for those)11:50
tristanbecause otherwise hardlinks will fallback to copies, which is a real pain11:51
alatieratristan: acknowledged, thanks!11:52
albfan[m]alatiera: nice!11:52
tristantlater, ok so this is running now... https://gitlab.com/freedesktop-sdk/freedesktop-sdk/pipelines/2584007612:00
tristantlater, I've created the "testing/local-cache-expiry" branch in both repos, and the freedesktop-sdk one refers to the symbolic branch instead of a commit sha12:00
tristantlater, So it should be possible to like, just rebase BuildStream's "testing/local-cache-expiry" against your branch and manually trigger a pipeline on freedesktop-sdk to re-trigger the test12:01
*** leopi has quit IRC12:05
tlatertristan: Thanks!12:14
tristanweird https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/jobs/8200238012:15
tristanjjardon, are you aware of that issue ? looks like freedesktop-sdk builds fail while GPG verifying an ostree download12:16
tristanwith... too many open files12:16
tlatertristan: If not, perhaps we're spawning more jobs than we should do, or something of that sort12:18
tlaterSeems very weird, though12:18
tlaterHmm, all other fetches seem to run fine though.12:20
tristanLooks like it failed for both x86 builds... I re-triggered x86_6412:22
tristantlater, also looking at the arm build: https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/jobs/82002386, I'm seeing a lot of cache cleanup jobs... I think12:23
tristane.g. [00:00:00][][] SUCCESS cache_size.280.log12:24
tristantlater, they seem to be happening in series, like after every pull, even if the pull did not pull anything12:24
tlatertristan: Not cleanup jobs12:24
tristanCache usage calculation jobs ?12:25
tlaterThose jobs trigger if we suspect that we have too much data in the cache12:25
tlaterSince pull jobs have no way of reporting how much data they may have added, they will always trigger one currently - perhaps that's something to optimize though12:25
tlaterYeah, it's a lot of them...12:25
tristanSeems to be a lot of them, anyway I think we can improve this after12:26
tristanI dont like seeing that many of them in the log though hehe12:26
tlaterYep, this will definitely need to be optimized12:26
tristansignal noise ratio not great12:26
tlaterI should just disable log messages for these jobs in general.12:26
tlaterPerhaps keep them only for actual cleanup jobs12:27
*** leopi has joined #buildstream12:28
tristantlater, it sounds reasonable to not have the start/success messages here, anyway a failure/bug should still appear in the log12:28
tlaterOh, yeah :S12:29
tristantlater, but I dont want to block on that12:29
tristantlater, better that you also build freedesktop-sdk with the branch12:29
tristanand I'll also try launching a build overnight here12:29
tristansee what happens12:29
tristanI'll do it with gnome-build-meta and build epiphany or smth12:30
tlaterEugh, this poor laptop really needs more ram12:34
tristanI usually manage to squeeze a build into about 7GB :)12:39
tristanpeaking around webkit12:39
tristantlater, I think this means that it passed with a retry: https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/jobs/82010341 ... since it's now building, it must have downloaded the SDK it uses12:44
tristanI think it's quite unrelated to your branch anyway12:44
tlaterHmm12:44
tlaterThat's scary12:44
tristantlater, well, I think it demonstrates that GPGME could be more fault tolerant ?12:45
tlaterHmm, I suppose if we were launching too many jobs we'd see it in some other form as well12:46
tristanBuilds can fail for lack of RAM or over parallelization as well yeah12:46
tristan(over parallelization usually lending to requiring more RAM)12:47
tlaterI was moreso thinking along the lines of scheduling the same job many times over :)12:47
tristanbut I'm pretty stumped about too many files, there should be the same amount of files in the SDK both times you try to verify it12:47
tristanand the limit on open files as I understand is a per-process limit12:47
tlaterOh, alright, that is even stranger then12:47
tlaterBut does seem unrelated to my changes.12:48
tlaterPerhaps I'm paranoid, but I'll steel keep an eye on this in local builds.12:48
*** tristan has quit IRC12:53
*** tristan has joined #buildstream13:01
tristantlater, a start would be to not trigger the cache size check thing in the case that a Pull job completes with the skip condition13:08
tristantlater, i.e., a pull job that did not pull anything after all13:08
tlaterYep, that's definitely something that needs to happen13:08
tristanI'm pretty sure I'm seeing these jobs happen regardless13:09
tristanafter that's done it will be reduced quite a bit13:09
tlaterOnce I get my history in shape I'll get to fixing that :)13:09
tlaterI really need to get better at this history thing...13:09
tristantlater, this is a pretty huge branch so... in that case I usually like to float preparational changes which are good for master up to the beginning of the branch, apply them separately and consequently remove some noise from the branch13:11
tlaterHm, I'm already doing that. The problem is that I've essentially reworked the feature again, which means the changes are intertwined between commits.13:11
tristantlater, also, lets focus on having every commit pass it's tests rather than making everything nice and separate; if we have a couple of mega commits in this one, it's not a huge deal I think13:11
tristansometimes I setup a separate branch and use `git reset` and just restage things in that case13:12
tlaterThat might well be a good option here.13:12
tristanseparate branch is key when doing git reset :)13:13
tlaterYeah, I can see it being hard to figure out what happened with no history at all13:14
*** leopi has quit IRC13:32
*** jcampbell has joined #buildstream13:39
gitlab-br-botbuildstream: merge request (valentindavid/331_include->master: WIP: Add support for include in project.conf) #471 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/47113:44
*** noisecell has quit IRC13:55
gitlab-br-botbuildstream: merge request (138-aborting-bst-push-command-causes-stack-trace-3->master: WIP: Resolve "aborting bst push command causes stack trace") #514 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/51414:03
*** noisecell has joined #buildstream14:04
*** leopi has joined #buildstream14:05
gitlab-br-botbuildstream: merge request (juerg/googlecas->master: WIP: Remote Execution CAS-based artifact cache) #337 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/33714:33
tpollardis anyone using buildstream natively on an ubuntu host?14:53
finnjmac ^^14:53
jmacI am14:53
tpollardI'm currently re-purposing an old build machine & was going to put 18.04 on it14:54
tpollard& then noticed it's not under the install from source section14:54
jmacI believe the instructions are identical to Debian 914:55
tpollardI suspected so, ta jmac14:55
jmacI don't remember having to do anything special, but if you find any problems, please report them14:55
jmacAlso if you get it running we should add a note that it's the same as Debian14:55
noisecelltpollard, there is also a merge request with the ubuntu information: https://gitlab.com/BuildStream/buildstream/merge_requests/525/diffs14:57
jmacNice one noisecell & Phil14:58
jmacAlthough Ubuntu 17.04 is already EOL so that needs updating14:59
noisecellhttps://gitlab.com/BuildStream/buildstream/merge_requests/525/diffs?commit_id=e74f891cbfb7ec1e971f56499a6a2f41a9aeb57f -- I think this are the instructions for >=17.10 so 18.04 should be the same14:59
noisecelltpollard, ^^14:59
jmacYeah, it does say "17.04 or higher" but referencing 17.04 seems dated somehow15:00
*** finn has quit IRC15:02
gitlab-br-botbuildstream: merge request (425-add-a-deps-flag-to-bst-checkout->master: WIP: Resolve "Add a `--deps` flag to `bst checkout`") #544 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/54415:07
gitlab-br-botbuildstream: merge request (425-add-a-deps-flag-to-bst-checkout->master: WIP: Resolve "Add a `--deps` flag to `bst checkout`") #544 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/54415:09
gitlab-br-botbuildstream: merge request (add_flag_to_checkout->master: Add a `--deps` flag to `bst checkout`) #545 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/54515:13
NexusPlease could someone review !545 for me please?15:14
* skullman is having a read15:15
gitlab-br-botbuildstream: merge request (add_flag_to_checkout->master: Add a `--deps` flag to `bst checkout`) #545 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/54515:17
*** leopi has quit IRC15:22
jmacLooks good in that it'll fix #425 but I'm not clear on why you'd want an element without its runtime dependencies15:23
* skullman recalls from discussion elsewhere that it was for applications which there were already guarantees that the element's files would be binary compatible with where it goes after it has been checked out15:25
skullmannot sure if I've explained that sufficiently15:26
jmacYes, that makes sense15:26
tlaterI wonder if this should be tristate15:27
tlaterNo dependencies, runtime dependencies, all dependencies15:27
gitlab-br-botbuildstream: merge request (add_flag_to_checkout->master: Add a `--deps` flag to `bst checkout`) #545 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/54515:29
gitlab-br-botbuildstream: merge request (add_flag_to_checkout->master: Add a `--deps` flag to `bst checkout`) #545 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/54515:29
Nexusgeneral thoughts on an if-else assert vs assert os.path.exists(filename) == (foo == "bar")15:31
Nexus?15:31
jmacI find the if-else version clearer15:31
skullmanhas the benefit of the line number letting you know which bit failed without the more detailed assert deconstruction15:32
*** cs_shadow has joined #buildstream15:37
*** Kinnison has joined #buildstream15:38
Nexusok, i'll leave that comment open for now until i can get some feedback off'f either juergbi or tristan15:38
Nexusotherwise, should be ready for merge15:39
Nexusunless tlater wants to REEEEALLY push for his tristate15:39
Nexusbut i think he just likes things having trista in them15:39
tlaterHeh15:39
tlaterGive me a minute to ponder why I wanted this feature again...15:40
juergbiI think the if-else is slightly easier to understand but I'm fine with either, no strong opinion15:41
*** bochecha has quit IRC15:41
tlaterYeah, I don't think we need a tristate either15:42
tlaterI don't really see a use case15:43
juergbi(my comment was just about the assert, not about tristate)15:43
juergbiI can't think of a use case for including build-only dependencies in the checkout15:44
juergbihowever, maybe we should actually have 'run' and 'none' instead of 'all' and 'none' for consistency15:45
juergbi(consistency with bst show)15:45
tlater+115:46
gitlab-br-botbuildstream: merge request (jonathan/fix-filter->master: Jonathan/fix filter) #528 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/52815:49
*** leopi has joined #buildstream15:53
jonathanmawtristan: My bugfix branch for filter elements has extended as far as changes to the command-line interface, since it was that or leave some unpleasant surprises for anyone tracking through the code15:53
jonathanmawi.e. `bst track`'s '--deps' arg uses 'redirect' instead of 'none' (with the default changed, and 'none' being changed to 'redirect' to maintain backward compatibility)15:54
jonathanmawIs that still acceptable as a bugfix, or should I make sure that the public-facing API is unchanged?15:55
juergbijonathanmaw: oh, as per my first comment, I tend to be against exposing this in the CLI15:57
juergbiI thought the latest rename was just about the internal enum15:57
jonathanmawjuergbi: ah, okay15:58
juergbisorry for the confusino15:58
juergbi*confusion15:58
jonathanmawI'll do the sneaky substitution of "none" to "redirect"15:58
tiagoIs it possible to run only a single test in the test suite?15:59
jonathanmawand raise an issue of whether that should be changed15:59
juergbitiago: yes, e.g., ./setup.py test --addopts tests/frontend/push.py::test_artifact_too_large15:59
tiagoaahh, thanks15:59
*** finn has joined #buildstream15:59
juergbiyou can also use -k to specify tests by string keyword expressions16:01
juergbihttps://docs.pytest.org/en/latest/usage.html16:01
tlatertiago: Unfortunately the -k expression currently also triggers pylint16:02
tlaterAnd running explicitly only a single test *won't* run pylint16:02
tlaterWhich is a bit annoying...16:02
gitlab-br-botbuildstream: merge request (jonathan/fix-filter->master: Jonathan/fix filter) #528 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/52816:12
gitlab-br-botbuildstream: merge request (juerg/googlecas->master: WIP: Remote Execution CAS-based artifact cache) #337 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/33716:25
tiagoIs there any test that captures the stdout16:31
tiagoah, nevermind16:33
*** finn_ has joined #buildstream16:34
*** finn has quit IRC16:34
gitlab-br-botbuildstream: merge request (jonathan/fix-filter->master: Jonathan/fix filter) #528 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/52816:45
*** bethw has quit IRC16:50
*** coldtom has quit IRC16:53
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/34716:56
tiagoThe Cli class used for tests is not coupling very well when the output is binary data16:57
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/34716:57
*** jonathanmaw has quit IRC17:00
*** finn_ is now known as finn17:08
*** finn has quit IRC17:16
*** finn has joined #buildstream17:16
*** finn has quit IRC17:37
*** finn has joined #buildstream17:37
gitlab-br-botbuildstream: merge request (valentindavid/331_include->master: WIP: Add support for include in project.conf) #471 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/47117:38
*** leopi has quit IRC17:40
*** leopi has joined #buildstream17:43
*** finn has quit IRC17:45
*** ernestask has quit IRC17:59
*** cs_shadow has quit IRC18:03
*** leopi has quit IRC18:23
gitlab-br-botbuildstream: merge request (valentindavid/331_include->master: WIP: Add support for include in project.conf) #471 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/47118:27
*** cs_shadow has joined #buildstream19:08
*** tristan has quit IRC20:32
*** Prince781 has joined #buildstream23:12

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