IRC logs for #buildstream for Friday, 2018-12-28

*** kapil___ has joined #buildstream00:28
*** max has quit IRC00:31
*** lsfranco has joined #buildstream00:32
*** nimish has joined #buildstream01:46
*** tristan has joined #buildstream02:23
*** kapil___ has quit IRC02:47
*** nimish has quit IRC03:23
*** lsfranco has quit IRC05:28
*** abderrahim32 has quit IRC06:44
*** abderrahim32 has joined #buildstream06:45
*** lsfranco has joined #buildstream07:07
*** slaf_ has joined #buildstream07:34
*** slaf has quit IRC07:36
*** slaf_ is now known as slaf07:36
*** juergbi has quit IRC08:53
*** juergbi has joined #buildstream08:53
laurencejuergbi, thanks - I wanted to add cs-shadow so that he could edit the page for the Gathering in January12:17
laurencejuergbi, but i can't quite remember how it works for the GNOME wiki12:18
juergbilaurence: anyone that is already listed on that page can add other users to the list12:18
juergbido you know cs-shadow's GNOME wiki username?12:19
laurencejuergbi, I believe it's simply ChandanSingh - looking at https://wiki.gnome.org/ChandanSingh12:19
laurencewhich of course doesn't exist yet but is the page cs-shadow created12:20
juergbiI added him to the list12:21
laurencethanks for the list, I just wasn't sure where that was kept12:21
laurenceoh, cheers juergbi :)12:21
cs-shadowlaurence, juergbi: thanks! I can confirm that I am able to update the wiki now12:29
juergbiyw12:29
*** max has joined #buildstream12:38
*** nimish has joined #buildstream13:40
*** max has quit IRC14:15
*** max has joined #buildstream16:47
*** bochecha has joined #buildstream17:16
*** max has quit IRC17:38
*** tristan has quit IRC18:02
*** max has joined #buildstream18:32
*** nimish has quit IRC19:13
*** bochecha has quit IRC20:03
*** max_ has joined #buildstream20:24
*** max has quit IRC20:24
*** max_ is now known as max20:24
*** juergbi has quit IRC20:30
*** tristan has joined #buildstream21:33
*** ChanServ sets mode: +o tristan21:57
tristancs-shadow, I'm looking at pipelines... seems you're doing the same thing as me in https://gitlab.com/BuildStream/buildstream/tree/tristan/use-tox21:59
cs-shadowtristan: ah! I didn't realize you were looking at it as well. I was playing with it as I wanted to include a demo in one of the ML threads I started about testing.22:03
cs-shadowI want to avoid site-packages if possible so was playing trial and run with the CI :)22:04
cs-shadowI guess it would make sense to not duplicate effort now?22:04
tristancs-shadow, I had to enable that still in order to test ostree22:04
tristanit's annoying, you cant conditionally say "dont try ostree if ostree is not installed", at least not to the linter22:05
tristanunless maybe we baked the .pylintrc22:05
tristancs-shadow, I was looking into it in the hope it can make tests run more consistently on peoples laptops, and maybe help the situation with the images22:07
cs-shadowhmm, in https://gitlab.com/BuildStream/buildstream/pipelines/41557281, I managed to run all integration tests without using site packages, but in order to install pygobject we need its build deps22:07
tristancs-shadow, i.e. we could use a pip freeze for different environments for testing22:07
tristanoh so you did `pip3 install gobject PyGObject` ?22:08
tristanor you put those in your deps ?22:08
cs-shadowyes, I have put it as a pure python dependency, and included in additional plugin-requirements.txt22:08
cs-shadowsomething like https://gitlab.com/BuildStream/buildstream/blob/5f1de22da3a54adf2587e953432c150da10da849/tox.ini22:09
tristanoh that ! nice approach22:10
cs-shadowIt needs its build deps, like https://gitlab.com/BuildStream/buildstream/blob/5f1de22da3a54adf2587e953432c150da10da849/.gitlab-ci.yml#L39, but we can easily put those in base images if we go with this approach22:10
tristanthat's even better, because I'd like to have a frozen set of deps and then we get the flexibility we wanted, and allow dynamic installation in CI22:11
tristanthen we could just use pip freeze or smth to generate a deps file22:11
cs-shadowyep, that's exactly what I am doing on my branch22:12
tristanright, it needs like python3-venv, and I don't know what it is on fedora22:12
tristancs-shadow, sounds like I already like your branch better than mine haha22:12
cs-shadow:) I can tidy it up by tomorrow and then I'll request you to have a look22:13
tristanyou seem further along... I ran them with all three 3.5,3.6 and 3.7 versions22:13
tristanlemme see what you should take from my branch22:13
tristancs-shadow, https://gitlab.com/BuildStream/buildstream/blob/tristan/use-tox/tox.ini22:14
tristancs-shadow, first, notice `skip_missing_interpreters`22:15
tristancs-shadow, I needed passenv in case I have locally built python bindings22:16
tristanas my ostree bindings from my distro are too old22:16
tristancs-shadow, most importantly, skip_missing_interpreters = true means that most people will just get a clean exit from tox22:17
tristanand most people will only have one python installed22:17
tristanif they have multiple, they can run one batch with `tox -e py36 -- [pytest args]` like that22:17
tristancs-shadow, the one thing I didnt really check yet is if we need to rework coverage22:18
cs-shadowtristan: that's fair, `skip_missing_interpreters = true` makes sense. And good tip about GI_TYPELIB_PATH, I wasn't aware of that22:18
tristanI have an updated CONTRIBUTING.rst: https://gitlab.com/BuildStream/buildstream/commit/943f6f1632475a5c0830d54115e073bf73eedabd22:20
tristancs-shadow, So maybe we can share the work ?22:20
cs-shadowtristan: that's really good22:21
cs-shadowalso, coverage should be unaffected AFAIU22:21
tristanI can investigate whether we are collating the coverage reports correctly, and fix that if it doesnt work with multiple runs22:21
tristanwhat I can imagine, is if tox runs multiple environments, only the last .coverage report is used22:22
cs-shadowah! that I am not sure of. I meant it should be fine in the CI setup22:22
tristanI imagine it will be fine in the CI setup too22:23
cs-shadowwhere we only run one env per job22:23
tristaninterestingly all the args are automatically picked up by setup.cfg22:23
tristanI guess pytest reads that directly22:23
cs-shadowhttps://stackoverflow.com/a/22256532 seems like there's an option22:23
tristanso ./setup.py test still works to test against your host environment22:23
cs-shadowyeah, pytest looks for pytest.ini, tox.ini and setup.cfg, in that order (I think)22:24
tristanso only adding a tox.ini on top of everything makes tox usable as a frontend to the existing stuff22:25
tristanit's nicely simple anyway22:25
cs-shadowexactly, so people's existing workflow won't break just because of adding tox. Instead, they'll now also have a simpler way of running tests in virtual envs22:27
tristanRight, but direct people to tox by default in the guides, in the hope it is overall less hassle :)22:28
cs-shadowagree22:30
tristancs-shadow, we'll need a command line to install all the deps for ostree/pygobject22:31
tristanthat is a different way to install, I only learned it was possible this week22:31
tristan(I think last time I tried, the gobject python thing was a source download with a failing build)22:32
cs-shadowtristan: yep, that makes sense. I found the necessary packages from https://pygobject.readthedocs.io/en/latest/devguide/dev_environ.html#devenv but that page talks about more than just installing the deps22:35
cs-shadowso including a short one-liner with reference to this page would probably be okay22:35
cs-shadowunfortunately, the one-liner is going to look different based on the operating system/distro22:37
tristancs-shadow, that is the same page I stumbled upon indeed22:38
cs-shadowwould be ideal if we can request these folks to publish wheels for their package22:38
cs-shadowat least for linux perhaps22:39
tristanwhich ?22:39
tristanall of them ?22:39
cs-shadowpygobject i mean22:39
cs-shadowthat's the only package with non-python deps22:39
cs-shadow(except for psutil, but that only requires a compiler)22:40
tristanah them yeah... I don't think it is typical to use pygobject installed from pip22:40
cs-shadowfair enough22:42
tristanwell, I dont know what your chances are of getting them to publish wheels22:43
tristanAnyway, eliminating the site packages for the sake of running tests is certainly desirable22:44
tristanseems I cannot trust my python path22:44
tristanI had to uninstall pytest which I previously installed with `--user`, for my py35 batch to pass22:45
cs-shadowyeah, and if someone really wants to use site packages for whatever reason, they can always do so by a command line flag22:46
cs-shadowtristan: the pytest failure might have been caused in case the newer version of pytest causes issues with our test suite22:46
cs-shadowbut that's just a guess as I haven't had the problem yet22:46
tristanI am using latest I think, anyway I don't know why it chose a host pytest22:47
cs-shadowmight be the way tox discovers site pacakges22:49
cs-shadownot sure22:49
tristanI hope the developer setup experience is not too badly impacted by the installation of these22:51
tristanalternatively, I was really hoping to find a way to just tell pylint to skip ostree where it's unavailable22:52
cs-shadowthat also makes sense, especially since that's how other plugins behave22:53
tristanright, we do that everywhere else22:57
tristanwe could split the linting out of the tests, that seems to make sense anyway22:57
tristanwe could run the linting once in parallel from the rest of the tests22:58
cs-shadowsounds good, it would also improve the developer experience as folks will be able to run just the tests wiyhout linting22:59
tristananother benefit is that I have a feeling the coverage thing is capturing the linter, and any chance of that is eliminated anyway23:02

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