IRC logs for #buildstream for Thursday, 2017-12-14

*** mcatanzaro has quit IRC00:06
*** bochecha has quit IRC00:19
*** bochecha has joined #buildstream00:21
*** bochecha has quit IRC02:17
*** tristan has quit IRC07:02
*** tristan has joined #buildstream07:05
*** bochecha has joined #buildstream08:49
gitlab-br-botbuildstream: merge request (cache_local_element_unique_key->master: Cache the local element's unique key) #193 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/19309:03
*** jude has joined #buildstream09:07
*** valentind has joined #buildstream09:19
gitlab-br-botbuildstream: merge request (cache_local_element_unique_key->master: Cache the local element's unique key) #193 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/19309:21
*** noisecell has joined #buildstream09:39
*** ssam2 has joined #buildstream10:06
*** bethw has joined #buildstream10:13
*** sstriker has quit IRC10:15
*** jonathanmaw has joined #buildstream10:22
juergbigitlab CI is failing very early on (distcheck job): ERROR: Preparation failed: exit status 110:52
juergbialready retried, any ideas?10:52
ssam2not sure, but if it's running on the baserock runners we might be able to ssh in10:53
ssam2could you link to the log ?10:53
ssam2the runners are deleted after the build runs, but adding a long sleep statement just after the failure would be enough for us to try and reproduce it on the runner itself10:54
*** valentind has quit IRC10:57
* tlater noticed that the bst-here script doesn't have completion11:04
tlaterShould the docker image add completion?11:04
juergbissam2: https://gitlab.com/BuildStream/buildstream/-/jobs/4453862711:07
ssam2tlater, it would need to install it into the host11:08
ssam2i think there's a tool that could help with that11:08
ssam2juergbi, ah, definitely an issue with GitLab CI or the runners11:08
ssam2tlater, https://stowage.org/ might be useful11:09
tlaterHuh, their ssl cert is broken...11:09
* tlater dismisses vivaldi's message11:09
tlaterssam2: I suppose that could work, but it would be different from the bst-here script11:12
ssam2yes11:13
ssam2maybe that's a good thing, i don't know11:13
tlaterWould we want to support both? It seems really trivial to support stowage...11:14
ssam2i wouldn't want to support both long-term, but would be nice to try stowage and see if we can reduce our maintenance burden ...11:14
tlaterRight, I see what you mean.11:14
* tlater checks exactly how you make a docker image compatible with this.11:14
tlaterHm, it seems like a bit more of a pain than I thought, documentation isn't great :|11:29
tlater-> todo list11:29
*** mcatanzaro has joined #buildstream12:00
juergbita ssam2, CI completed successfully13:03
tlaterIntegration tests are still slow with a different base platform and pytest :\13:57
ssam2interesting14:00
ssam2i didn't expect pytest to gain anything, but i thought that reducing the size of the base dependency would definitely help14:00
ssam2although "slow" isn't a useful metric, the question is whether they are the same speed as before ?14:00
tlaterHaven't tested that properly yet, quite potentially faster, but I'm using local files which should get around a lot of the slowdown14:03
tlaterUnexpectedly "slow" for that14:03
tlaterWe'll see when the full suite is converted and the docker image is up, I suppose14:04
gitlab-br-botbuildstream: merge request (sam/multiple-caches->master: Multiple remote cache support) #166 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/16614:07
tristantlater, I believe we recommend launching `bst-here` without any arguments, so that it launches a shell in the docker image which *does* have completions that work14:31
tristantlater, running `bst-here build [TAB]` will never get you completions, though14:31
tlatertristan: The launched shell does not have completions, that's my complaint ;)14:31
tristanthat is a bug, then14:32
ssam2tlater, ah, I misunderstood14:32
ssam2pip must be failing to install the completions file somehow14:32
tlaterIt's not installed by pip afaik14:32
tristanit should be14:32
ssam2RUN ["/usr/bin/pip3", "install", "/root/buildstream"]14:33
tristanby pip, but not in all circumstances14:33
ssam2from the Dockerfile14:33
tristanso a few things can be happening14:33
* tlater thinks the docker image doesn't have bash-completions installed14:34
tristanit might be that it was never tested to work, and that fedora doesnt like completions being installed in the "regular place"14:34
tristanmaybe we need a --tweak-me-for-fedora option in interim, the right way would be to depend on `bash-completions` and read back the completions dir from the bash-completions package14:35
tristanwhich provides a pkg-config file, without being bash14:35
tristanalso, it can be much more hackable and easy without that, you only need to source the completion script when entering a shell14:36
tristanthat's what bash-completions package helps with anyway14:36
tristanso you could just source it when entering the bst-here shell to work around that14:36
ssam2`pkg-config --variable=completionsdir bash-completion` on fedora gives me /usr/share/bash-completion/completions14:38
ssam2which is the location we have hardcoded, as i understand it14:39
tristandoes it do that in the fedore that is in the docker image ?14:39
ssam2let me crank up docker and check14:39
tlaterIt's installed to "$PREFIX/share/bash-completion/completions", which presumably is /usr/local?14:40
tristanssam2, that is the problem14:40
tristantlater nailed it14:40
tristanssam2, for it to work properly in fedora, it needs to be installed as it would be for a distro package14:41
tristanwithout pip14:41
ssam2so  `pip3 --prefix=/usr` ?14:41
ssam2how would we install it without using Pip ?14:41
tristanpython3 setup.py install will do the correct thing for a distro14:41
ssam2ok14:41
tristanor should14:41
tlaterNo, it looks like it is /usr on fedora14:41
tristanwhat what what ?14:42
tlaterIt's installed to the correct directory14:42
tlaterLooking at the buildstream docker image rbn14:42
tlater*rn14:42
tristantlater, buildstream is, with `pip install` ??14:42
tlaterApparently, yes14:42
tlaterAnd I can see the completions file in the correct directory14:42
tristantlater, pip installs system-wide stuff in `/usr/local`14:42
tlater`ls /usr/share/bash-completion/completions/ | grep bst` gives me 'bst'14:43
tristanonly the package manager is supposed to install stuff in `/usr`, which is why we have this gross /usr/lib/python vs /usr/local/lib/python thing in the first place14:43
tlaterSame for /usr/bin, incidentally14:43
tlaterIt's down to distro configuration, though, possible they don't specify a prefix for pip14:43
tristanweird, I dont get how all this pip stuff is supposed to not work anyway14:44
* tlater checks the pkg-config line14:44
tristanI expect that maybe bash-completions isnt installed14:44
tlaterHuh, no pkg-config14:44
ssam2ah, that could be the case14:44
ssam2didn't realise it was a separate package14:45
tristanand so the mechanics of sourcing the completions at shell startup time are just missing14:45
tlaterThat's possible, but there look to be a lot of scripts in the completions directory14:45
ssam2`dnf install bash-completion` causes a package to be installed14:45
tlaterAh, alright, that's it then14:45
tristanhaving completions installed doesnt mean that bash-completions is installed, right14:46
tlaterYeah, the variable isn't set in pkg-config either14:46
tlatertristan: It *should* append the correct line to /etc/profile14:46
tlaterOn most distros installing it is enough14:46
tristanI dont know what appends what where14:46
ssam2ah yes, now I get a nice hang when typing `bst sh<TAB>`14:46
ssam2followed eventually by some completions :-)14:46
tlatertristan: The package manager appends the line to source bash-completions to the generic system profile :)14:47
tristanI know that there is this standard called "bash-completions", and the distros which decide to maybe use that standard, allow depending packages to read the completions dir from it14:47
tristanbesides that, a million things can happen when you launch a shell, parsing /etc/profile might, or might not be one of those things14:47
ssam2tlater, wanna do a patch for the docker-images repo to add the bash-completion package ?14:48
*** semanticdesign has joined #buildstream14:48
tristantlater, ok I'll take your word for it :)14:48
tlaterYup, should just be a second14:48
tristanssam2, are you sure the hang is not just needing a second <TAB> ? is it that horribly slow in docker ?14:49
ssam2not sure14:49
tlaterIt's pretty slow outside of docker, too14:49
* tristan noticed annoyingly in some cases he has to hit <TAB> an extra time, probably needs to be improved14:50
* tlater wonders if we incur the setuptools loading slowness for completion as well14:50
ssam2we will do, yes14:50
tristanthat would be horrible yeah14:50
tristanwe do some hacks to make that codepath quick14:50
tristanwe should do more14:50
tristanlike, we sys._exit() or such, so save time at shutdown14:51
tristanbecause completions should be snappy14:51
tlaterThey really are not atm, definitely could use some improvements - perhaps worth an issue?14:51
tristansure14:52
gitlab-br-botbuildstream: issue #171 ("bash completions are slow") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/17114:55
tlaterssam2: MR is up: https://gitlab.com/BuildStream/buildstream-docker-images/merge_requests/13/diffs15:05
* tlater is glad he isn't tempted to push these one liners to master15:05
ssam2thanks15:06
* ssam2 secretly prefers the package list to be alphabetically sorted15:06
* tlater completely overlooked that as a possibility, and will now never be able to do without again 15:07
ssam2:-)15:11
*** nexus_ has joined #buildstream15:14
gitlab-br-botbuildstream: merge request (jonathan/fix-plugin-loading->master: Add plugin loading fixes) #195 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/19515:19
gitlab-br-botbuildstream: merge request (jonathan/fix-plugin-loading->master: Add plugin loading fixes) #195 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/19515:21
*** noah has joined #buildstream15:34
*** noah has quit IRC15:39
*** noah has joined #buildstream15:40
tristanintegration_unix down to ~45min, integration_linux at ~15min16:11
tristanI think that's an improvement ?16:11
tristanshould be much better after getting rid of the staging of org.freedesktop.Runtime weirdness16:13
tlaterThat's a lot quicker16:13
tlaterI assume that's down to your hacking last night?16:13
tristantlater, thats only a commit which changes all the checkouts to use `bst checkout --hardlinks`16:15
*** bethw has quit IRC16:15
tristanthe bottleneck on the runners is I/O16:15
tristanso16:15
tlaterWhat improved it then?16:15
tristan`bst checkout --hardlinks` vs `bst checkout`16:16
tristanI mean it *does* help16:16
tristanit's just very easy workaround16:16
tlaterDoes it actually halve the test time?16:16
tristanwe dont modify the outputs in place anyway in those tests so should be safe16:16
tristanI dont know, how long was it before that commit ?16:16
tristanmaybe16:16
tlaterLast I remember was it taking 2 hours16:17
tristanthis can easily be checked on the pipelines page16:17
* tlater takes a peek16:17
tristanhttps://gitlab.com/BuildStream/buildstream/commit/819645b230506cb0b2736d08e9c155f24c724cda16:18
tristanthat's the commit which introduces it16:18
tristanit could be tested by creating pipelines with and without the commit ;-)16:18
tlaterHmm16:18
*** bochecha has quit IRC16:19
tlaterOddly enough, most pipelines were at ~1 hour before then16:19
tlaterIt saved 15 mins, at least16:19
tlaterBut a week or so ago we had a commit that removed a bunch of imports16:19
tlaterSince then the tests have been taking 1/3 of the time16:19
tlaterHm, no, maybe that was just an outlier16:20
tlaterWell, 15 mins is something :)16:20
tristanreducing runtime size, and avoidance of staging 2 runtimes, will help a lot16:21
tlaterI've started moving the tests to an alpine-based base image, presumably there's no reason to run the tests with the gnome sdk?16:21
* tlater only discussed this with ssam2 16:22
tristanjonathanmaw, so looks like you have a pep8 problem on your MR...16:22
tristanjonathanmaw, I'd like to merge that otherwise...16:22
tristantlater, I dont really know what alpine is, but...16:23
tristantlater, if we're going to use a runtime, I think the one we should eventually be using is to build it from freedesktop-sdk project16:24
* tlater hasn't really read up on that project yet16:26
tristantlater, as it seems to make sense to dogfood as much as we can in this case, I would like to see buildstream tested using images which buildstream produces16:26
tristanat least, as far as the runtime goes16:26
tristanfor the docker in which we run the tests, it makes more sense of course to use specific versions of distros16:26
* tlater is concerned with test time here16:28
tlaterI'm guessing that the freedesktop-sdk project will be very small though16:28
tristantlater, in any case; I think that it's probably better to do something else, or even help whip the freedesktop-sdk project into shape, rather to make a change that will probably change again soon-ish16:28
tlaterYeah, I agree on that16:28
tristanthe size of the output will be somewhat selective16:29
tristanwe will take from it the smaller runtime I suppose, but we will depend on it as a project16:29
tristanI think16:29
tristanso post-landing of junctions16:29
gitlab-br-botbuildstream: merge request (jonathan/fix-plugin-loading->master: Add plugin loading fixes) #195 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/19516:30
tlaterWould it make sense to do the integration-test revamp after we can start depending on the freedesktop-sdk then?16:30
tristanI dont think it's worth holding off on that no16:30
tristanSo looking at the details; the runtime produced by freedesktop-sdk will be flatpack-ish too16:31
tristanso it will want to be mounted into /usr of a "usermerge" rootfs16:32
tristansimilar to what we *should* be doing with the flatpak Sdk16:32
tristanbut are failing to do, we should change that right away16:32
tristanand reduce a lot of I/O thanks to that change16:33
tristanThen, when freedesktop-sdk is ready, post junctions, we can replace the base dependency once, and address any fallout from that change at the same time16:33
tristanonce16:33
tristanThat is an activity fairly orthogonal to the rest16:34
tlaterYeah, that seems reasonable16:34
tristanSo in between, if we can make the other changes, moving to pytest, testing only the relevant details instead of "absolute sameness"16:34
tristanwe can do those too16:34
*** noisecell has quit IRC16:42
*** noah has quit IRC16:55
gitlab-br-botbuildstream: merge request (132-loading-external-plugins-works-without-explicit-requirement-in-project-conf->master: Resolve "Loading external plugins works without explicit requirement in project.conf") #125 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/12516:56
gitlab-br-botbuildstream: issue #132 ("Loading external plugins works without explicit requirement in project.conf") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/13217:19
gitlab-br-botbuildstream: merge request (jonathan/fix-plugin-loading->master: Add plugin loading fixes) #195 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/19517:19
*** valentind has joined #buildstream17:37
*** xjuan has joined #buildstream17:38
*** bochecha has joined #buildstream17:39
bochechassam2: I can't believe after all these years Python still doesn't have something for atomic writes in its stdlib, it's such a common need :x17:41
bochechassam2: would you send yours upstream?17:41
ssam2i'm having enough trouble getting it merged into BuildStream, never mind cpython17:44
ssam2i agree that it would be really useful, though17:44
juergbii fear ssam2 will think twice before writing another utility function ;)17:46
ssam2it's not nearly as bad as the last time i tried to submit something to cpython :-)17:48
*** bochecha has quit IRC18:09
*** bochecha has joined #buildstream18:11
*** jonathanmaw has quit IRC18:42
gitlab-br-botbuildstream: issue #172 ("pkg_resources module causes a delay of between 0 and many seconds every time `bst` starts up") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/17219:00
gitlab-br-botbuildstream: merge request (sam/meson->master: WIP: use Meson instead of setuptools to install and distribute BuildStream) #196 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/19619:08
*** ssam2 has quit IRC19:15
*** semanticdesign has quit IRC20:25
*** bethw has joined #buildstream21:41
*** xjuan has quit IRC21:51
*** bethw has quit IRC21:57
*** bethw has joined #buildstream22:01
*** bethw has quit IRC22:10
*** mcatanzaro has quit IRC22:26
*** valentind has quit IRC22:40
*** bochecha has quit IRC22:53
*** bochecha has joined #buildstream22:53
*** bochecha has quit IRC23:09
*** bochecha has joined #buildstream23:15
*** bochecha has quit IRC23:18
*** bochecha has joined #buildstream23:18

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