IRC logs for #buildstream for Friday, 2019-01-25

*** benschubert has quit IRC00:58
*** nimish has joined #buildstream02:02
*** tristan has joined #buildstream02:52
*** nimish has quit IRC02:52
*** xjuan has quit IRC02:53
*** xjuan has joined #buildstream02:54
*** xjuan has quit IRC03:46
*** tristan has quit IRC05:33
doras[m]What is the meaning of "(>)" in split rules?08:50
*** toscalix has joined #buildstream09:00
juergbidoras[m]: that appends to the list of split rules, see https://docs.buildstream.build/format_intro.html#list-append09:02
doras[m]Thanks, juergbi.09:06
*** sambishop has joined #buildstream09:46
gitlab-br-botjennis closed issue #879 (Hidden commands are still shown within our documentation) on buildstream https://gitlab.com/BuildStream/buildstream/issues/87909:52
*** benschubert has joined #buildstream09:53
benschuberttristan: that seems good to me! I will update in the next day our internal setup with this and let you know :)09:53
benschubertI mean, let you know if other steps would be necessary09:54
*** raoul has joined #buildstream09:58
*** solid_black has joined #buildstream10:13
*** jonathanmaw has joined #buildstream10:18
doras[m]I don't get "filter". It includes unrelated stuff that appear to come from my filtered element's dependecies.10:18
jennisdoras[m], was this when you did a checkout?10:23
gitlab-br-botphildawson opened (was WIP) MR !1057 (phil/848-plugin-deprecation-warnings->master: plugin.py: Add API to allow plugins to raise deprecation warnings) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/105710:23
jennisby default, checkout will include runtime dependencies, you'll need to specify `--deps none`, if  you want to see exactly what that filter element's artifact contains10:24
*** bochecha has joined #buildstream10:27
doras[m]I see. Now it's... empty.10:28
*** lachlan has joined #buildstream10:29
doras[m]Strangely enough, '--deps none' always gives me empty directories.10:31
doras[m]... even for normal elements. I'm using buildstream version 1.2.3, if it matters.10:34
*** sambishop has quit IRC10:36
*** lachlan has quit IRC10:36
doras[m]Looks like 1.2.3 doesn't include this: https://gitlab.com/BuildStream/buildstream/commit/f89a8ab97bcd8431243624ecc9f1ac227e8559d710:45
doras[m]I'll try building the tip of 1.2 myself and see if it works.10:47
*** lachlan has joined #buildstream10:47
*** sambishop has joined #buildstream10:52
*** lachlan has quit IRC10:56
tpollardI'm trying to build builstream via buildstream-integration10:56
tpollardI have bst-external installed, but keep getting 'Failed to load Source plugin 'git_tag': The 'buildstream-external' distribution was not found and is required by the application'10:56
tpollardit's coming up under pip10:57
doras[m]I had to use pip3 specifically10:58
tpollarddoras[m]: ahh, that gem11:00
* tpollard can't wait for 2.7 to die11:00
tpollardty11:00
doras[m];)11:00
*** sambishop has quit IRC11:02
*** sambishop has joined #buildstream11:08
*** lachlan has joined #buildstream11:12
*** lachlan has quit IRC11:19
raoulrelated to the local cache discussion earlier, looking at my MR !1100 and talking to juergbi yesterday, it looks like moving the cache quota functions from the artifact cache into the CAS cache might be a good move.11:22
gitlab-br-botMR !1100: root cache directory https://gitlab.com/BuildStream/buildstream/merge_requests/110011:22
raoulit doesn't solve above issues, and wont take sources into account (or only staged ones with the source cache), but I think it's a sensible plan of action11:23
raoulI imagine tristan has thoughts on this but he doesn't seem to be around11:23
*** rdale has quit IRC11:28
*** lachlan has joined #buildstream11:36
*** lantw44_ has joined #buildstream11:42
*** lantw44_ has quit IRC11:43
*** lantw44_ has joined #buildstream11:49
*** lantw44_ has quit IRC11:49
*** rdale has joined #buildstream11:50
*** lantw44_ has joined #buildstream11:53
jennisdoras[m], I thought that fix was backported, did you manage to get this working?11:54
jennismhmm, backported but not released, so it seems?11:57
doras[m]Backported but not released, yes.11:58
doras[m]jennis, it does seem to work with the tip of bst-1.2.12:00
doras[m]However, my filter element still includes its dependencies with '--deps none'12:00
*** brlogger has joined #buildstream12:02
jennisTo be clear, your filter element build-depends on some other element, this element depends on another element, and you're seeing things that you know to belong to the artifact of the 'other' element within the filter element's artifact?12:05
doras[m]Yes. The "know to belong" part isn't certain. I do see unrelated build products.12:08
jennisand if you checkout (--deps none) the element which your filter build depends on, these files are not present?12:09
doras[m]Yes.12:11
jennisahh :/ jonathanmaw may have more of an idea regarding this, definitely sounds like a bug to me12:12
WSalmonjennis, phildawson i think i have resolved all the issues on https://gitlab.com/BuildStream/benchmarks/merge_requests/12 if you would like to take another look :D12:12
doras[m]jennis, jonathanmaw, I created an "empty" filter element which only build-depends on the other element without setting anything in "include" or "exclude" (I basically commented out the entire "config" part). Checking out this "empty" filter with '--deps none' creates a folder containing 1.2GB of files (basically its entire runtime?). When I check out the element my "empty" filter build-depends on with '--deps none', I get 57 MB of files12:25
doras[m]only containing that element's files.12:25
jennisright, because I've just tried to replicate this issue with an include, and I've not received any of the dependencies artifacts in the filter's artifact12:25
doras[m]jennis, which version of buildstream have you used?12:26
jennisbst-1.212:27
doras[m]Very odd. I guess there's another variable here.12:27
jennishttps://paste.gnome.org/pzgptn3xc12:27
doras[m]Hold on, I'll try this too.12:28
jennisSo I've basically taken a project from our examples there (tests/element/filter/basic/) and added in a 'base.bst' element which include.bst depends on12:29
*** alatiera has joined #buildstream12:32
jennisdoras[m], now, with an empty includes, I'm only checking out artifacts which are declared in the split rules (in this case, just foo and bar)12:34
doras[m]Exact same experience with your example, jennis. I'll try to modify it to be more similar to my setup and see if I can reproduce the issue.12:40
jjardonCan I have a review of https://gitlab.com/BuildStream/website/merge_requests/109 , please?12:40
jennisdoras[m], sure ok. Thanks!12:41
tpollardjjardon: I'd approve, but I don't have the ability12:42
*** lachlan has quit IRC12:46
*** lantw44 has quit IRC12:49
*** lantw44 has joined #buildstream12:50
*** raoul has quit IRC12:50
doras[m]jennis, I think I managed to reproduce it. https://pastebin.com/raw/iJatrAsr13:04
doras[m]The trick is giving same name to the split rule in base.bst and input.bst.13:05
doras[m]In this case, I used "foo".13:06
doras[m]The issue: "base-system" is included in the filter element but not in the element that it filters. In other words, the filter is not a subset of its "parent" like it's supposed to be.13:07
doras[m]Not sure if it means anything, but I also see the same result in ~/.cache/buildstream/artifacts/extract/bst-filter-test/output-include/<hash>/files13:22
juergbidoras[m]: runtime dependencies of the filtered element are indeed included14:00
juergbiyou could change the base.bst dependency in input.bst to 'type: build' to avoid that14:01
juergbiwould that work for you?14:01
doras[m]juergbi, but that makes a filter element not a subset of the element it filters. Doesn't it effectively turns the filtered element's runtime dependencies into a "build product" of the element? That makes no sense.14:11
doras[m]turn*14:11
*** nimish has joined #buildstream14:14
doras[m]My use case is filtering systemd to libsystemd like every distribution does to solve a cyclic dependency with dbus in the freedesktop sdk. I don't want to package all of systemd's runtime dependencies in libsystemd, and I also can't change systemd's runtime dependencies since it needs them to, well, run.14:16
juergbidoras[m]: won't you use a second filter element for the rest of systemd?14:19
juergbii.e., one that excludes libsystemd14:20
juergbiin that case you could specify the other runtime dependencies there14:20
juergbithat said, I'm not sure whether there is a use case for the current implementation that includes the runtime dependencies. don't remember any particular discussion about it14:21
doras[m]I could split it and I probably will, but unless I missed something, that doesn't change the fact that libsystemd would *be* "systemd plus all of its runtime dependencies", which in this case is the most of the freedesktop runtime.14:24
juergbiah, using unmodified systemd.bst from fdo-sdk, yes, that wouldn't work14:26
*** lachlan has joined #buildstream14:27
doras[m]A filter could, perhaps, inherit the runtime dependencies of its filtered element and make them its own runtime dependencies (probably only if it runtime-depends on its filterted element), but it really shouldn't consume them unconditionally.14:29
*** raoul has joined #buildstream14:29
juergbijonathanmaw: your proposal for the Filter element stated 'Only stages the direct build-dependency, skipping indirect dependencies' https://gitlab.com/BuildStream/buildstream/issues/214#note_5994731514:32
juergbihowever, the actual implementation includes indirect dependencies (runtime dependencies of the build dependency)14:32
juergbiwas this necessary for something or might this have been accidental?14:32
juergbisee discussion above with doras[m]14:32
juergbi`self.dependencies(Scope.BUILD)` includes runtime dependencies of build dependencies. maybe that wasn't clear when writing the code14:34
juergbirecurse=False would disable that14:34
jonathanmawjuergbi: if it's including indirect dependencies, then that's unintentional14:34
juergbiok, thanks for the info14:34
juergbidoras[m]: can you please file a bug? should be easy to fix14:34
doras[m]juergbi: sure. Thanks!14:35
juergbiyou can also try it yourself, using self.dependencies(Scope.BUILD, recurse=False) in filter.py:assemble()14:36
doras[m]I'll try it and send a pull request if it works.14:38
doras[m]Or... merge request. Gitlab.14:38
*** nimish has quit IRC14:49
*** nimish has joined #buildstream14:49
*** nimish has quit IRC14:54
*** nimish has joined #buildstream14:54
*** sambishop has quit IRC14:57
juergbithat would be great14:59
doras[m]juergbi: that did it! Thanks again. I'll open a MR.14:59
juergbi:)14:59
tpollardcs-shadow: I reworked the interactive option to use choice based off your feedback, does it seem ok to you? https://gitlab.com/BuildStream/buildstream/merge_requests/1050 Hoping to get this merged today15:03
cs-shadowtpollard: thanks! I'll have a look in just a bit15:04
tpollardcs-shadow: there's also the comment around the implementation/semantics of https://gitlab.com/BuildStream/buildstream/merge_requests/1024/ (obviously WIP, so won't be merging today!)15:04
tpollardcheers! :)15:04
doras[m]juergbi: will it require invalidation of cached filter elements to fix existing artifacts? If so, is there any method to force this from the source? Some kind of revision I can change?15:06
juergbidoras[m]: we should change get_unique_key()15:07
juergbimaybe add 'indirect-dependencies': False15:08
doras[m]Got it. I'll test it as well.15:12
*** sambishop has joined #buildstream15:15
abderrahim[m]juergbi: doras There is also BST_ARTIFACT_VERSION https://docs.buildstream.build/buildstream.element.html#buildstream.element.Element.BST_ARTIFACT_VERSION15:28
juergbiyes but that forces an invalidation of all artifacts15:28
juergbishouldn't use that for plugin-specific changes15:28
juergbiah, no15:29
juergbiI was thinking of core artifact version15:29
juergbiI forgot about the per-plugin version15:29
juergbiit doesn't appear to have been used by any plugins so far15:30
juergbibut we could indeed use it here, thanks for the reminder15:30
*** lantw44 has quit IRC15:35
*** lantw44 has joined #buildstream15:35
gitlab-br-botphildawson opened (was WIP) MR !1075 (phil/plugin-testing-api->master: Expose basic api for testing external plugins.) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/107515:35
*** lantw44 has quit IRC15:36
WSalmonjuergbi, who has merge rights to benchmarking? jennis and phildawson have done quite a long review of my mr https://gitlab.com/BuildStream/benchmarks/merge_requests/12 and I now need to work out who to butter up to actualy get it merged15:36
*** lantw44 has joined #buildstream15:36
WSalmonjonathanmaw, lachlan ^ you both seem to have MR rights, could you take a look?15:40
* jonathanmaw peeks15:41
WSalmonta15:42
jennisdoras[m], apologies I was preoccupied, looks like you (and juergbi) have solved the issue?15:43
*** sambishop has quit IRC15:46
*** tristan has joined #buildstream15:49
*** sambishop has joined #buildstream15:51
jonathanmawWSalmon: looks good to me.15:51
jonathanmawlachlan: does the benchmark use bstgen's command-line to do the benchmarks?15:51
lachlanNot at the minute, but they are in the pipeline - so to speak15:54
*** nimish has quit IRC15:54
* jonathanmaw hits the big merge button15:54
*** nimish has joined #buildstream15:55
gitlab-br-botjonathanmaw opened MR !1108 (jonathan/wsl-tests->master: Add pre-merge tests that use a WSL runner) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/110816:04
jjardontristan: Hey, Is there a chance to make another 1.2.x release soonish? there are several in the bst-1.2 branch It would be nice they were in a official release16:10
*** ChanServ sets mode: +o tristan16:18
tristanjjardon, Good point, lets make one and a 1.3.1 together, at the gathering, after the session which decides the number of the dev release16:18
tristanjjardon, I wanted to make one before christmas :-S16:18
jjardontristan: coolio; Christmas present :)16:19
abderrahim[m]there are also some fixes in master I'd like to see in a 1.2.x release16:23
gitlab-br-botjennis opened (was WIP) MR !1088 (jennis/add_new_profile_topic->master: Add new 'scheduler' and 'load-selection' profiling topics) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/108816:27
*** nimish has quit IRC16:30
*** nimish has joined #buildstream16:30
jjardonabderrahim[m]: do you have a list somewhere?16:31
abderrahim[m]no16:31
abderrahim[m],16:32
abderrahim[m]bu16:32
abderrahim[m]t16:32
abderrahim[m]btu16:32
abderrahim[m]but I can make one16:32
abderrahim[m]sorry16:32
jjardonabderrahim[m]: we have a gathering next week, so I think that feedback would be very valuable16:32
jjardontristan: Does the gathering have a wiki?16:33
laurencejjardon, so far only a page on the wiki for registration, would you like a page where you can add more, like notes and so on?16:33
laurencehappy to set it up16:33
laurencei suspect we'll use google docs on the day on something similar for collaborative note taking16:34
jjardonabderrahim[m]: maybe add the list at https://wiki.gnome.org/Projects/BuildStream/Events/Gathering-20190116:34
Kinnisonlaurence: either that, or an etherpad or similar yeah16:34
jjardonor send an email to the list16:34
jjardonKinnison: when is the last day for the performance results you asked in the list? I was thinking on generate them over the weekend16:36
Kinnisonjjardon: Ideally yesterday, but I'll be happy to receive more data to process on Monday16:36
* Kinnison has been processing the results yesterday and today, but will have plenty to do on Monday too anyway16:37
Kinnison:-D16:37
jjardonKinnison: oh, sorry about that. I will try to have something by Monday16:40
jjardonKinnison: did anyone from GNOME/freedesktop-sdk send something to you already?16:40
Kinnisonjjardon: valentind did16:40
Kinnisonjjardon: He has a monster computer :-D16:40
jjardonvalentind: did you use your personal computer or the runners?16:40
jjardonKinnison: we have several monster computers, yes :)16:41
KinnisonUnless the runners are water-cooled Xeons with 24G of RAM and 1T NVMe systems, he used a personal computer16:41
jjardonwow16:42
jjardonok then :)16:42
abderrahim[m]maybe I should do with a modest computer :)16:42
Kinnisonjjardon: Smeone else used a similar NVMe, but with 64G of ram and a Ryzen threadripper16:43
Kinnisonjjardon: terrifyingly powerful system16:43
Kinnisonabderrahim[m]: the more results, the merrier16:43
jjardonKinnison: 48 Xeon cores /  251G RAM here :)16:45
tpollardunless you're highly parallelised, a desktop threadripper is probably faster16:50
*** nimish has quit IRC16:50
jonathanmawI've got a MR for adding pre-merge tests that use WSL (!1108). Since the worker is a windows VM, I don't have any docker config to generate the workers, and instead have scripts for creating and configuring a VM stored in a personal repo (https://gitlab.com/jonathanmaw/wsl-setup-script). Should I store these scripts somewhere on the buildstream project?16:50
*** nimish has joined #buildstream16:50
jjardontpollard: probably, yes. But those servers are running several builds at the same time so maybe the difference is not so much16:51
*** toscalix has quit IRC16:52
jjardon2 x Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz16:52
jjardonI guess we need to test :)16:52
* tpollard requests a 2950X16:54
lachlanre: benchmarking, I'm restricting runs on the main laptop to master branch only (this prevents results being compromised by dev branch pushes). I'm also putting restrictions in on merges - and these will now require approval (with some consideration of what is actually running on the benchmarking at the time).17:01
*** tpollard has quit IRC17:02
Kinnisonjjardon: phwoar17:06
gitlab-br-botcs-shadow approved MR !1050 (tpollard/829->master: Download buildtrees on demand for bst shell --use-buildtree) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/105017:09
gitlab-br-botcs-shadow closed MR !1050 (tpollard/829->master: Download buildtrees on demand for bst shell --use-buildtree) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/105017:09
gitlab-br-botcs-shadow reopened MR !1050 (tpollard/829->master: Download buildtrees on demand for bst shell --use-buildtree) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/105017:10
*** nimish has quit IRC17:20
*** nimish has joined #buildstream17:21
*** sambishop has quit IRC17:23
*** solid_black has quit IRC17:26
*** nimish has quit IRC17:46
*** nimish has joined #buildstream17:46
*** nimish has joined #buildstream17:46
*** nimish has joined #buildstream17:47
*** tristan has quit IRC17:49
*** bochecha has quit IRC17:50
gitlab-br-botjennis merged MR !1088 (jennis/add_new_profile_topic->master: Add new 'scheduler' and 'load-selection' profiling topics) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/108817:59
*** tristan has joined #buildstream18:03
*** ChanServ sets mode: +o tristan18:03
tristanoh damn18:03
tristanAnyone else looking at this https://gitlab.com/BuildStream/buildstream/pipelines ?18:03
*** rdale has quit IRC18:04
tristanThey are taking longer and longer...18:04
cs-shadowdid all our caches disappear?18:05
tristanNo I've noticed something... ssssstrangeeeeeee18:06
tristanThis is a recent job from today, took 62 min (the pipeline took like 83 min) https://gitlab.com/BuildStream/buildstream/-/jobs/15131294718:07
tristanhmmm nope, the trend is not matching up18:09
tristanYesterday 1 hour pipeline https://gitlab.com/BuildStream/buildstream/-/jobs/15131294718:09
tristancs-shadow, What I was looking at was exactly the cache, and what I suspect is that it is somehow growing18:09
tristanI cannot explain numbers like 32G and 21G used /cache partition18:10
tristanmaybe there are other things on /cache than just our cache, cause ours should be only a couple GB18:11
tristanBoth tests show the slowest test is test_autotools_build at around 3min, that definitely hit the cache and did not download an sdk with ostree18:13
tristanthe file counts of cache look constant so the cache is not randomly growing18:14
*** nimish has quit IRC18:17
cs-shadowhmm, do you know if there's a way to browse the cache in the same way one can browse the job artifacts in GitLab?18:17
*** nimish has joined #buildstream18:17
tristanThe recent debian 9 from today which completed in 62min "1288 passed, 3 skipped in 2557.41 seconds", which is 42min18:18
*** jonathanmaw has quit IRC18:19
tristanThe test itself is taking almost twice as long as it should, and the gitlab setup/upload overhead is up to 20min18:19
tristancs-shadow, you can always push a branch with a test .gitlab-ci.yml18:19
tristancs-shadow, other than that I don't know how to look at it18:20
cs-shadowfair enough, i'll try that18:20
tristanjjardon, ^^^^^^^^ any ideas ?18:20
tristanlemme look at a successful pipeline from like 1 or 2 weeks ago, when it was running better18:21
tristanthe first < 30min pipeline I can find18:21
*** lachlan has quit IRC18:21
cs-shadowtristan: https://gitlab.com/BuildStream/buildstream/pipelines/4394896118:21
*** nimish has quit IRC18:22
*** nimish has joined #buildstream18:23
tristancs-shadow, for the win at https://gitlab.com/BuildStream/buildstream/-/jobs/14967301318:23
tristanwell, 33min18:24
tristannice you found 2818:24
tristanoh yeah18:24
tristancs-shadow, "cache/: found 44565 matching files" vs "cache/: found 588166 matching files"18:25
tristancs-shadow, I started with this suspicion and it keeps coming back :)18:26
tristanWe must have broken something with tox, causing something accumulative to end up in the cache18:26
tristanIt might my change to the artifacts directory in integration mode18:26
tristanmust be that18:27
*** raoul has quit IRC18:27
tristancs-shadow, I'm pretty sure 6286d8209 is at the root of this18:27
tristanI wonder why it's not getting deleted properly18:27
*** bochecha has joined #buildstream18:29
gitlab-br-bottristanvb opened MR !1109 (tristan/gitlab-test->master: .gitlab-ci.yml: Adding some diagnostics) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/110918:34
tristanoops18:34
cs-shadowheh, I just created https://gitlab.com/BuildStream/buildstream/commits/channdan/test too, couldn't even spell my own name correct18:35
cs-shadowit's Friday I guess18:35
tristanSo !1106 makes it so that the cache quota is treated as `min(quota, available_space - headroom(2GB))`, issues a warning if the quota doesnt fit in the available space, and an error if the quota exceeds total storage space on the volume18:42
gitlab-br-botMR !1106: _artifactcache.py: Don't require the quota to be available on disk. https://gitlab.com/BuildStream/buildstream/merge_requests/110618:42
tristanQuestion: I guess we should make the headroom configurable with this right ?18:42
tristancache: { headroom: 2G } in buildstream.conf, with default of quota staying at infinity18:43
tristanjuergbi, cs-shadow, any thoughts anyone ?18:43
* tristan supposes we can go ahead with it for now as it is solving problems, leave configurability separate18:48
tristanOh were "downloading the mega huge cache" https://gitlab.com/BuildStream/buildstream/-/jobs/15136343218:49
cs-shadowtristan: we have these things in the cache: https://gitlab.com/BuildStream/buildstream/-/jobs/15136342618:50
cs-shadow(as many as GitLab's CI can show in one job)18:50
tristanwat ?!18:52
tristancs-shadow, any idea what /builds/BuildStream/buildstream/cache/integration-cache/artifacts/extract itself comes from ?18:52
cs-shadowi meant the GitLab cache. I did a `find cache` whose output is more than what GitLab's CI can show (I should've thought about that )18:53
tristanOh18:53
tristanyeah but I think I got it18:53
tristanfirst of all, a change like the one I did in the mentioned commit... requires that we manually zap the gitlab cache18:54
tristanBecause normally the artifacts/ directory is removed at the end of the run, but this time artifacts/ was not18:54
tristanor, no... that doesnt make any sense does it ?18:54
tristanthe artifacts/ directory should not be in the cache because conftest.py creates/removes it every session18:55
tristanBut then, maybe something is hardcoding the artifacts directory ?18:55
cs-shadowshould we only cache `artifacts/sources` ?18:55
cs-shadowsorry i meant `cache/soruces`18:56
tristanyeah18:56
tristancs-shadow, that is already the case, though18:56
tristanhttps://gitlab.com/BuildStream/buildstream/blob/master/conftest.py#L6918:57
tristanconftest.py is a pytest recognized file which inserts some global things into the test environment, the integration_cache() is a session wide fixture, which creates and removes the artifacts directory18:58
cs-shadowwe definitely have artifacts in the cache based on my find command18:59
tristanyes19:00
tristanOk, so lets run a tox with --integration locally, and see if it leaks anything behind19:00
tristanBut I doubt it19:01
tristanI think we need to zap that cache and have it redownload the first time around, and the problem will be solved19:01
tristanBut... I wonder if bst-1.2 and master share the same caches19:01
tristanIf gitlab is smart enough to recognize the difference, or if we need to namespace the caches with more than CI_JOB_NAME19:02
*** nimish has quit IRC19:02
tristansharing of caches across disparate branches could make a nasty test environment19:03
*** nimish has joined #buildstream19:03
cs-shadowi would expect that the caches are shared as I am not sure if GitLab differentiates between bst-1.2 and any other feature branch. And we do see that feature branch share cache with master19:04
tristanyeah19:04
tristanI'm wondering how we could tune that19:05
tristanWe would want to use the closest recognized origin branch point, like if we recognized 1.2 and master, anything branched off of anything branched off of 1.2 or master would use that cache respectively19:06
cs-shadowif you only want this behavior for special release branches, we can simply make a note of changing the cache key for each release branch19:06
tristanbut that's not really a thing19:06
cs-shadowin their `.gitlab-ci.yml`19:06
tristanRight, we could have a magic number19:06
tristanThat's not a bad idea19:06
cs-shadowor the name of the relase :)19:06
tristanHaha yeah okay19:07
tristanstill this doesn't make much sense19:08
tristanIf 1.2 and master are both cleaning up their artifact directories after tests, then neither of them would negatively pollute the cache19:09
tristanthey just share the same sources, which is all we really cache19:09
*** nimish has quit IRC19:11
*** nimish has joined #buildstream19:18
*** tristan has quit IRC19:35
*** nimish has quit IRC19:38
*** nimish has joined #buildstream19:38
*** toscalix has joined #buildstream19:58
valentindjjardon for the buildstream performance benchmark I used my computer.20:03
valentindAnd yes it is a watercooled Xeon, 24GB with 1TB NVMe.20:04
*** nimish has quit IRC20:08
*** nimish has joined #buildstream20:09
*** nimish has quit IRC20:26
*** tristan has joined #buildstream20:43
*** ChanServ sets mode: +o tristan20:49
tristanThis shows that after having run a pipeline which gets rid of `cache/artifacts`, the next run starts with a clean cache again: https://gitlab.com/BuildStream/buildstream/-/jobs/15140653020:49
tristanMaybe just having run that pipeline will be enough20:49
*** bochecha has quit IRC20:57
*** bochecha has joined #buildstream20:58
tristanI suspect that running a pipeline on this https://gitlab.com/BuildStream/buildstream/commit/2d8fe599cdcb7987da24751d8710121a11e04ab2 is what initially triggered this leakage into the cache20:59
tristanWell, we learned something - anything the tests leave behind unintentionally will accumulate in the cache, and slow things down over time21:00
tristan(or anything inside the INTEGRATION_CACHE directory)21:00
valentindtristan, I recently change the size of the builders because we were getting out of disk.21:02
valentindIs that related?21:02
valentindThe integration cache was big.21:02
tristanvalentind, yeah, I am talking about the cause of the integration cache being big21:05
tristanvalentind, there is a cache/integration-cache/artifacts directory in the cache which should not be there21:05
tristanThis one's been creating it's cache to upload for 20min now: https://gitlab.com/BuildStream/buildstream/-/jobs/15136409921:06
gitlab-br-bottristanvb closed issue #869 (Local cache size calculation is wrong) on buildstream https://gitlab.com/BuildStream/buildstream/issues/86921:18
gitlab-br-bottristanvb closed issue #733 (quota config parameter should be the maximum amount of cache allowed, not the minimum) on buildstream https://gitlab.com/BuildStream/buildstream/issues/73321:18
gitlab-br-bottristanvb merged MR !1106 (tristan/cache-quota-max-only->master: _artifactcache.py: Don't require the quota to be available on disk.) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/110621:18
*** justice has joined #buildstream22:07
tristanWith the cache size fixed by force removal of the artifacts directory, we're down to 48min https://gitlab.com/BuildStream/buildstream/-/jobs/15141733322:08
tristanit helped, but there is more at work here22:08
tristanSo looking back at the good old days: https://gitlab.com/BuildStream/buildstream/-/jobs/148923732 test_autotools_build takes 104 seconds, now it takes 216 seconds: https://gitlab.com/BuildStream/buildstream/-/jobs/15141733322:18
tristanAs it is a test which spends most of it's time in I/O copying files rather than processing elements, I think it's safe to say that the remainder of the performance drop is due to I/O performance on gitlab22:19
tristanor digitalocean22:19
tristanvalentind, I think we can reduce the size of the builders again, unless we need big disks for the nightly tests22:23
tristanvalentind, after running a pipeline which does `rm -rf cache/integration-cache/artifacts` a bunch of times, seems that the surprise ton of artifacts has gone away22:23
doras[m]CONTRIBUTING.rst suggested that I'd ask for access to the gitlab repo for submitting patches. I'd appreciate it if anyone could grant me access. My username is doraskayo.22:45
tristandoras[m], Done :)23:02
doras[m]tristan: thanks :)23:04
*** justice has quit IRC23:31
*** justice has joined #buildstream23:34
gitlab-br-botdoraskayo opened issue #883 (Filter element unintentionally stages its indirect runtime dependencies recursively) on buildstream https://gitlab.com/BuildStream/buildstream/issues/88323:48
*** justice has quit IRC23:51
cs-shadowtristan: can you please have  a look at !1107 again when you a chance?23:55
gitlab-br-botMR !1107: Generate man pages using tox & update them https://gitlab.com/BuildStream/buildstream/merge_requests/110723:55
cs-shadow*get a chance23:55

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