IRC logs for #buildstream for Tuesday, 2019-12-10

*** traveltissues has joined #buildstream08:23
coldtomanyone against merging !1759?08:25
gitlab-br-botMR !1759: _project.py: Allow junctions to use parent remote when `ignore-junction-remotes` set https://gitlab.com/BuildStream/buildstream/merge_requests/175908:25
gitlab-br-bottraveltissues approved MR !1759 (coldtom/fix-junction-remotes->master: _project.py: Allow junctions to use parent remote when `ignore-junction-remotes` set) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/175908:31
*** tme5 has joined #buildstream08:57
gitlab-br-botjuergbi approved MR !1759 (coldtom/fix-junction-remotes->master: _project.py: Allow junctions to use parent remote when `ignore-junction-remotes` set) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/175909:17
juergbicoldtom: no, makes sense to me09:17
coldtomgreat, is marge working now? or will someone need to manually merge?09:17
juergbiI think marge still has issues due to the failing remote execution test09:18
juergbi!1758 was just rebased, possibly to be merged, so maybe we should wait for that and then rebase09:20
gitlab-br-botMR !1758: Drop support for `setup.py test` https://gitlab.com/BuildStream/buildstream/merge_requests/175809:20
juergbibut I can merge it afterwards if you can't09:20
*** santi has joined #buildstream09:36
*** jonathanmaw has joined #buildstream10:23
juergbitlater[m]: can you please take another look at !1738?10:25
gitlab-br-botMR !1738: Add buildbox-run sandboxing backend https://gitlab.com/BuildStream/buildstream/merge_requests/173810:25
*** lachlan has joined #buildstream10:34
tlater[m]juergbi: sure10:37
gitlab-br-bottlater approved MR !1738 (juerg/buildbox-run->master: Add buildbox-run sandboxing backend) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/173810:42
gitlab-br-botjuergbi merged MR !1759 (coldtom/fix-junction-remotes->master: _project.py: Allow junctions to use parent remote when `ignore-junction-remotes` set) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/175911:42
*** lachlan has quit IRC11:56
*** lachlan has joined #buildstream12:10
*** lachlan has quit IRC12:13
*** lachlan has joined #buildstream12:17
*** lachlan has quit IRC12:21
*** lachlan has joined #buildstream12:32
gitlab-br-botjuergbi merged MR !1738 (juerg/buildbox-run->master: Add buildbox-run sandboxing backend) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/173812:34
gitlab-br-botjuergbi approved MR !1763 (tlater/tar-test-security->master: tests/sources/tar.py: `utils._force_rmtree` instead of giving 777 permissions) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/176312:39
tme5does anyone know how to run the tests in _sourcetests/mirror.py locally? (the ones which fail here https://gitlab.com/BuildStream/buildstream/-/jobs/374732737)12:42
tme5I've tried running via tox on that file but it just skips them12:42
juergbitme5: if it doesn't work by file, maybe it works by pattern: e.g., tox -- -k test_mirror_fetch12:43
tpollardtox -e sourcetests -- $nameoftest12:45
tpollardhttps://gitlab.com/BuildStream/buildstream/blob/master/tox.ini#L20412:45
tme5both of those give me errors hahah12:46
tme5it appears I don't have pexpect in tox12:46
tlater[m]tme5: What errors?12:47
tlater[m]Ah12:48
tlater[m]tme5: Between when you last ran the test suite and now someone added interactive tests12:48
tlater[m]You'll need to run tox -re -- -k test_mirror_fetch12:49
tlater[m]Ot actually, just tox -r12:49
tlater[m](With whatever other things you want to make the run more specific)12:49
tlater[m]`tox -r` will re-create the virtualenv, and add the new stuff :)12:49
tme5ah thanks that's worked12:51
*** santi has quit IRC13:13
gitlab-br-bottlater merged MR !1763 (tlater/tar-test-security->master: tests/sources/tar.py: `utils._force_rmtree` instead of giving 777 permissions) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/176313:22
*** santi has joined #buildstream13:27
*** santi has quit IRC13:43
tme5Could anyone help me out? I'm trying to understand what test_mirror_fetch does. It seems to create two repos, one is the other but with an extra commit, and then it sets up an element to source from the repo with the missing commit (via an alias, which I don't understand the purpose of)13:44
tme5i believe the intent is to test a cache updating with new commits from upstream? but it's not clear to me how the "upstream_repo" is set as the upstream of the "mirror_repo"13:51
*** toscalix has joined #buildstream14:00
tlater[m]benschubert: You might know more about ^, or was that cs-shadow?14:01
benschubertah I *think* I have touched that recently-ish14:02
benschubertlet me look at it14:02
benschubertI can tell that this needs either more explicit comments or rewriting14:04
benschubertI *think* the aim is to ensure we can fetch from a different mirror if we setup an alias correctly14:04
benschubertwait no14:05
tlater[m]I concur, btw14:05
tlater[m]Definitely at least needs some comments explaining what's going on :D14:05
benschubertI think what's happening is:14:07
benschubert1) We create a repo with a mirror, the mirror is missing a ref that upstream has14:07
benschubert2) We source fetch, and the mirror should be taken first, but it doesn't have the ref, so it gracefully should fallback to upstream14:07
benschubertWould that be coherent with your understanding tlater[m], tme5 ?14:07
benschubertIf that's the case, yeah a rewriting....14:07
tlater[m]benschubert: Roughly. I confused upstream_repo, mirror_repo and upstream_ref, but on second read, that seems to make sense.14:08
benschuberttlater[m]: btw is https://gitlab.com/BuildStream/buildstream/merge_requests/1760 fine with you now? :)14:11
tlater[m]benschubert: Hmm14:12
tlater[m]Is 8 extra minutes in CI that bad14:12
tlater[m]I suppose it isn't nice for those who like testing through CI14:12
tlater[m]And the randomization will be flaky anyway14:12
tlater[m]Yeah, lgtm14:12
gitlab-br-bottlater approved MR !1760 (bschubert/add-randomized-order-tests->master: tox.ini: Add ability to run tests in a randomized order) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/176014:12
benschubertYeah, unless we have it run reliably for a time, I would rather not have it right now :)14:13
benschubertAnd same, I've been working on having our tests run in a separate process each, to ensure they are completely isolated relative to the code, once those work I'll also add them as overnight :)14:14
*** santi has joined #buildstream14:21
*** traveltissues has quit IRC14:22
*** traveltissues has joined #buildstream14:23
gitlab-br-botBenjaminSchubert approved MR !1762 (jjardon/fdsdk-190805->master: .gitlab-ci.yml: Use latest freedesktop-sdk 19.08.5) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/176214:27
gitlab-br-botBenjaminSchubert merged MR !1760 (bschubert/add-randomized-order-tests->master: tox.ini: Add ability to run tests in a randomized order) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/176014:28
*** toscalix has quit IRC14:45
*** toscalix has joined #buildstream14:46
tme5benschubert, i think i understand now, thank you14:47
benschuberttme5: happy to help. :)14:48
tme5i broke the test because of a seemingly odd asymmetry between sources which implement fetch and those which implement get_source_fetchers14:48
tme5if i want to mark something as needing further fixing etc. should i use XXX in a comment?14:50
benschubertfurther fixing as the tests don't pass? I would use pytest.mark.xfail(reason="THE REASON IF FAILS") and add a TODO or FIXME14:51
tlater[m]Also, an issue is often appropriate.14:51
benschuberttlater[m]: unless it's done in the same MR :)14:52
tme5the test passes but basically i'm having to rely on undocumented implementation detail14:52
tme5of a public API function14:52
tme5nope that is indeed a complete lie and I can't read14:53
tme5never mind!14:53
tme5:)14:53
*** traveltissues_ has joined #buildstream14:58
*** traveltissues has quit IRC14:58
gitlab-br-botBenjaminSchubert opened issue #1236 (Follow-up from "WIP: Optimize consistency and state handling") on buildstream https://gitlab.com/BuildStream/buildstream/issues/123615:00
benschuberttlater[m]: if you have time for another look at !1739. I believe it should be good for benchmarking and proposal on the ML :)15:06
gitlab-br-botMR !1739: WIP: Optimize consistency and state handling https://gitlab.com/BuildStream/buildstream/merge_requests/173915:06
benschubert(will still need to update the NEWS)15:07
tlater[m]benschubert: Sure15:08
*** lachlan has quit IRC15:19
tlater[m]benschubert: Looks pretty much good to me15:21
tlater[m]Obviosuly those comments will still need cleaning, but it's good enough for a proposal :)15:22
*** lachlan has joined #buildstream15:22
gitlab-br-botjuergbi closed issue #1226 (Add CI job for buildbox-run-bubblewrap with buildbox-fuse) on buildstream https://gitlab.com/BuildStream/buildstream/issues/122615:24
gitlab-br-botjuergbi merged MR !1752 (juerg/buildbox-run-bubblewrap->master: Add CI job to test buildbox-run-bubblewrap and buildbox-fuse) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/175215:24
benschubertyep :) I'll prepare a ML post then15:28
gitlab-br-bottpollard opened MR !1764 (tpollard/showjunction->master: _frontend/widget.py: show_pipeline() Don't show buildable for junction) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/176415:40
*** narispo has quit IRC15:42
*** narispo has joined #buildstream15:42
*** qinusty has quit IRC15:51
*** ikerperez has quit IRC15:51
*** adds68 has quit IRC15:51
*** lachlan has quit IRC15:58
*** lachlan has joined #buildstream15:59
tme5what's your policy of scopes of MRs?16:05
tlater[m]tme5: There's no particular policy. Preferably an MR covers one topic/solves one problem, but things often blur depending on what level of abstraction you're looking at.16:05
tlater[m]If an MR gets very big because you chunk lots of things into it, someone might suggest you split it to make it easier to work on/review/merge16:06
tme5my branch mostly affects one file, can my branch do minor clean-up/commenting/refactoring in functions i'm using?16:06
tme5said changes have their own commits16:06
tlater[m]Yes, that's not uncommon, though you should preferably keep refactoring to separate commits16:07
*** traveltissues_ has quit IRC16:07
tlater[m]tme5: No problem at all with that :)16:07
tme5ok nice, thanks16:07
juergbitlater[m]: the tar change breaks userchroot: https://gitlab.com/BuildStream/buildstream/-/jobs/37503344216:18
juergbineed to fix up utils._force_rmtree, it shouldn't fail in this case16:19
tlater[m]:(16:19
tlater[m]Does that test normally not run?16:19
tlater[m]Oh, userchroot16:20
tlater[m]Yeah16:20
tlater[m]juergbi: That'll be because we don't have group permissions, right?16:20
tlater[m]It should become 775, but only for that branch16:20
juergbitlater[m]: no, the immediate issue is that chmod() throws an exception because the file owner is casd, not bst16:21
juergbi(EPERM)16:21
juergbiit would likely work just fine without the chmod16:21
tlater[m]Hm, strange, surely that should have happened with the old implementation too?16:22
juergbino, the old implementation only called chmod on failure16:22
juergbiforce_rmtree always calls it16:22
tlater[m]We could probably do that here too, to be fair16:22
tlater[m]This would fit in the general permissions fix MR, right?16:23
tlater[m]Is that one still open or should I start a new one?16:23
juergbithat was already merged a while ago16:24
juergbiso either a new one or we'll add it to the userchroot one16:24
tlater[m]Probably doesn't make sense without the userchroot change, to be fair16:24
juergbinot sure whether it makes more sense to switch to onerror or ignore EPERM on chmod16:26
tlater[m]juergbi: We could get EPERM for other reasons, no?16:27
juergbiEPERM on chmod can only happen if you're not the file owner, afaict16:27
tlater[m]Hm, if that's guaranteed we can probably ignore it16:28
tlater[m]But I'm not sure I like that. It makes more sense to only change permissions if we realize we need to in my mind, even if it's slightly racey16:29
juergbiit's what the POSIX manual says. on Linux EPERM can also happen if the file is marked immutable or append-only (file attributes that are not part of POSIX)16:29
juergbiI'd be fine with switching to onerror16:30
tlater[m]I think I prefer that.16:30
*** adds68 has joined #buildstream16:34
*** ikerperez has joined #buildstream16:36
gitlab-br-bottmewett opened MR !1765 (tmewett/recursive-git->master: Make Git source plugin clone submodules recursively) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/176516:40
*** phildawson has joined #buildstream16:41
tme5^ ready for review :)16:43
*** santi has quit IRC16:44
*** santi has joined #buildstream17:00
*** phildawson_ has joined #buildstream17:06
*** phildawson_ has quit IRC17:15
*** phildawson_ has joined #buildstream17:16
*** toscalix has quit IRC17:19
*** toscalix has joined #buildstream17:20
tpollardinterrupt handling seems much more consistent for me on the debian target since !1755 btw benschubert17:25
gitlab-br-botMR !1755: scheduler.py: Optimize scheduling by not calling it unnecessarily https://gitlab.com/BuildStream/buildstream/merge_requests/175517:25
tpollardbefore it could often take quite a delay to propagate the interrupt17:26
tpollardI guess due to the signal overloading17:28
tpollardor it blocking from writing the interrupt dialogue to the UI whilst it processed the warning messages17:29
gitlab-br-botjuergbi opened issue #1237 (Add CI job for buildbox-run-userchroot) on buildstream https://gitlab.com/BuildStream/buildstream/issues/123717:31
gitlab-br-botjuergbi closed issue #1177 (Support buildbox-run as sandboxing backend) on buildstream https://gitlab.com/BuildStream/buildstream/issues/117717:34
*** toscalix has quit IRC17:35
*** toscalix has joined #buildstream17:36
juergbitpollard: yes, that makes sense. SIGINT is ignored whenever the asyncio socket buffer is full, which was frequently the case in that test repo17:37
juergbitpollard: do you need new WSL measurements with the rebased branch?17:37
*** tme5 has quit IRC17:39
benschubertHappy to hear that :)17:41
benschubert And I believe we'll never hit the warning again, unless we have a huge amount of builders stopping at the exact same time :)17:44
*** toscalix has quit IRC17:49
*** toscalix has joined #buildstream17:58
*** toscalix has quit IRC18:00
tlater[m]tme5: (whenever you're around) URIs aren't allowed to have non-absolute paths: https://tools.ietf.org/html/rfc3986#section-318:00
*** lachlan has quit IRC18:00
*** toscalix has joined #buildstream18:01
*** toscalix has quit IRC18:02
tlater[m]Oh, hang on, path-rootless...18:02
tlater[m]Nevermind, I might have misinterpreted that18:03
*** santi has quit IRC18:03
*** jonathanmaw has quit IRC18:04
juergbitlater[m]: yes, URIs can definitely be relative. however, they aren't allowed to contain arbitrary characters (without escaping)18:05
juergbiso I still think we need a separate path field18:06
*** tiagogomes has quit IRC18:06
*** lachlan has joined #buildstream18:06
benschubertI dislike this idea, that will make simple elements harder to write and remove some guarantees (cached state, etc) that we currently have, I'll have to write an answer to the ML18:08
benschubertI'd rather go for the project-path variable and treat them as normal remote sources18:09
benschubertBut thoses thoughts will go on the ML tomorrow18:09
benschubertAfaik, we should already be supporting any uri scheme without change, "just" need to document/add the variable and we would have a solid system18:11
*** lachlan has quit IRC18:17
*** lachlan has joined #buildstream18:30
*** rdale has quit IRC18:33
KinnisonDoes anyone know why master has issues with 3.8?19:13
Kinnisoncoldtom: ^^?19:14
*** lachlan has quit IRC19:19
*** phildawson_ has quit IRC19:35
*** benschubert has quit IRC20:30
*** benschubert has joined #buildstream21:49
benschubertKinnison: the problem is between coverage, the asyncio loop, its signals and python 3.821:49
benschubertI've tried looking at it, but still haven't found out the root cause. Also coverage 5.0 should be out by end of week or next week, and it's not working either with our code so I wonder if that might be easier to fix first21:51
benschubertAnd there's been quite a few change on asyncio in 3.8 :(21:52
benschuberthttps://gitlab.com/BuildStream/buildstream/tree/bschubert/python38 is where I am at currently21:59
benschubertAfaik, my branch should work when using BuildStream22:01
*** phildawson_ has joined #buildstream23:03
*** phildawson_ has quit IRC23:06
Kinnisonta benschubert23:18
*** phildawson_ has joined #buildstream23:33

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!