IRC logs for #buildstream for Thursday, 2018-07-26

*** lannister has joined #buildstream03:30
*** leopi has joined #buildstream04:06
*** leopi has quit IRC04:28
*** leopi has joined #buildstream05:09
*** tristan has joined #buildstream05:54
*** mohan43u has quit IRC06:23
*** mohan43u has joined #buildstream06:23
*** WSalmon has quit IRC06:36
*** ernestask has joined #buildstream06:59
*** tristan has quit IRC07:14
*** leopi has quit IRC07:15
*** leopi has joined #buildstream07:16
*** toscalix has joined #buildstream07:25
*** bochecha has joined #buildstream07:26
*** qinusty has joined #buildstream08:07
*** WSalmon has joined #buildstream08:08
*** tristan has joined #buildstream08:17
*** Phil has joined #buildstream08:30
gitlab-br-botbuildstream: merge request (Qinusty/397->master: Modify retry behaviour to be opt-in on exceptions during job processing) #559 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55908:33
tiagogomestristan normally cli tools are that verbose by default… A system integrator is probably more interested in tracking progress than viewing the commands executed08:36
tiagogomesAlso bear in mind that in case of necessity, one can view the commands executed at a particular step by checking bst files (and the defaults perhaps)08:37
tristantiagogomes, you know... I'm a bit ambivalent on this point :)08:41
tristanSince it's UI, it's not an API break really to change the default of verbose, but to change it requires at least a proposal to the ML08:42
tristantiagogomes, certainly though; we need to fix the UI to honor the setting, I think the STATUS messages after all the churn we had, do not honor the verbosity setting and print regardless08:42
* qinusty always wonders what people mean when they say ML08:43
tristanmailing list08:43
qinustythanks :)08:43
tristannp :)08:44
tiagogomesThe commands executed are also part of the artifact log. So there's more places check these08:45
tristantiagogomes, I'm not disagreeing with you :)08:46
tristanreally, I also enjoy having a mode where only the START/[SUCCESS/FAIL]/ERROR messages are printed08:46
tiagogomesok :)08:47
tristanand am not particularly picky about whether it is default, I tend to agree with you it should not be, but iirc others disagreed at the time08:47
tristanbut if we propose that change we could probably get the default changed too08:47
tristantiagogomes, I feel that mode would be even more interesting if we had some progress sugar in the status too, e.g. see todays comment here: https://gitlab.com/BuildStream/buildstream/issues/49908:49
qinustytristan: do you have thoughts on https://gitlab.com/BuildStream/buildstream/issues/355?08:52
tiagogomes#499 would be nice. Back in the days or morph I think I was looking for doing some that for git, but it was not easily doable :( Things might have changed meanwhile though08:55
tristanqinusty, commented08:58
tristantiagogomes, note, I just tested it out, the regression I was suspicious about did not happen09:00
tristantiagogomes, I am however seeing this sad regression: https://gitlab.com/BuildStream/buildstream/issues/50709:02
tristanugh09:02
tristani.e. the regression I suspected was STATUS messages printed regardless; confirmation: STATUS messages are NOT printed when verbosity is disabled, so this did not regress09:03
tristanSTART/[SUCCESS/FAIL]/INFO/WARNING/ERROR messages are still printed09:03
tristanAnd yeah, nod; definitely not every kind of task is going to be able to support progress; it would be great if we could do it for git09:05
WSalmonKinnison, tpollard and myself have added notes to https://etherpad.gnome.org/p/BST__DS's_Documentation_notes and i am about to tidy up and submit a patch for the uncontroversial low hanging fruit as noted in the etherpad could a more experienced bst hand please add some notes to this etherpad for the bullet points without added notes.09:05
*** jonathanmaw has joined #buildstream09:09
Kinnisontristan: If you get a moment, !561 has been updated by tpollard and is waiting for you to double-check he's addressed your points.  Nexus has reviewed and approved it, so it should hopefully be quick for you.09:12
tristanKinnison, ah that one crossed my mind indeed, wanted to ping him and make sure that was well understood09:15
tristanI'll check it out now should be pretty quick09:15
Kinnisontristan: Cool, any feedback is useful as tpollard spools up on the project09:15
Kinnisontristan: thank you!09:15
tpollardtristan: cheers09:18
tristanDone !09:20
tristantpollard, do I understand your list comprehensions there as basically: "Remove any failure messages pertaining to that element, if that element is not tainted as a failure by the Queues" ?09:22
tpollardit's checking if any element with a stored failure messages exists in any of the failures queues, if it does print it09:26
tpollardso the comprehension will make the list exist if it finds a match09:26
jonathanmawtristan: I've replied to your comment about Source.set_alias(), tl;dr we can get rid of it if it's fine to mandate Source.translate_url is called in configure even if you don't use the result09:27
gitlab-br-botbuildstream: merge request (willsalmon/documentation_form_notes->master: Documentation typos and fixes) #569 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56909:28
tristanjonathanmaw, I saw it, I need some time09:29
tristantpollard, Ok so, semantically different but the same: construct a list of the failure messages based on the recorded failure messages, minus the failure messages which don't have a failing element on the queues09:30
tristantpollard, correct ?09:30
tpollardtristan: that's what I expect, to be placed in values[]09:31
tristantpollard, I'm happy to merge that (with comments addressed); but I'd like you to file an additional bug09:31
tristanOr, do I09:31
tristanyes I think so09:32
tristantpollard, if something is retried a bunch of times and never succeeds, should we be seeing all the failures of all the attempts, or just the last one, in the failure summary ?09:32
tristantpollard, I tend to think it should only be the last one09:32
tristantpollard, since your patch does not catch that case, I would like a new issue for it09:33
tpollardtristan: I agree too, you mentioned that in a previous comment on the MR too09:33
tpollardmy only point is that I guess the previous failures on a same element could be useful in some cases09:34
gitlab-br-botbuildstream: merge request (jmac/virtual_directories->master: Abstract directory class and filesystem-backed implementation) #445 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/44509:35
qinustytristan: I can't seem to get this spurious CI failure to happen when running locally :/09:35
qinustyregardless: temporary error branch is ready for review https://gitlab.com/BuildStream/buildstream/merge_requests/559 Unix pipeline failed 3 times due to this move cloned repo issue.09:47
qinustytlater: https://gitlab.com/BuildStream/buildstream/merge_requests/563 also has further discussion09:49
*** flatmush has quit IRC09:58
tlaterqinusty: I commented on that10:11
qinustyyup, just replying tlater :P Some slight confusion on my part10:11
tlaterLet's discuss here10:11
tlater:)10:11
tlaterqinusty: Just to be clear; I'd like to *reduce* the amount of cache space buildstream internally thinks it has by the headroom10:12
tlaterInstead of checking that there is more space available than what the user asks for10:12
tlaterThat way the detail of cache headroom stays entirely within buildstream, and no user will ever have to think about it.10:13
qinustyOkay, that clears it up a little.10:15
tlaterAny remaining concerns?10:16
qinustySee comment* Just my current implementation allowing cache_quota to be > the current cache_size10:17
tlaterI don't quite follow the comment - if we say `cache_quota = cache_quota_user - headroom`, surely there's nothing that could go wrong?10:18
qinustyMy concern is regarding the current cache. So if you spin up an instance of the cache server with cache already in the folder. It could be 30GB10:19
tlaterAh, I see10:19
qinustybut you could say "Only allow 2GB", what does it do then?10:19
tlaterqinusty: Buildstream will behave as if you have no cache quota assigned10:20
jonathanmawqinusty: print "lol", I assume10:20
tlaterThis will mean that it can build and store one artifact at a time ;p10:20
qinustyif you desire jonathanmaw :D10:20
tlaterOh, *now* I see what you mean10:20
tlaterRight10:20
qinustyIn reality, should we flag this up? Suggest clearing the cache?10:21
tlaterPerhaps a warning; buildstream will start clearing the cache the moment it notices there's too much data10:21
qinustyOh okay, if that is implemented elsewhere that's fine10:21
gitlab-br-botbuildstream: issue #516 ("Buildstream can not build from non-numeric tags") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/51610:33
gitlab-br-botbuildstream: merge request (phil/437-junction-tutorial->master: WIP: Phil/437 junction tutorial) #550 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55010:53
WSalmonso i have been playing with https://gitlab.com/willsalmon/buildstream-kicad a bit more and depending if if i track the junctions or the main project first i get diffrent failures, is this expected or a bug?11:03
*** jonathanmaw_ has joined #buildstream11:03
*** jonathanmaw has quit IRC11:03
WSalmonI think jonathanmaw helped me with this but I cant remember exactly what we decided.11:04
* tlater notes jonathanmaw_ has a different nick here these days, in case he comes back and misses WSalmon ;)11:05
gitlab-br-botbuildstream: merge request (phil/436-add-ubuntu-install-intructions->master: Phil/436 Update install intructions) #525 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/52511:15
noisecellWSalmon, I suggest you create an use case and open a bug with the logs that shows the behaviour which you think is a bug11:37
noisecellpossibly you will get a more concrete feedback and it is tracked11:37
gitlab-br-botbuildstream: merge request (phil/437-workspaces-tutorial->master: Phil/437 workspaces tutorial) #519 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/51911:39
gitlab-br-botbuildstream: merge request (phil/add-ubuntu-ci-job->master: .gitlab-ci-yml: Add ubuntu 18 test) #523 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/52311:45
tristanjonathanmaw_, can we discuss set_alias() for a moment ?11:46
tristanI think I understand better, but think we should change that11:46
jonathanmaw_tristan: okay, what do you have in mind?11:50
tristanjonathanmaw_, ok so first ... lemme see if I understand this correctly...11:50
tristanjonathanmaw_, Say I have a source implementation, and an instance of that source is configured with "url: farm:pony.git"11:51
tristanjonathanmaw_, your intention is to have the plugin call self.set_alias("farm"), instead of needing to call self.translate_url("farm:pony.git"), if the source doesnt care about the return value at that stage11:52
tristanjonathanmaw_, is that correct ?11:52
jonathanmaw_correct11:52
tristanOk good, I understand :)11:53
tristanSo in that case, I think it can make sense to have the API appear both on the Source and the SourceFetcher... there is a "but"11:53
tristanjonathanmaw_, Until now, we have never given the plugin the responsibility of parsing a url with an alias string11:54
tristanAnd we would do better to avoid that11:54
tristanjonathanmaw_, if ever we need to change anything or enhance anything around that parsing (already, there is the possibility to mistakenly parse an alias such as "http"), then that should be possible without ever having to update any plugins11:55
tristanjonathanmaw_, So, I think we need to just change both "set_alias()" apis to be a function which provides the URL in it's full form to the core, conveying the Source's intention to use this string for downloading something, and allowing the core to check if the string contains an alias, and extract that alias11:56
tristanjonathanmaw_, Does that make good sense to you ?11:56
jonathanmaw_tristan: yes11:57
tristanGreat, I think code wise, functionality wise, we are pretty much "there" with your branch; the remaining problem is to choose a good name for this function and convey it's meaning clearly to plugin authors11:57
tristanpossibly something like "mark_download_url()" ?11:58
jonathanmaw_tristan: works for me11:58
* tristan ^5s jonathanmaw_ :)11:58
jonathanmaw_o/*\o11:59
tristanhaha nice11:59
*** jennis2 has joined #buildstream12:00
gitlab-br-botbuildstream: merge request (tiagogomes/issue-500->master: Tiagogomes/issue 500) #570 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/57012:00
gitlab-br-botbuildstream: merge request (tiagogomes/issue-500->master: Handle additional types on `_process_list`) #570 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/57012:01
*** jennis has quit IRC12:01
jonathanmaw_tristan: I'll remove the Source.split_aliased_url method as well, since it's no longer necessary12:06
tristanjonathanmaw_, that makes great sense, yes12:07
gitlab-br-botbuildstream: merge request (Qinusty/491->master: Cache size is now restricted to available disk space) #563 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56312:21
qinustytristan: When you get a spare timeslot can you review https://gitlab.com/BuildStream/buildstream/merge_requests/559?commit_id=2ba0b156c84bc2392f98e9fc2b650c8dbed9c338?12:23
tpollardtristan: I replied to a comment of yours on https://gitlab.com/BuildStream/buildstream/merge_requests/561#note_90520003 if you get a chance to take a look :)12:48
tpollardI've reworked the previous suggestion so just waiting on that before rebasing12:49
gitlab-br-botbuildstream: merge request (Qinusty/397->master: Modify retry behaviour to be opt-in on exceptions during job processing) #559 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55912:53
tristantpollard, qinusty ... done and done !13:08
tristan:)13:08
tpollardcheers!13:08
qinustyCheers :)13:08
tristantpollard, I suppose my comment on the list comprehension will have a code change if you A.) Do the filtering first... B.) Check if errors remain to be printed13:10
tristantpollard, the optimization is quite small but better practice, if you need to do a check of that kind, we should use any() on a generator expression, rather than using a full list comprehension13:11
tpollardtristan: I agree, I just defaulted to doing the list comp. I've switch it over to any() now & will push it up soon13:12
tristanI am intent on leaving soon... but will stop in and give it a late night check; I'm tempted to just say land it with the fix13:13
tristantpollard, at this point, the patch approach is completely satisfactory, so you might just get anyone else to give it a lookover and land it13:14
tristanthanks for fixing that !13:14
tristan:)13:14
gitlab-br-botbuildstream: merge request (tpollard/386->master: _frontend: Don't print failure summary on build success) #561 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56113:20
tpollardwould help if I modded the message, sigh13:21
tristantpollard, woops13:22
tristantpollard, You did not change the filtering to come *before* the check if any failure messages need to be printed :)13:22
tristantpollard, so you will have a "Failure Summary" with no failures, when all failures get filtered out13:23
gitlab-br-botbuildstream: merge request (Qinusty/397->master: Modify retry behaviour to be opt-in on exceptions during job processing) #559 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55913:23
gitlab-br-botbuildstream: merge request (edbaunton/remote-source->master: Add remote source plugin) #541 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/54113:23
gitlab-br-botbuildstream: merge request (Qinusty/397->master: Modify retry behaviour to be opt-in on exceptions during job processing) #559 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55913:24
tristantpollard, other than this which needs fixing... maybe you already filed one, but just make sure that you file an issue about the remaining shortcoming that we discussed earlier13:24
qinustySorry for the spam, forgot to rebase to master before pushing :/13:24
tristantpollard, please :)13:24
tpollardtristan: sure13:25
qinustytlater: Changes made to https://gitlab.com/BuildStream/buildstream/merge_requests/56313:32
tlaterqinusty: Thanks, taking a look13:32
tlaterSorry that branch is taking so long13:32
tlaterI should have put more time into that before landing expiry...13:33
qinustyNo worries! I'm just juggling branches atm so I'm looking to close a few off :D13:37
*** Phil has quit IRC13:40
*** Phil has joined #buildstream13:40
* tlater gives the behavior a test13:40
*** OvidiuS has joined #buildstream13:41
* qinusty tested a few cases but didn't manage to see the clearing behaviour13:43
tlaterqinusty: Yeah, I'm interested if that happens.13:45
*** tristan has quit IRC13:45
gitlab-br-botbuildstream: merge request (willsalmon/documentation_form_notes->master: Documentation typos and fixes) #569 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56913:48
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/40413:52
* qinusty wonders if he's the only one frustrated by the occasional test_build_track CI failures13:53
tlaterqinusty: Do you have a link to output of such?13:54
* tlater may be able to explain13:54
*** edb has joined #buildstream13:54
qinustyhttps://gitlab.com/BuildStream/buildstream/issues/50313:54
qinustyI've been trying to figure it out off and on, haven't gotten too far but I'm not too familiar with how the sources manage files13:54
qinustyand how the tests allocate tmpdir13:55
tlaterAh13:56
qinustyI ran the test_build_track tests on my machine 5 times and it passes all 5 times :D13:56
tlaterqinusty: I don't think anyone but tristan has actually reported seeing this13:56
qinustyI see it often13:56
* tlater thought he did at first, but this seems to be unrelated13:56
*** xjuan has joined #buildstream13:56
qinustyhttps://gitlab.com/BuildStream/buildstream/-/jobs/8459962313:57
tlaterqinusty: It's a tricky one, looking at tristan's issue here13:57
qinustyJust failed on one of my commits, on both debian and unix13:57
KinnisonIs there a way to run the test suite parallelised (I have 8 CPUs it'd be rude not to use them all) ?13:57
tlaterKinnison: Yes, hang, I'll figure out the magic invocation to make it do so13:58
qinustyIt ends up adding about 30 minutes to my pipeline because I have to retry atleast one platform once or twice13:58
tlaterBut we currently don't guarantee it working parallelized13:58
tlaterqinusty: :|13:58
tlaterI suggest you run the simple test suite offline13:58
Kinnisontlater: what about the suite means parallelisation of it isn't reliable/guaranteeable?13:58
tlaterUntil you actually want someone to look at things13:58
tlaterKinnison: The fact that no dev currently runs it with parallelization13:59
tlaterAnd we therefore don't really know if it is reliable ;p13:59
Kinnisontlater: Oh13:59
* Kinnison is amazed13:59
* tlater thinks test runs by some of us have come out as "yeah, probably works"13:59
tiagogomeswon't there be conflicts at least in the integration-cache directory13:59
KinnisonI'd expect the devs to want to make the test runs as fast as possible13:59
* Kinnison went to great effort to make Gitano's test suite run in parallel because it makes it so much easier to run13:59
tlaterProbably, but I suspect the parallelization actually doesn't do much for us13:59
tlaterIt's worth trying out, certainly14:00
* tlater never found the time to ensure it works though14:00
Kinnisontlater: I'd like to be able to spend > 16% of my system's resources on making it go faster :-)14:00
* Kinnison has given his buildstream VM 16G of RAM and 4 cores. Plenty of room for test suite runs I thought14:00
KinnisonI feel like I could have given it 4G and 1 core14:00
tlaterYep, I agree, happy for anyone to look into this in detail... For now I'll just supply the flag to you with a caveat of "it may turn out ot break horribly"14:01
tlaterKinnison: I also suggest you only run the default suite14:01
tlaterI.e., don't go enabling "integration" tests14:01
* Kinnison just ran 'setup.py test'14:01
tlaterBecause I'm fairly certain those will break14:01
tlaterYep, that works :)14:01
* Kinnison would be super-sad if the integration tests failed when invoked in parallel14:02
* Kinnison puts "look at the test suite" on his list14:02
Kinnisontlater: so 'setup.py test' is that *just* unit tests?14:05
tlaterKinnison: Oof, that's also a big topic14:05
qinusty--integration turns integration tests on afaik14:05
tlaterA slight pain topic for me14:06
tlater"Integration test" is used in a non-standard way in BuildStream14:06
tlaterIt means "A test that invokes a sandbox"14:06
tlaterIn reality, almost all buildstream's tests are integration tests14:06
gitlab-br-botbuildstream: merge request (tpollard/386->master: _frontend: Don't print failure summary on build success) #561 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56114:06
gitlab-br-botbuildstream: issue #163 ("Buildstream should support downloading blobs and patches from http") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/16314:06
gitlab-br-botbuildstream: issue #163 ("Buildstream should support downloading blobs and patches from http") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/16314:06
KinnisonOh14:07
tlaterWe only have a small number of unit tests for the yaml parser14:07
gitlab-br-botbuildstream: merge request (edbaunton/remote-source->master: Add remote source plugin) #541 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/54114:07
* Kinnison did wonder how a unit test suite could take nearly half a kilosecond to run14:07
tlater`./setup.py test` will by default run all tests that do not invoke sandboxes14:07
*** tristan has joined #buildstream14:07
* tlater wants to rename these things in time14:07
* tlater should pay some attention to the test suite at some point, too14:07
Kinnisontlater: so can I invoke those tests in parallel, and if so, how?14:08
tlaterKinnison: So, the command you're supposed to use is: `./setup.py test --addopts '-n <runners>'`14:08
Kinnisonokay14:08
* Kinnison tries14:08
tlaterQuickly trying that out seems to just break pytest for me14:08
tlaterBut that might depend on versions...14:08
* Kinnison grumps that ^C doesn't seem to stop the tests14:08
* Kinnison presses it many times14:08
Kinnisonstill no stop14:09
* tlater agrees this is annoying14:09
Kinnisonwhat madness is this?14:09
juergbiI typically use -n auto for maximum parallelism14:09
* Kinnison gives up for now14:09
tlaterjuergbi: Oh, you actually run parallel tests?14:09
tlaterDo they work consistently?14:09
gitlab-br-botbuildstream: merge request (tpollard/386->master: widget.py: Limit failure summary to currently failing elements) #561 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56114:09
jonathanmaw_tristan: https://gitlab.com/BuildStream/buildstream/merge_requests/404 is ready for review again (assuming the remote CI passes)14:09
tristanparallelized tests never worked for me14:10
juergbiiirc, the 'integration' tests have issues but the regular ones normally work fine14:10
tristanI think ^C not working is a regression14:10
tristanIt's worked in the past, a lot; I don't know what broke it14:10
tlatertristan: ^C has rarely instantly killed the test session for me.14:10
tristanNot instantly no14:10
juergbiyes, multiple ^C usually worked for me14:11
* tlater thinks this is what Kinnison is complaining about14:11
tristanbut last week the regression which caused test_push_pull to fail consistently; was not interruptible14:11
tristanThis was a crash *in the test code*, because juergbi had used a new feature from pytest-cov that I didnt happen to have in my version14:11
tristanSo, it would seem that when the testing code itself hits an exception; the suite hangs; that's bad14:12
juergbihm, yes14:12
* tristan heads out to gym...14:12
tpollardI think that should be ready to land now14:13
juergbiwith -n auto: 1155 passed, 83 skipped in 167.12 seconds14:13
gitlab-br-botbuildstream: merge request (phil/add-ubuntu-ci-job->master: .gitlab-ci-yml: Add ubuntu 18 test) #523 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/52314:13
tlaterjuergbi: With -n auto I get: INTERNALERROR> AttributeError: 'NoneType' object has no attribute 'configure_node'14:14
juergbihm, without integration tests?14:14
tlaterYep14:14
* tlater ponders if this is a pytest version issue14:14
tlaterBut I'll have to take some time to figure that out...14:15
juergbiI'm on Python 3.6.6 and pytest 3.6.314:15
tlaterjuergbi: My container is apparently on 3.6.4 and 3.6.014:16
tlaterLemme see if updating pytest helps...14:16
juergbithere is also pytest-xdist 1.22.2, which may be relevant14:16
tlaterAha!14:16
juergbipytest-runner 4.214:16
tlaterHm, no, didn't fix that |:14:17
gitlab-br-botbuildstream: merge request (tpollard/386->master: widget.py: Limit failure summary to currently failing elements) #561 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56114:18
KinnisonHmm -n auto gave me 4 workers and ran the suite in 206s instead of 529s14:20
Kinnisonthat's a surprising amount of overhead considering it was pretty much parallel from the start14:20
juergbiyes, it doesn't scale that well. 167s with 32 workers14:22
gitlab-br-botbuildstream: merge request (Qinusty/397->master: Modify retry behaviour to be opt-in on exceptions during job processing) #559 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55914:23
gitlab-br-botbuildstream: merge request (Qinusty/397->master: Modify retry behaviour to be opt-in on exceptions during job processing) #559 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55914:24
qinustyApologies D:14:25
gitlab-br-botbuildstream: merge request (willsalmon/documentation_form_notes->master: Documentation typos and fixes) #569 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56914:33
gitlab-br-botbuildstream: merge request (willsalmon/documentation_form_notes->master: Documentation typos and fixes) #569 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56914:33
noisecellwhat is format-version/ BST_FORMAT_VERSION is for? and where we get it from if format-version is not defined in project.conf?14:35
noisecelltristan, ^^14:36
Kinnisonjuergbi: are there one or two really slow tests, or is it just that pytest's parallelisation is crap?14:38
gitlab-br-botbuildstream: merge request (phil/436-add-ubuntu-install-intructions->master: Add Ubuntu install intructions) #525 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/52514:39
juergbiKinnison: most of the workers seem to burn CPU cycles the whole time, so I don't think it's just a test or two14:40
*** juergbi has quit IRC14:40
*** juergbi has joined #buildstream14:42
tlaternoisecell: BST_FORMAT_VERSION is there so that we can figure out which version of the yaml parsing we're supposed to use14:47
tlaterOver time we've made breaking changes to the format, for various reasons, but we must support old versions for backwards compatibility14:47
tlaterSo BST_FORMAT_VERSION simply allows us to parse multiple different formats correctly14:48
tlaterBST_FORMAT_VERSION is 0 if unset, I believe14:48
* tlater can't quite recall where it actually applies though, if it is even supposed to be set in project.conf.14:48
noisecellBST_FORMAT_VERSION is set to 9 I assume...14:49
gitlab-br-botbuildstream: merge request (phil/437-junction-tutorial->master: WIP: Phil/437 junction tutorial) #550 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55014:49
tlateradds68: When building latest freedesktop master, I get a few failures when fetching - buildstream complains that it can't find commits for branches of a number of elements14:58
tlaterIs this a known issue?14:58
adds68tlater, hmm that is odd, we have not seen this issue14:58
gitlab-br-botbuildstream: merge request (466-optimize-bst-build-initialization-time->master: WIP: Resolve "Optimize `bst build` initialization time") #571 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/57114:59
* tlater digs a bit further14:59
adds68Could you paste some logs over at #freedesktop-sdk?14:59
tlaterYep, just covering my tracks to make absolutely sure I'm not making stupid mistakes here14:59
noisecellso in https://gitlab.com/BuildStream/buildstream/issues/516 either we work without numeric versions if we check the tag is good or we get the version from the previous tag to this one? how people think we should behave?14:59
gitlab-br-botbuildstream: merge request (466-optimize-bst-build-initialization-time->master: WIP: Resolve "Optimize `bst build` initialization time") #571 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/57115:01
gitlab-br-botbuildstream: issue #517 ("Failure Summary should only contain failure messages from current run") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/51715:01
noisecelltlater, https://gitlab.com/BuildStream/buildstream/blob/master/doc/examples/autotools/project.conf -- it is in the examples15:02
tlaternoisecell: Ah, right. Yep, version 9 is the current one afaik15:03
qinustytlater: I did fix that if btw. Just didn't push incase you find anything else for me to fix :P15:04
tlaterqinusty: I started building freedesktop sdk to see how it behaves15:04
qinustyExciting15:04
qinustyWith a cache quota of?15:04
tlater2GB15:04
qinusty:P15:04
qinustyso 0?15:04
tlaterShould be enough to hit cleanup15:04
tlater;p15:04
tlaterHm, actually, that might not be a great test15:05
tlaterIn either case, that build fails before I create any artifacts15:05
noisecelltlater, setting it just make https://gitlab.com/BuildStream/buildstream/issues/516 appears in a different place15:05
tlaterSo checking that now15:05
qinustyI reckon it'll pull it, and build one job, then go "Oh damn, no space sorry"15:05
tlaterqinusty: Not if the definitions aren't working15:06
Kinnisonjuergbi: Oh dear15:06
tlaterBut yes, that's what I'd like to see15:06
tlaternoisecell: Hrm, sorry, I've not been following that issue15:06
tlaterI'm a bit split already, anyone else around who could help out with that?15:06
noisecelltlater, I know, don't worry, I was just linking that issue with the format-version15:07
gitlab-br-botbuildstream: issue #518 ("Backport  solution for #163 (MR !541) to the bst-1.2 branch") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/51815:07
noisecellI assume I will add notes to the issue and see what tristan thinks is the best way to solve it15:08
qinustyIs anyone free to merge https://gitlab.com/BuildStream/buildstream/merge_requests/559? Just one platform on the pipeline failed (silly test_build_track).15:10
juergbiKinnison: real 2m50.292s - user 73m2.081s - sys 3m39.063s15:11
Kinnisonjuergbi: that's surprisingly high15:11
juergbiindeed15:11
juergbias comparison, without parallelism it's 10m5s here15:12
* Kinnison runs with time to see how it compares here15:12
gitlab-br-botbuildstream: merge request (tpollard/483->master: plugins/git.py: Fail if ref is not in given track) #564 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56415:14
juergbiKinnison: oh my, it's actually faster with -n 16 than -n auto15:15
Kinnisonjuergbi: -n auto for me seems to pick nCPUs15:16
juergbiyes, here as well, but that's 3215:16
juergbiwith -n 16: real 2m16.573s - user 26m32.517s - sys 2m40.938s15:16
Kinnison-n auto here gives me real3m31.970s - user9m49.172s - sys1m54.296s15:16
* Kinnison tries -n 2 (to halve like you did)15:17
qinustytoscalix: You marked https://gitlab.com/BuildStream/buildstream/issues/496 with Buildstream v1.2, what does this mean for the implementation and the patch which contains the change?15:18
toscalixin theory that we want to include it in BuildStream v1.2. If we know for sure it will not make it for the coming stable version, we should add BuildStream v1.4 milestone15:19
toscalixI will need to go over many tickets that are in such situation15:20
toscalixin general, when a ticket is processed, it should have milestone assigned at least15:20
toscalixso no milestone=unprocessed15:20
toscalixin gitlab, every ticket goes automatically to backlog15:21
toscalixso we do not need any action to put it in the backlog15:21
toscalixso the backlog has tickets with and without milestones15:21
toscalixonce we get more mature as a project, we can add a states that reflects that a ticket has been processed or analised15:22
toscalixbut not for now15:22
gitlab-br-botbuildstream: merge request (phil/437-junction-tutorial->master: WIP: Phil/437 junction tutorial) #550 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55015:23
ironfootSo, i've just noticed the following when using buildstream 1.1.3. I wonder if it's something that you are aware of.15:23
ironfootIn the following log you can see that an artifact is pushed after being pulled: https://paste.baserock.org/ujebatogok15:24
ironfootDoes that make sense?15:24
ironfootAlso, what is "Sending" and what is "Pushing" ?15:24
Kinnisonjuergbi: so 50% longer with only 2 CPUs (rather than 100% longer)15:25
Kinnisonjuergbi: real5m9.424s - user7m16.440s - sys2m7.988s15:25
* Kinnison doesn't understand how it takes that much less time in user mode15:26
* juergbi neither15:26
* Kinnison is trying single-threaded to see what the numbers look like15:27
juergbi-n 12 seems to be about as good as it gets here, 130 seconds instead of 60515:27
juergbiironfoot: pushing after pulling can sometimes make sense (multiple artifact cache servers) but there were some issues with some versions of buildstream (client and server side relevant)15:28
ironfootah, i've just seen https://gitlab.com/BuildStream/buildstream/issues/40515:29
toscalixironfoot: I was going to point you to it15:29
juergbiwith the latest 1.2 or master, it should never push something that already exists on the server15:29
gitlab-br-botbuildstream: merge request (phil/437-junction-tutorial->master: WIP: Phil/437 junction tutorial) #550 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55015:29
toscalixironfoot: can you add there the request for those words? Or any other?15:29
gitlab-br-botbuildstream: merge request (phil/437-junction-tutorial->master: Phil/437 junction tutorial) #550 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55015:30
qinustytoscalix: I am only concerned due to the request from tristan to label the API in the docstrings as 1.4. If we want this as 1.2, it should be labelled 1.2.15:30
juergbiI don't think it really makes sense to backport anything like that to 1.015:30
ironfoottoscalix: my question is: what is BST doing in those 2 different steps, as they sound similar15:30
ironfootjuergbi: aha, ok, i'm using 1.1.3 here15:31
juergbiironfoot: pushing is the overall job that includes compressing and sending. sending is the actual transmission15:31
ironfootunderstood, that makes sense then15:31
juergbithis anyway changed with CAS, though (no compression step anymore)15:31
juergbi1.1.4 should fix this all for you, however, it only works with CAS artifact servers, no longer with OSTree artifact servers15:32
gitlab-br-botbuildstream: merge request (willsalmon/documentation_form_notes->master: Documentation typos and fixes) #569 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/56915:32
gitlab-br-botbuildstream: merge request (jjardon/remote-source-plugin-1.2->master: Jjardon/remote source plugin 1.2) #572 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/57215:32
tiagogomesDoes any opposes if I increase the job timeout limit in the CI to say 5 hours? Right now it is 3h15:32
juergbiwe need more than 3h for CI?15:32
gitlab-br-botbuildstream: merge request (jjardon/remote-source-plugin-1.2->bst-1.2: Jjardon/remote source plugin 1.2) #572 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/57215:33
gitlab-br-botbuildstream: merge request (jjardon/remote-source-plugin-1.2->bst-1.2: Backport remote source plugin to 1.2) #572 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/57215:33
tiagogomesjuergbi for the overnight tests, probably15:34
juergbiah, if they share the timeout setting, sure, makes sense to me15:34
gitlab-br-botbuildstream: merge request (phil/add-ubuntu-ci-job->master: .gitlab-ci-yml: Add ubuntu 18 test) #523 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/52315:36
tiagogomesAnyone to look at https://gitlab.com/BuildStream/buildstream/merge_requests/570/ ? It is breaking the build of freedesktop-sdk15:40
persiaPhil: Would you mind renaming your message to use an actual version of Ubuntu?  "18" doesn't mean anything in the Ubuntu lexicon.  You might mean "18.04.0" or "18.04.1".  Note that these have no clear relation with the expected future "18.10.x" series, hence the difficulties with bare "18".15:43
toscalixironfoot: got you.15:48
toscalixqinusty: feel free to add then 1.4 as milestone15:48
toscalixotherwise I will put that in my todo15:48
toscalixqinusty: done15:49
qinustytodone, ty.15:49
qinustynoisecell: I've hunted down that regression of repeating "Running build-commands" problem15:50
*** noisecell has quit IRC15:51
Philpersia, thanks for pointing that out. I'd missed the commit message when fixing it elsewhere.15:52
persiaPhil: Oh, heh.  That's what I get for "pretend to review by randomly reading SCM messages on IRC": public demonstration that I'm not looking at the entire picture :)15:53
Phil:)15:53
juergbiPhil: the docker images also still have the wrong name15:54
PhilAck, thanks juergbi15:57
qinustyIs the intention that when a command is ran the output will be thrown into the BuildStream UI?16:00
tlaterqinusty: Mind explaining what you expect in a bit more detail?16:00
tlaterI.e., are you expecting a gentoo-like line-for-line build output?16:01
tlater(I should say portage)16:02
qinustyhttps://paste.codethink.co.uk/?476016:02
* qinusty now realises he should have used a public pastebin16:02
qinustyWhat I mean is, is this meant to be there?16:02
tlaterqinusty: Yep16:03
tlaterBuildStream is expected to print the commands it will run...16:03
qinustyAlright, just wondering whether I could get away with silencing the nested messages for #50716:03
tlaterFrankly, I never second guessed why16:03
qinustyThe reason we're seeing duplicate "Running strip-commands" etc16:04
tlaterAh16:04
qinustyis because theres two timed_activities with the same string, one for the commands (which loops through multiple commands)16:04
tlaterIt's worth checking if they were once silenced16:04
tlaterOh16:04
qinustyand one which does each one, they both print "strip-commands" when really, the inner one should print16:04
tlaterI think that's a regression from my branch16:05
tlater:|16:05
qinusty[00:00:00][18b6e0d4][build:hello.bst                     ] SUCCESS Running find "/buildstream-install" -type f \16:05
*** toscalix has quit IRC16:05
* qinusty saw the commit you're describing in his git blame16:05
tlaterNo, I think the solution here is probably removing the outer message16:05
qinustydefinitely you who last touched it :P But I'm just wondering what the desired output is16:06
qinustythen I'll fix it16:06
tlaterThe desired output would be a single message containing the commands as their detail string16:06
qinustyMy change produces this https://hastebin.com/raw/amaputilip16:06
qinustyIn terms of BuildStream, what is the detail parameter on messages?16:07
tlaterqinusty: Do you see colored output?16:07
tlaterThe detail parameter is what's printed in light gray16:07
qinustyyes16:07
qinustyAhhh16:08
tlaterqinusty: That said, your current output still looks duplicated16:08
tlaterThe reason we want the commands in the detail parameter is so that people can suppress them if they want16:08
qinustyIt seems to be duplicating the output of the command16:08
tlaterqinusty: It would be more accurate if you referred to it as duplicating the "command display" or something16:09
tlaterBecause the output of any of these commands is never shown :)16:09
gitlab-br-botbuildstream: merge request (jjardon/remote-source-plugin-1.2->bst-1.2: Backport remote source plugin to 1.2) #572 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/57216:10
qinustyThe problem is16:11
qinustyA timed activity is started with an activity name, then inside that there is a loop which starts timed_activities with identical activity names16:11
qinustyI'm not too sure where the command display is coming from if I'm honest, maybe within sandbox?16:12
tlaterqinusty: Let me have a look at this, it's my regression after all :)16:12
qinustyOkay :P build_element.py, __run_command() and assemble()16:13
tlaterThanks - I'll ask you to review for a change16:13
* tlater thinks there's simply too many activities here16:15
qinustyDown the rabbit hole you go16:19
qinustyit is kind of cool that each command within the timed set of commands is timed16:20
tristanqinusty, my strategy is this: People merging things to master should right away assume 1.3 material; Whatever I manage to backport, I will (A) Mark as Since 1.2 in the bst-1.2 branch... (B) Come back and mark as Since 1.2 in master16:33
tristanqinusty, i.e. lets keep the activity of landing on master, and backporting work, separate16:34
qinustyThat makes sense, cheers tristan!16:35
tristanwell, assume 1.4 material (sorry if that was confusing; 1.3 is dev branch; APIs introduced there are "Since: 1.4")16:35
qinustyyup16:35
qinustygotcha16:35
tristantlater, you are wrong about BST_FORMAT_VERSION; if I understand what you were explaining16:36
tlaterOh?16:37
tristantlater, Under no circumstances, *ever* will we behave differently depending on what format version a project.conf has requested16:37
tristanAPI must not break16:37
tlaterAh16:37
tristantlater, the format-version is the project.conf's statement of the *minimum* required format version it needs in order to function16:37
tlaterSo, in that case, what is the purpose then?16:37
tristanSo basically, I have been using it in gnome-build-meta such that, when I make it use a new feature, I *also* make it request a new version16:38
tlatertristan: I.e., newer versions may have *added* features?16:38
tristanInstead of weird incomprehensive errors being reported to users, they understand right away that they need a new version of BuildStream16:38
tristanThat is all it does16:38
qinustyWhy does the cache store multiple references to a single artifact? Different versions?16:38
tlaterRight, I'll make sure to keep that in mind16:38
tlaterqinusty: You have a strong and a weak key16:39
tlaterWeak keys don't guarantee that if a dependency changes, the artifact also changes16:39
tlaterI.e., libraries you depend on may have changed and could break your artifact16:39
tristanqinusty, interesting reading material http://buildstream.gitlab.io/buildstream/additional_cachekeys.html :)16:39
tristanSince we have it, somebody might as well read it :)16:39
tlaterProbably gives a better explanation than my two sentences, too :)16:40
qinustyCheers tristan, I'm just seeing duplicate messages on my skipped branch, mainly because of these multiple refs16:40
qinustyThey arent distinguished by their get_brief_display_key()16:40
qinustybut I don't want to print the whole ref :/16:40
tristanSure, but if you're seeing duplicate lines, keep in mind we have this hot regression to fix: https://gitlab.com/BuildStream/buildstream/issues/50716:41
qinustyYeah, it's unrelated :P16:41
qinustyIt's directly caused by the for ref in refs: strong/weak key16:41
qinustyalways 216:42
tristanseems very strange that the abbreviated key happens to be a match16:42
tristanunlikely but possible16:42
qinustywho knows, I'm sure I'll figure out a solution tomorrow.16:43
tristan:)16:43
qinustyThe test_build_track is still an issue tristan, I had no luck hunting it down16:43
tlaterAren't strong/weak keys the exact same if the project is not in weak mode?16:44
qinustyHowever it only reared its head on my local tests when I ran the whole test sequence rather than just test_build_track() tests16:44
gitlab-br-botbuildstream: merge request (tiagogomes/issue-500->master: Handle additional types on `_process_list`) #570 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/57016:44
*** qinusty has quit IRC16:45
tiagogomesThis IRC bot is faster than the update of the web page itself16:45
*** noisecell has joined #buildstream16:46
tristanhahahaha16:46
tristanthat JS payload (starting from about a week or two ago ?) is one hell of a machine16:46
tristanhalf the time my browser proposes that I stop the offending script which is slowing down the whole browser16:47
tristannoisecell, for your benefit: https://irclogs.baserock.org/buildstream/%23buildstream.2018-07-26.log.html#t2018-07-26T16:36:3916:49
tristannoisecell, about BST_FORMAT_VERSION, but you were not in the channel :)16:49
noisecelltristan, thanks :), I was reading it. I need to read with fresh mind what you wrote in the issue, as I need to re-read it tomorrow probably16:53
noisecelland see if I can find a solution as you described on it16:53
* tlater is now also running into noisecell's issue16:57
tlaterApparently running anything between when juergbi created his CAS tag and the 1.2 release will fail :)16:57
noisecellooops16:59
tlaternoisecell: Indeed16:59
tlaterThe most annoying part is that we can't really backport this or anything16:59
tlaterWe just have a range of commits that will never work, unless we mess with history16:59
tlaterOr remove juergbi's pre-cas tag16:59
noisecellwell, I think we need to solve the issue and then probably decide what is best17:00
* tlater should have seen this coming when he fixed the no-tag issue17:01
tlaterI just thought "how would we ever get a non-integer number if there is one?"17:01
tristantlater, an option for now is delete the tag17:01
tristanat least the commit would work17:01
noisecelltristan, I think there are 2 non numeric tags so probably remove both?17:02
tristanbut surgery and force pushing the history is... really unpretty, we should rather live with the inconvenience for this short time17:02
tlaterThat works locally, yes17:02
tristanapparently this tag was only needed because people havent yet installed the new server17:02
tlaterDo we want to remove the tag for good?17:02
tristannoisecell, I wouldnt remove the older one, it's not messing with anything that anyone is using, and it comes from a pre-versioneer time too17:03
noisecelloh, I see17:03
noisecellok then17:03
*** jonathanmaw_ has quit IRC17:04
gitlab-br-botbuildstream: issue #519 ("Issue with refs accros junctions") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/51917:04
gitlab-br-botbuildstream: merge request (507-some-log-lines-appear-to-be-duplicates->master: Resolve "Some log lines appear to be duplicates") #573 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/57317:05
WSalmoni have written up the issue i was having in to a bug ticket https://gitlab.com/BuildStream/buildstream/issues/51917:05
tlaterqinusty: When you're back tomorrow, fix is up: https://gitlab.com/BuildStream/buildstream/merge_requests/57317:06
gitlab-br-botbuildstream: merge request (507-some-log-lines-appear-to-be-duplicates->master: Resolve "Some log lines appear to be duplicates") #573 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/57317:09
*** noisecell has quit IRC17:10
* tiagogomes wonders if this directory structure is expected: ~/.cache/buildstream/build/base-gpgme-q5ns_fvw/scratch/_/17:12
tristantiagogomes, yes, its a bit complicated but yeah17:14
*** coldtom has quit IRC17:19
*** cs_shadow has quit IRC18:08
*** ernestask has quit IRC18:24
*** leopi has quit IRC20:45
*** tristan has quit IRC20:54
*** edb has quit IRC20:56
*** xjuan has quit IRC21:04
*** xjuan has joined #buildstream21:05
*** virtuanoise has joined #buildstream21:25
virtuanoisehello21:26
*** virtuanoise has left #buildstream21:28

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