IRC logs for #buildstream for Friday, 2019-10-11

*** tristan has quit IRC00:31
*** tristan has joined #buildstream01:14
*** narispo has quit IRC04:23
*** narispo has joined #buildstream04:23
*** narispo has quit IRC06:20
*** narispo has joined #buildstream06:20
*** gitlab-br-bot has quit IRC07:20
*** gitlab-br-bot has joined #buildstream07:22
*** traveltissues has joined #buildstream08:00
*** tpollard has joined #buildstream08:03
*** phoenix has joined #buildstream08:04
*** phildawson has joined #buildstream08:29
*** tiagogomes has joined #buildstream08:49
*** santix has joined #buildstream08:50
*** lachlan has joined #buildstream09:02
*** jonathanmaw has joined #buildstream09:12
*** lachlan has quit IRC09:14
*** lachlan has joined #buildstream09:16
*** phoenix has quit IRC09:34
*** lachlan has quit IRC09:50
*** lachlan has joined #buildstream09:55
gitlab-br-botjjardon opened issue #1168 (WSL overnight test are failing) on buildstream https://gitlab.com/BuildStream/buildstream/issues/116809:58
*** tristan has quit IRC09:59
gitlab-br-botjjardon opened issue #1169 (aarch64 overnight job is failing: "ERROR:   py37: commands failed") on buildstream https://gitlab.com/BuildStream/buildstream/issues/116910:04
benschubertjjardon: ^ I updated the title, it's because of 'buildbox-casd' not being present in the docker image for aarch6410:09
tlater[m]We really need a checklist for things to do when introducing a new dependency...10:10
jjardonAh rigth; thanks benschubert10:11
jjardonbenschubert: juergbi for me the main benefit of all plugins to be outside (even if they are in the same repo) is that all plugins are first class citizen ; if some are inside the repo it's easier to fix those and break external ones (I see this happening before several times)10:24
juergbijjardon: I agree that if some plugins are external, it's better if all plugins are external (except for very few plugins providing core functionality)10:28
juergbiwhere I fail to see a significant advantage is keeping all plugins in a single external repo compared to keeping all plugins in the core repo10:29
juergbiI think it makes sense to keep plugins external but only if we use multiple repositories10:29
juergbi(making it easy for anyone to provide a plugin, among other things)10:30
*** cs-shadow has joined #buildstream10:30
traveltissuesit's definitely more convenient especially in terms of packaging10:30
jjardonWell, are you saying that if you want a new plugin you have to integrate it in the main repo?10:31
jjardonBasically not allowing external plugins?10:32
traveltissuesno, i think it would be the opposite10:32
traveltissuesif you kept all plugins in the core repo, then yes, but not if they were all external which i think is the better way to approach it10:33
jjardonIf we agree that if you allow external plugins should be all external, then if you put all in the main repo you should not allow external plugins10:34
jjardontraveltissues: I think we are saying the same :)10:34
traveltissuesi'm suggesting that all plugins would make more sense being in external repos10:34
traveltissuesi think juergbi agreed?10:35
jjardonYeah, that is the current plan10:35
traveltissuesi think the disagreement is whether that external plugin source should be one repo per plugin or one repo and i'd prefer one repo per plugin10:35
traveltissuesyou could always metapkg those together regardless10:35
jjardonThat migth be more correct but impractical10:36
traveltissueswhy is that?10:36
jjardonEvery single repo have to have its CI, release cycle, issue tracking etc10:37
juergbijjardon: it doesn't have to be strictly one repo per plugin10:37
coldtomplus we already see that with two repos plugins can be broken and nobody notices, this just gets compounded when it's one repo per plugin10:37
traveltissuesyes but that is not too much of a burden jjardon10:37
juergbisensible grouping could definitely be useful10:37
benschubertcoldtom: people who care about a repo do notice. Others don't need to notice :)10:38
benschubertjuergbi: I do agree on that point10:38
juergbicoldtom: the plan was/is to test known plugin repos also as part of BuildStream core CI10:38
jjardontraveltissues: let's agree on disagree; we barely manage to maintain one10:38
traveltissuesalso in some ways it's a bit difficult to enforce this, once they are moved out of core it becomes the maintainers job to see that their plugin does not break10:38
benschubertjuergbi: I don't think it is 'known plugins' but a subset of plugins that are maintained by BuildStream core maintainer rather :)10:38
juergbiwell, not all known plugins but I wouldn't restrict it that much10:39
benschubertAlso remember, we should not be breaking plugins after 2.0 as we are doing now10:39
traveltissuesjjardon, i had to roll out ci on multiple plugins on another project, i feel your pain10:39
benschubertso the problem _in theory_ should not be much10:39
coldtomyes, i was going to say that a lot of the issues are the gap between master/stable10:39
juergbiyes, it's currently mainly an issue because master doesn't have API stability10:39
traveltissues^10:39
*** narispo has quit IRC10:42
*** narispo has joined #buildstream10:42
*** lachlan has quit IRC10:55
tlater[m]juergbi: Grmbl, our test suite really relies on CASCache internals to check remote CASes10:59
tlater[m]Think it's worth refactoring that so that we just use the actual grpc API?10:59
*** lachlan has joined #buildstream11:03
*** narispo has quit IRC11:12
*** narispo has joined #buildstream11:13
juergbitlater[m]: hm, is this really an issue?11:16
juergbitheoretically, it would be nice to test buildstream against other CAS servers but I don't think this is a big issue right now11:18
*** lachlan has quit IRC11:30
*** narispo has quit IRC11:33
*** narispo has joined #buildstream11:34
*** paulsherwood has left #buildstream11:42
tlater[m]juergbi: the problem is that since we're not using CASCache as the remote anymore, all tests break down completely because they use file paths that don't work on buildbox-casd.11:45
*** lachlan has joined #buildstream11:49
juergbitlater[m]: I don't understand. CASCache uses a casd-compatible filesystem layout, otherwise bst wouldn't work either12:07
juergbii.e., we're just removing an abstraction layer (CASCache) for bst-artifact-server. it's not like we're switching from one storage to another. master is already casd as well12:08
*** santix has quit IRC12:13
*** lachlan has quit IRC12:25
tlater[m]juergbi: hrm, nevermind me, I think I just accidentally changed something I didn't expect I would12:25
*** santix has joined #buildstream12:40
gitlab-br-bottpollard closed issue #1168 (WSL overnight tests are failing) on buildstream https://gitlab.com/BuildStream/buildstream/issues/116812:44
*** tpollard has quit IRC12:54
*** tpollard has joined #buildstream12:55
tpollardanyone having issues with the 'test_mirror_track_upstream_absent` tests?13:15
tpollardit always fails locally for me, but not in CI seemingly13:15
*** santix has quit IRC13:20
traveltissuesi haven't seen any issues13:23
traveltissuesdo you have a snipet13:23
traveltissuessnippet*13:23
traveltissuesi think i've found some questionable test behaviour. aiui workspace open --force --directory dir should ignore files in dir, but the test for this expects the existing files to be removed13:25
traveltissuesi have to assume this is because no-checkout is False by default?13:26
traveltissuesi don't find either option to be very intuitive or how they combine, checkout is just a checkout imo it doesn't imply how existing non-tracked files should be treated13:28
*** santix has joined #buildstream13:35
*** lachlan has joined #buildstream13:40
*** jonathanmaw has quit IRC14:05
*** lachlan has quit IRC14:23
*** lachlan has joined #buildstream14:25
*** santix has quit IRC14:29
tlater[m]Could someone run `tox -e py37-nocover -- -x tests/artifactcache/push.py::test_push` on master and tell me if the test is working for them?14:29
*** phoenix has joined #buildstream14:57
tlater[m]Ugh, looks like most tests are failing locally for me :(14:58
*** phoenix has quit IRC14:59
cs-shadowtlater[m]: works for me15:01
* tlater[m] is a little stumped15:02
tlater[m]Maybe I should update my buildbox-casd15:02
* cs-shadow tested this using the same docker image that's used in CI15:06
tlater[m]I'm getting an "instance name unkown", which is odd, coming from the test suite.15:08
cs-shadowcan you run `buildbox-casd --help` ?15:12
tlater[m]cs-shadow: Yup15:12
tlater[m]Though after a couple of  `git clean -ffxd` and `git reset --hard` my test suite is thoroughly borked now15:13
* tlater[m] wonders if his system python is struggling15:13
cs-shadowmight be time to get a coffee (and restart your computer in the meantime) :)15:14
* tlater[m] already did :(15:15
tlater[m]If I was one to give up it'd be time to crack out the arch iso and reinstall15:16
tlater[m]Currently I'm getting an importmismatcherror from pytest15:16
tlater[m]I've had this before, but I haven't a clue what caused it last time.15:16
traveltissuesin these cases i delete the tox15:21
tlater[m]Grmbl, still works in a different repo15:21
tlater[m]traveltissues: I've run `git clean -ffxd` and `git reset --hard` a dozen times or so. It's equal to the state on origin/master.15:21
traveltissuesright but the tox cache is not indexed right?15:22
tlater[m]-ffxd is required to actually delete the .tox dir, you need -ff to delete directories15:22
tlater[m]x removes non-indexed and indexed thigns15:22
traveltissuesi just do the old rm -rf15:22
traveltissuesand reclone15:22
tlater[m]Well, there's no .tox directory anymore15:22
cs-shadowthat should definitely clean it up unless you do something like `tox --workdir /some/other/dir`15:22
traveltissueswhen in doubt, it's easier15:22
tlater[m]Well, but I'll lose my local branches15:23
* tlater[m] doesn't think that matters15:23
tlater[m]But I'd rather not15:23
*** toscalix has quit IRC15:24
tlater[m]Hrm...15:25
tlater[m]It looks like pytest is trying to import both the conftest.py in the .tox dir and the one in src/buildstream/testing15:25
benschuberttlater[m]: I run my tests with pytest and don't get any problem?15:26
cs-shadowyeah, I do the same. Seems like something's weird in your setup :)15:26
tlater[m]I... doubt it. Considering that it works on the buildstream-1.2 branch15:26
tlater[m]I think we screwed up tox on master with up-to-date python3.7 or somesuch15:27
* tlater[m] triest to remember how to run setuptools15:27
cs-shadowtlater[m]: what version of python do you have?15:27
cs-shadowi mean including the patch version15:27
tlater[m]3.7.4 - updated this morning15:27
benschuberttlater[m]: I remember using tox yesterday on my personal laptop with ubuntu 19.10 up to date, and no problem either?15:28
tlater[m]It worked for me yesterday15:28
cs-shadow ¯\_(ツ)_/¯ 3.7.4 is the same version that the CI uses (and what I tried)15:30
tlater[m]It works on the 1.4.1 tag |:15:30
* tlater[m] is thoroughly stumped15:30
tlater[m]python dependencies shouldn't matter either, because tox takes care of those15:31
tlater[m]... It started running again after I checked out another branch and checked this one back in15:34
tlater[m]Black voodoo magic, I tell you15:34
tlater[m]Ah, no, looks like py37-nocover is broken again15:40
* tlater[m] figures out why15:40
tlater[m]It's probably the usedevelop thing again15:41
tlater[m]Oh, right, I had an issue about this: https://gitlab.com/BuildStream/buildstream/issues/112115:42
tlater[m]cs-shadow: When you said "works for me", I assume you meant the test suite in general, because the command I gave there clearly shouldn't work for you?15:46
tlater[m]Just because I'll still need to figure out why that test fails15:47
tlater[m]Aha, that test still works on master if I first apply the nocov patch15:52
* tlater[m] 's branch is therefore broken15:53
* tlater[m] curses this nocov issue15:53
gitlab-br-bottlater opened MR !1639 (tlater/nocover-usedevelop->master: Add usedevelop to nocover environments) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/163915:55
gitlab-br-botBenjaminSchubert approved MR !1639 (tlater/nocover-usedevelop->master: Add usedevelop to nocover environments) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/163915:57
gitlab-br-botBenjaminSchubert unapproved MR !1639 (tlater/nocover-usedevelop->master: Add usedevelop to nocover environments) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/163915:58
benschuberttlater[m]: ^ wut? why do we need that if not for coverage?15:58
tlater[m]benschubert: https://gitlab.com/BuildStream/buildstream/issues/112115:58
benschubertthe only reason for that was so that we would have access to the .so files15:58
tlater[m]Something else went very wrong15:58
tlater[m]That MR deliberately says it's a band-aid15:59
benschubertand breaks isolation for nocover tests :(15:59
tlater[m]Clearly nobody seems to care about isolation for nocover tests, I'm the only one running them15:59
tlater[m]They've been broken for a month15:59
traveltissuesi mostly just use the ci16:01
traveltissuesbecause enough things are skipped on my local testing16:02
tlater[m]traveltissues: That takes like, what, 30 minutes every time you want to check if your most recent change does something?16:02
* tlater[m] uses a test-driven approach, using CI as my test runner won't work at all, and I don't want my test suite to fail because it desperately tries to show me a coverage report16:03
*** tpollard has quit IRC16:05
traveltissuesmy suggestion is that if this test is important, it should be part of the ci16:06
benschuberttraveltissues: this tox env is to run the tests without coverage enabled, that's all :)16:07
benschubertso it's not important but it's very convenient16:07
tlater[m]Well, more importantly, it's a test that shows how buildstream behaves in isolation16:07
tlater[m]BuildStream can currently not be tested without its working directory16:08
tlater[m]That is a bug16:08
* tlater[m] thinks traveltissues is talking about that16:08
*** santix has joined #buildstream16:08
tlater[m]But afaik getting the repository into a state where this works again involves reverting the casd change, becasue that introduced it.16:09
benschuberttlater[m]: add 'tests/' at the end of line 14 in setup.cfg and try :)16:12
benschubert(which is why I would not reproduce, since I always specify the dir in which I test)16:13
tlater[m]benschubert: So, py.test tries to load conftest from any old directory?16:15
tlater[m]But by specifying that we restrict it to that dir?16:15
tlater[m]In that case, when do we load the conftest.py from src/buildstream/testing?16:16
tlater[m]Surely that has to be loaded at some point?16:16
benschuberttlater[m]: pytest will load all conftest.py by _path_ that it discovers from the root of the tests. If you don't specify anything, the root is '.', which means 'conftest.py' in sourcetest gets imported twice with different paths, which is wrong16:16
benschubertI actually never ran source tests with nocover, that is something that would need testing16:16
tlater[m]Right16:16
cs-shadowtlater[m]: what I tried was the same command you mentioned, but with `--workdir /tmp`. Let me try without that16:19
tlater[m]The source tests themselves seem to work...16:20
tlater[m]cs-shadow: Don't worry about it, it seems to work post debugging the other test suite issues I've run into16:20
cs-shadowall said and done, I do think we should have at least one CI environment that tests with `usedevelop`16:21
cs-shadowsorry, _without _`usedevelop`16:21
tlater[m]Yeah, that's less of an issue now that we know why it's failing16:22
gitlab-br-bottraveltissues opened (was WIP) MR !1637 (traveltissues/1140->master: Workspaces via sourcecache 2) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/163716:22
tlater[m]Although it'd be interesting to know if source tests work with this16:22
cs-shadowi meaan my motivation is that there are a lot of issues that can go undetected when using `usedevelop`, mostly related to incomplete manifests etc16:23
*** phoenix has joined #buildstream16:26
tlater[m]cs-shadow: Think it's enough to do that only on one platform?16:29
cs-shadowtlater[m]: yep, that's why i said _at least_ one environment16:29
tlater[m]Ah, sorry, mind skipped that part16:30
cs-shadow:)16:30
cs-shadowwell, it's Friday16:30
tlater[m]Hrm, this is going to be a bit more difficult than I'd hoped16:32
tlater[m]Doesn't really make sense to test this without testing things like the man pages16:33
tlater[m]Because those are especially prone to generating manifests16:33
tlater[m]But we can't currently test those with -nocover16:34
tlater[m]Oh well, I guess for now testing only the actual tests with nocover is an improvement16:34
*** lachlan has quit IRC16:37
*** lachlan has joined #buildstream16:38
*** bochecha has quit IRC16:46
*** santix has quit IRC16:51
*** tiagogomes has quit IRC16:53
*** lachlan has quit IRC16:56
*** tristan has joined #buildstream17:28
gitlab-br-bottraveltissues opened (was WIP) MR !1637 (traveltissues/1140->master: Workspaces via sourcecache 2) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/163717:29
gitlab-br-bottraveltissues opened MR !1640 (traveltissues/1140-softreset->master: Workspaces via sourcecache MR 2) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/164017:30
traveltissuesdoes anyone make use of workspace reset --soft?17:34
gitlab-br-bottraveltissues closed MR !1637 (traveltissues/1140->master: Workspaces via sourcecache 2) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/163717:43
gitlab-br-bottraveltissues opened issue #1170 (purpose of soft resetting workspaces) on buildstream https://gitlab.com/BuildStream/buildstream/issues/117017:47
*** traveltissues has quit IRC18:16
*** cs-shadow has quit IRC19:10
*** phoenix has quit IRC20:11
*** phoenix has joined #buildstream20:12
*** phoenix has quit IRC20:17
*** narispo has quit IRC22:28
*** narispo has joined #buildstream22:28
*** narispo has quit IRC22:55
*** narispo has joined #buildstream22:55

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