IRC logs for #buildstream for Monday, 2018-02-12

*** slaf has joined #buildstream00:14
*** Prince781 has joined #buildstream03:09
*** Prince781 has quit IRC04:35
*** tristan has joined #buildstream08:14
*** toscalix has joined #buildstream08:48
*** valentind has joined #buildstream08:59
*** jennis has quit IRC09:04
*** ssam2 has joined #buildstream09:05
*** jennis has joined #buildstream09:23
gitlab-br-botbuildstream: merge request (sam/install-tweaks->master: doc/source/install.rst: Clarify install instructions) #252 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/25209:30
gitlab-br-botbuildstream: merge request (sam/plugin-docs->master: doc: Promote documention on how to use external plugins up one level) #209 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/20909:32
gitlab-br-botbuildstream: merge request (sam/symlinks-optimization->master: Improve tests for symlink handling) #246 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/24609:34
ssam2https://gitlab.com/BuildStream/bst-external/merge_requests/9 should be ready for merge now, can anyone take a look ?09:36
*** tiago has joined #buildstream09:58
tristanssam2, looks alright to me, just went through chasing what is happening with the exceptions... also looks like it chose to use `requests` library09:58
tristanwhich jumps out at me a bit09:58
juergbii have one comment but it looks like gitlab is failing...09:59
tristanI'm not sure why we chose to use urllib for tar & zip sources and now requests for docker sources09:59
tristanAlso looks like we need to work out a better story on sharing our test scaffolding with third party plugin repos (but we knew that...)10:00
juergbiok, added comment about relative paths10:01
ssam2requests is generally better10:01
ssam2i can switch to to use urllib if preferred10:01
juergbidamn it, lost a comment on another MR because of broken gitlab10:01
tristanssam2, I dont want to block on that really; and I dont have a preference for urllib10:02
juergbiah no, it got through10:02
*** jonathanmaw has joined #buildstream10:02
tristanssam2, but if requests is generally better (google shows me various SO posts which seem to recommend requests for convenience)... it might be worth filing a bug about using requests uniformly throughout the plugins we maintain10:03
*** tiago has quit IRC10:03
*** tiago has joined #buildstream10:04
ssam2the in-tree ones as well ? ok10:04
tristanah nice catch juergbi10:04
gitlab-br-botbuildstream: merge request (sam/symlinks-optimization->master: Improve tests for symlink handling) #246 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/24610:14
tristanerrr10:16
tristanjuergbi, ssam2 ... the above merge 246 adds a test to the integration subdirectory10:16
tristanAnd does not mark it with @pytest.mark.integration10:16
tristanWhat do we think about keeping all the integration style tests in the same directory ?10:17
*** aday has joined #buildstream10:17
juergbioh, i missed that. it looks like it ran pretty fast10:18
tristanI dont personally care about keeping them all in the same directory10:18
juergbitristan: it has pytestmark = pytest.mark.integration10:19
juergbiso it is properly skipped outside integration tests10:19
tristanoh ?10:19
tristanaha strange10:20
juergbiit does it for the whole file instead of individual tests10:20
tristanit *is* an integration test I think anyway10:20
*** dominic has joined #buildstream10:20
juergbiyes, it is10:20
tristanbecause it refers to this `base.bst` as a dependency but doesnt provide it10:20
juergbi(pulls in base.bst)10:20
tristanso I presume that may be a magick string10:20
*** dominic has quit IRC10:21
juergbinot magic, just reusing base from other integration tests10:21
*** dominic has joined #buildstream10:21
juergbi(extending shared project)10:21
tristanyeah, it must be doing some magick though; like copying in something10:21
juergbino, base.bst already existed in that directory10:21
tristanahaaaaa10:22
tristanI see what he did there10:22
gitlab-br-botbuildstream: merge request (sam/symlink-speedup->master: utils.py: Wrap calls to os.path.realpath() in an LRU cache) #247 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/24710:26
*** valentind has quit IRC10:33
*** ernestask has joined #buildstream10:40
gitlab-br-botbuildstream: issue #174 ("utils._ensure_real_directory() very slow in some cases") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/17410:54
gitlab-br-botbuildstream: merge request (sam/symlink-speedup->master: utils.py: Wrap calls to os.path.realpath() in an LRU cache) #247 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/24710:54
tristanssam2, so do we have your ostree-push fork available in a docker image usable by gitlab runners yet ?11:20
tristanI'm trying to see if I can put out one of these fires, basically I'd like to tie up the loop of debootstrap-ostree11:20
tristaninstead of having that on a dedicated machine, I'd like the debootstrap process to run when changes get merged to the repo11:21
tristanI *can* work around this ala flatpak-build-scripts, and record the latest sha/arch to avoid too many debootstrap refreshes11:22
tristanbut it looks like the gitlab route is the elegant one11:22
adds68tristan, sorry to bother you with non-tech questions, but is there any reason buildstream isn't using http://docs.readthedocs.io/en/latest/getting_started.html ?11:24
adds68tristan, i think it's easy to use as you already generate the docs with sphinx11:24
adds68tristan, much nicer UI and formatting than the current docs page also, i could raise an issue if this is something that could be explored further11:25
gitlab-br-botbuildstream: issue #245 ("Logging issues") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/24511:28
paulsherwoodadds68: +1 for the readthedocs approach11:31
tristanadds68, We're using gitlab pages simply because it's less moving parts and it lets us auto-update the docs when things get landed to master11:36
tristanadds68, there is a bug in there that is important to fix, though: https://gitlab.com/BuildStream/buildstream/issues/17811:36
paulsherwoodtristan: can't we still acheive that with readthedocs approach?11:37
tristanMaybe ?11:37
tristanWhy do we want our docs at "readthedocs.com" anyway ?11:37
tristanseems rather arbitrary11:37
adds68tristan, it's just a well used place to store docs for things built using Python11:38
paulsherwoodtristan: it's the layout i'm interested in11:38
tristanadds68, we are not a part of the python ecosystem and wont really be11:38
adds68paulsherwood, tristan another approach is to change the current HTML style to use the Mesa style https://www.mesa3d.org/intro.html11:38
tristanAnd the layout can be controlled somewhat with themes right ?11:39
* paulsherwood currently feels like it's far from obvious how to get started, is all11:39
tristanAlso wont we lose horizontal screen realestate with something like readthedocs ?11:39
adds68tristan, understood, it was just a quick fix suggestion is all11:39
ssam2tristan, no, it's not in any of the images yet11:42
ssam2can add it fairly easily... or since it's tiny and in python, it would be fairly quick just to git clone in the .gitlab-ci.yml each time11:43
tristanssam2, nice ok... will try that11:43
ssam2on the subject of docs, we still have the issue of https://gitlab.com/BuildStream/buildstream/issues/17811:43
ssam2i'd be in favour of any solution which can fix that11:44
juergbihm, seeing unexpected gitlab test failures on master11:44
juergbiPermissionError: [Errno 13] Permission denied: '/builds/BuildStream/cache/integration-cache/artifacts'11:44
tristanssam2, Agreed, that is a pain point11:45
juergbido we need to clear the runner cache? and do we need to fix something in the ci instructions?11:45
tristanIf moving to readthedocs solves that; then I dont immensely mind, although I do have reservations about getting tangled into a readthedocs dependency11:46
tristanthere is something clean and nice about "When we run CI, the static HTML is generated, and can simply be placed <here>"11:46
adds68tristan, i just think it's a shame how when i point people to the project they get put off with the current docs situation11:46
tristanOkay.11:47
adaytristan: i'm no expert, but i'd surprised if you couldn't do that with sphinx and get readthedocs at the same time11:47
ssam2the complex part is we do custom doc auto-generation from the element and source plugins11:48
ssam2readthedocs seems to want to control the whole doc generation process, so i don't know if we could extend it to understand our plugins11:48
adds68ssam2, if that is done using Sphinx, read the docs will just import what ever is generated11:48
ssam2ok, that doesn't sound too hard then11:48
ssam2if it's that easy, anyone fancy doing a prototype ? :-)11:49
adayyeah, we have generated api reference as part of the flatpak readthedocs site11:50
adayit can handle plain html pages11:52
ssam2however, this is orthogonal to the complaint that "it's far from obvious how to get started"11:53
ssam2which i agree is an issue; but it raises the immediate question of "get started with *what*"11:53
ssam2e.g. if you want to get started building GNOME, you start by reading https://wiki.gnome.org/Newcomers/BuildSystemComponent11:53
ssam2other projects using BuildStream should have similar such guides11:54
adds68ssam2, yea i feel that is the main issue, i feel GNOME is too big of an example to start with11:54
ssam2most people aren't going to think "I want to use buildstream"11:54
jmacI disagree11:54
ssam2they will think "I want to use buildstream *to do X*"11:54
ssam2developers being told "your new project is to work on buildstream's codebase" are an exception here, yet are the majority of people currently looking at docs11:54
jmacI really don't think they're an exception11:55
adds68ssam2, that is what my friend asked me when i sent him to the docs11:55
ssam2sure, his case is the sort of thing we should be looking at11:55
ssam2what is his use case ?11:55
adds68ssam2, well basically they build lost of compilers cross platform and he said Buildstream sounds like it could remove the need for their custom/buggy tool they use11:56
adds68ssam2, but i don't fully understand his use case as he can't explain a lot due to work contract etc11:56
ssam2so broadly, the use case there is writing elements to build stuff11:57
adds68ssam2, yea i tried to explain to him about how you can write custom elements, but he then i had to explain buildstream-external etc11:57
adds68then i*11:58
ssam2that's an advanced topic11:58
ssam2https://gitlab.com/BuildStream/buildstream-examples should help a lot here11:59
ssam2if we could just link to a few simple, well-documented examples in that repo from the top of the main documentation ...12:00
ssam2of course, we don't yet have any examples (although i think tlater has one on image building nearly complete)12:00
adds68Ok i've pinged him and he said he is going to write down what he is trying to solve and some tips as to why the docs didn't answer his questions12:01
ssam2thanks!12:02
adds68Hopefully have some actual facts people can view rather than my poor explanations12:02
jmacDid I understand correctly that we don't treat build-commands and install-commands as different in any way?12:47
ssam2as far as I know, that's correct12:48
jmacGood12:49
ssam2certainly, in the context of running the build we don't: https://gitlab.com/BuildStream/buildstream/blob/master/buildstream/buildelement.py#L20012:49
*** mcatanzaro has joined #buildstream13:22
tristanaha !13:24
tristanmcatanzaro, I'm back from one week off (looks like I chose the wrong week ?), end of day now and have been trying to put out these fires13:24
mcatanzarotristan: Welcome back!13:25
tristanyeah, what a mess when I come back haha :)13:25
mcatanzaroI'm going to be busy with meetings for the next 2 hours, so looks like we both picked bad timezones, but I think the only problem that could block this week's release is that I can't add new system dependencies13:26
mcatanzaroBasically I have no chance without a solution for that13:26
tristanmcatanzaro, so there are a couple things... one is [re]automating debootstrap-ostree; I wanted to put the process on gnome infra via gitlab but thats a little bit challenging13:26
tristanright, I added the things you wanted, that's up for now; but unfortunately it doesnt close the problem13:26
tristanOne thing is cantarell-fonts now wants fontmake (after changing to meson it seems)13:27
mcatanzaroMight be that you just have to add the deps this week as I request them13:27
tristanand that is only available in sid13:27
mcatanzaroOh, so, do we have to update the base system to sid, then?13:27
tristanThat is not a problem for me tbh, but I'm currently building a sid debootstrap and see if that works well13:27
tristanthe debootstrap process is passing, have to try to run a build13:27
mcatanzaroIt's also odd that the debootstrap is shared with non-GNOME projects13:28
tristanpango has a harder problem to solve, too13:28
mcatanzaroSo really would be nicer to have on our infrastructure... what's wrong with pango?13:28
mcatanzaroI mean, why is its dependency hard to solve?13:28
tristanwhich is... I think changing to meson made that dep you added non-optional13:28
tristanand with it available from stretch, it has a bug13:29
* tristan had the bug report open, lemme find it13:29
tristanmcatanzaro, I'm getting this error: https://bugs.freedesktop.org/show_bug.cgi?id=82548 :-/13:30
tristanor pretty much similar error13:30
mcatanzaroIs pango using -Werror?13:30
mcatanzaropango is owned by mclasen, should be no problem to get it fixed13:31
tristannot explicitly, it's using meson now13:31
mcatanzaroSurely meson does not add -Werror automatically?13:31
mcatanzaroBTW that dependency is new in git master, so it won't block this release once we convert the buildstream projects to tarballs... (but we should fix it anyway, because you can't build anything that depends on GTK+ currently ;)13:32
tristanI dont think it adds -Werror, and the bug report fwiw speaks of -Wundef13:33
mcatanzaroSo what is the error then?13:33
* tristan pushed convo to #release-team :)13:34
*** tristan has quit IRC13:41
gitlab-br-botbuildstream: merge request (juerg/scheduler->master: scheduler.py: Do not prematurely terminate loop after skipping jobs) #270 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/27014:00
juergbissam2: i believe we've agreed to merge https://gitlab.com/BuildStream/bst-external/merge_requests/9 as is, right?14:12
ssam2i think so yeah14:12
gitlab-br-botbuildstream: merge request (versioned_yaml->master: WIP: Version workspaces.yml) #271 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/27114:13
juergbiok, i pressed the button ;)14:13
ssam2thanks!14:14
ssam2so now buildstream supports devops ;-)14:14
*** tristan has joined #buildstream14:21
*** csoriano has quit IRC14:46
*** csoriano has joined #buildstream14:46
jmacSince "sam/use-recursive-pipelines" was merged into freedesktop-sdk, bst complains about the 'junction' keyword14:56
ssam2update your version of buildstream14:56
ssam2support for junction was merged into master last Friday14:56
ssam2freedesktop SDK 1.8 is still "unstable" at present, so can play fast and loose with build tool requirements :-)14:57
jmacUpdate worked, thanks14:58
nexusLooking into !245 again, i seem to be unable to reproduce the error now15:08
juergbinexus: do you mean the original issue or the error you saw with the first patch?15:09
nexusthe original issue, if i remove all of my "fixes" and run the code, it works fine15:09
juergbihm, was there a ruamel upstream change?15:13
nexushave you reproduced it on your end?15:13
nexusi'll have a look15:13
juergbii can still reproduce it at least with the raw python3 (no buildstream) test case15:14
juergbilet me try the bst test case15:14
juergbithat's still reproducible here15:15
nexushmm15:16
juergbinexus: what happens on your system if you track the mini project from the issue description?15:22
juergbimaybe also put the output on pastebin15:23
nexusit works exactelyit works perfectly as far as i can tell15:24
nexushttps://paste.codethink.co.uk/?399315:24
gitlab-br-botbuildstream: merge request (212-git-source-needs-a-way-to-disable-checking-out-submodules->master: Resolve "Git source needs a way to disable checking out submodules") #259 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/25915:26
*** noisecell has quit IRC15:27
juergbinexus: yes, that looks fine. commit 3573f99 mentioned in the log doesn't exist in the buildstream repo, though. are you sure you're testing the version without any fixes?15:34
nexusjuergbi: yep, i just used bst master and it worked fine15:43
*** noisecell has joined #buildstream15:44
* nexus is at a loss15:54
juergbinexus: did you also try the buildstream-independent python test case in the comment?16:00
nexusyes, that still has the bug16:01
*** dominic has quit IRC16:01
juergbican you double check that you're really testing bst master and not a version you installed before or similar?16:01
juergbithe commit id in the pastebin was not master, afaict16:02
*** lantw44 has quit IRC16:05
*** lantw44 has joined #buildstream16:13
*** noisecell has quit IRC16:18
nexusjuergbi: i'm running this on 0f430622e4539b5cc9209384e32980dc086c29df16:25
*** jonathanmaw has quit IRC16:26
juergbinexus: do you now also see that commit sha in bst --version?16:27
nexus0f4306216:30
*** noisecell has joined #buildstream16:35
*** bethw has joined #buildstream16:39
juergbii updated to the latest ruamel.yaml-0.15.35 and can still reproduce it16:40
*** bethw has quit IRC16:40
*** jonathanmaw has joined #buildstream16:40
jmacI've got the latest master of freedesktop-sdk and buildstream now. I can now build base/glib.bst and base-stack.bst, but I can't checkout base/glib.bst, which is a dependency of base-stack.bst16:41
jmacI don't understand how I can use something as a dependency for a build but not check it out16:41
ssam2what happens when you try to check it out ?16:42
jmacThis: https://paste.gnome.org/pyyox95zk16:43
jmacIt can't find `glib-compile-schemas`, which is one of the binaries produced in the build16:43
ssam2hmmm....16:43
ssam2no, it can't find a shell16:43
jmacOh, I see16:43
jmacSo glib.bst has a custom integration-command16:44
jmacWhich will need a shell, of course16:44
ssam2yeah16:44
persiamissing runtime dependency?16:44
ssam2you could also `bst checkout --no-integrate`16:44
jmacpersia: This element only has build dependencies.16:45
ssam2although it does suggest something is wrong in the dependency list16:45
jmacDo integration commands explicitly use runtime dependencies?16:45
ssam2i'm not sure how that works in detail actually16:46
ssam2i know that `bst checkout` should get you the runtime dependenciues16:46
ssam2so in this case, the integration command would work if you had a runtime dependency on the 'base' binaries16:46
persiajmac: That's a gap, but likely not an uncommon one.  In Debian, for example, everything depends on a base environment, which is allowed to assume things like a working shell, so nobody bothers to document the dependencies all the way down.16:46
ssam2in general avoid thinking about this by always runtime-depending on the 'base'16:47
ssam2*I avoid thinking about it16:47
persiaI believe integration commands *may* require runtime dependencies, and the code should allow it to work that way (but I don't know if the code does allow it to work that way)16:47
jmacIn this particular project almost everything depends on "bootstrap-import.bst", but it's marked as a build dependency only16:47
jmacI wouldn't have thought of checking out as "running", so it seems odd to need that as a runtime dependency for this.16:47
jmacNow that I know that, it's easily fixed.16:47
ssam2checking out is considered as "I want to do something with this artifact"16:47
jmac"do something" includes building with... and we have build-time dependencies16:48
gitlab-br-botbuildstream: merge request (jonathan/bzr-source-method->master: Jonathan/bzr source method) #242 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/24216:48
gitlab-br-botbuildstream: merge request (jonathan/bzr-source-method->master: Jonathan/bzr source method) #242 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/24216:49
ssam2i think that in buildstream, we consider build-time as something that only happens *inside* BuildStream16:49
*** dominic has joined #buildstream16:49
jmacThat's fine, I think it might be implicit knowledge at the moment though16:49
ssam2I imagine so16:50
persiaDoesn't buildstream also permit one to execute an arbitrary command with checkout or shell, such that if one doesn't have a shell as a runtime dependency, one can run something else?16:50
ssam2conceptually, we don't want to allow building e.g. GLib against a sysroot, then exporting just the binaries and linking them against your host16:50
persia(but not having  shell as runtime dependencies for things that require shell for integration commands is bad: if buildstream is directly executing the integration commands (outside shell), it is maybe less bad)16:50
ssam2that way lies madness, if for example you had a different libc inside the sandbox than on your host16:50
ssam2not sure this is clearly documented or even clearly thought through though; we probably need to get tristan to clearly explain the "vision" somewhere16:51
* ssam2 wins 10 points for saying "thought through though"16:52
persiaAnd, likely, a metal-coloured star of some description16:52
juergbissam2: when you have a minute, i'd appreciate a review / sanity check of https://gitlab.com/BuildStream/buildstream/merge_requests/27016:56
*** toscalix has quit IRC16:56
*** valentind has joined #buildstream17:11
gitlab-br-botbuildstream: merge request (jonathan/bzr-source-method->master: Jonathan/bzr source method) #242 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/24217:18
nexusin regards to issue 166 https://gitlab.com/BuildStream/buildstream/issues/166 Did we consider the option of simply having the tracking number in quotes? as this would seem to fix the issue17:24
jmacSomeone would probably forget at some point, and it could take a while to figure out what the problem was17:26
juergbinexus: this would likely cause people to trip over the same issue again when someone forgets the quotes17:26
juergbialso, enforcing quotes would break format compatibility17:26
jmacIf I ever write my syntax checker for the yaml we might be able to catch that problem and give a more helpful error, but I don't have time for that right now17:27
ssam2i had a quick play with readthedocs.org and got this: https://buildstream.readthedocs.io/en/latest/17:37
ssam2it seems fine apart from https://buildstream.readthedocs.io/en/latest/main_authoring.html#main-authoring doesn't link to any of the plugin docs17:37
gitlab-br-botbuildstream: merge request (issue-166_yaml_removing_underscores->master: WIP: Issue 166 yaml removing underscores) #245 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/24517:37
ssam2which is because we have custom logic to autogenerate that which is in a Makefile, and I don't see a way to get readthedocs.org to call it ...17:37
ssam2ah, also the sphinx-click documentation isn't generated: https://buildstream.readthedocs.io/en/latest/invoking.html#invoking17:39
tristanssam2, you would want to populate readthedocs with the output of a build of the docs17:40
ssam2I can't find anything in the UI that would allow me to do that17:40
tristanthere should probably be a way, and it would be something we'd want to trigger from a gitlab job17:41
ssam2https://stackoverflow.com/questions/27228115/is-it-possible-to-upload-sphinx-pre-generated-html-documents-into-readthedocs-si suggests it isn't possible17:41
tristan(i.e. the upload to readthedocs.io we'd want to keep that automated)17:41
ssam2the upstream issue is https://github.com/rtfd/readthedocs.org/issues/108317:42
tristanah too bad, I was rather hoping that we might be able to get around our multi-branch docs problem17:42
ssam2yeah, that would have been great17:42
ssam2i'll note this in issue #178 for when the next round of "just move to readthedocs.org!" comes in :-)17:42
tristanyeah; I have a hard time believing that it's the packaging rather than the content which "drives people away" when reading our docs17:44
tristanI actually think the alabaster theme is quite nice, too17:44
ssam2i do wish the table of contents on the left hand side had more stuff in17:44
tristanfor that you have to wrestle sphinx17:44
jmac+117:45
tristanI've wasted an afternoon or two on that17:45
ssam2did it ask you a riddle ?17:45
jmacI'd like the TOC to be a static list of all the top-level and 2nd-level headers17:45
ssam2if we all want that, i'll open another issue17:46
tristanmmm that's more or less what it is17:46
ssam2currently it changes on each page, though17:46
tristanjmac, except they are page contextual; i.e. you only get the first/second level titles of the page currently shown17:46
persiaI remember a couple "hack around toctree" items raised in the past, so I wonder if we're using toctree as effectively as we might17:46
tristanso it's not very helpful when considering the docs as a book17:46
jmactristan: Indeed. I don't really like them being contextual. That's just me.17:47
tristanthis is also a reason why I struggle to keep section names nicely below around 15 chars (so they dont wrap in the sidebar toc)17:47
tristanjmac, oh I dont really much either; just saying if you want to improve it, get ready for sumo wrestling with the beast that is sphinx :)17:48
jmacE.g.: https://buildstream.gitlab.io/buildstream/docker.html#docker - no link back to the table of contents or any other documentation17:49
jmactristan: Indeed17:49
tristancould always get lucky though and find the pro tip that I was unable to figure out :)17:49
tristanjmac, indeed very annoying, and this silly "search" box keeps appearing, it really thinks its so useful17:50
gitlab-br-botbuildstream: issue #246 ("Documentation sidebar changes from page to page") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/24617:55
*** ssam2 has quit IRC17:58
gitlab-br-botbuildstream: merge request (juerg/scheduler->master: scheduler.py: Do not prematurely terminate loop after skipping jobs) #270 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/27018:04
*** slaf- has joined #buildstream18:15
*** slaf has quit IRC18:16
*** slaf- is now known as slaf18:16
tristanany idea what's causing these stack traces https://gitlab.com/BuildStream/buildstream/-/jobs/52234336 ?18:33
juergbii suspect it's fallout from the integration test refactoring but not sure what exactly is happening. i thought it was fixed18:35
tristanI was thinking that yeah18:35
tristanthat job is from your scheduler fix18:36
tristanso nothing there which would cause EPERM like that18:36
juergbiyes, it's definitely a CI issue, not an issue with that particular change18:36
juergbialso saw it recently on master after the identical commit was fine in the branch CI18:37
juergbithere was an issue where mkdir was running as the unprivileged user instead of root but tlater added a mkdir to the privileged/root part which should have fixed this18:37
tristanhhhhmmmmmm18:38
tristanjuergbi, smells like assumptions around permissions and shared gitlab caches ?18:38
juergbithere is a chmod -R in before_script18:39
tristanwell, I dont know what it is, but it happened again18:39
juergbi:/18:39
tristanhttps://gitlab.com/BuildStream/buildstream/-/jobs/5223433618:39
tristanretry again, but there is something obviously broken18:39
*** dominic has quit IRC18:40
juergbiwe could clear the runner cache in case there was a one-time issue somewhere at gitlab18:40
juergbibut we shouldn't have to do this over and over18:41
tristanjuergbi, not sure; it's up to you18:42
tristanjuergbi, on one hand, we definitely have a problem; and now we are luckily reproducing it18:42
tristanso it may be the best opportunity for tlater to jump in and save the day18:43
tristanon the other hand, we may want to land commits more than we want to fix this issue18:43
juergbitlater is off this week, unfortunately18:43
tristanthird time in a row https://gitlab.com/BuildStream/buildstream/-/jobs/5223810418:43
juergbiwill take a quick look, maybe i'll spot something18:44
tristanwell, before_script does some chowns and stuff in `.` (wherever that happens to be)18:46
tristanwhile it sets the env var INTEGRATION_CACHE to a much more specific location18:46
* tristan is unsure how the user is expected to work with INTEGRATION_CACHE, and if `./setup.py test` will at least ensure that it's integration tests dont reuse the users caches by default18:47
juergbidefault is temp directory but that should never be used in CI where INTEGRATION_CACHE is set18:49
tristangood good :)18:50
juergbitristan: is there somewhere i can log into to fetch the cache? (IP 10.131.43.226)18:51
tristanMaaaan that is gitlab territory, my default is to refer to Sam or jjardon[m]18:52
tristanheh18:52
tristanfrom what I hear though, you cannot login to any runner18:52
tristanand the shared cache... I dont know how to download18:52
tristanjuergbi, you might be able to spoof it by creating a branch with a modified .gitlab-ci.yml18:52
juergbii thought this was CT infrastructure18:53
tristanwhich makes the shared cache an artifact of a job18:53
juergbiyou might be right about this being a path issue18:53
tristanUmmm, I dont think so really, parts of it are18:53
tristanjuergbi, I think CT has contributed runners by digitalocean, all on cloud18:54
juergbibased on the log it seems the PWD at the beginning is /builds/BuildStream/buildstream/18:54
tristanbut I may be wrong18:54
juergbiso creating a subdirectory cache in there doesn't make sense if INTEGRATION_CACHE is set to /builds/BuildStream/cache18:54
juergbibut i might be missing something, it's a bit confusing18:55
tristanyup, and we error on /builds/BuildStream/cache/integration-cache/artifacts18:55
tristanso it's plausible that gitlab up and changed the PWD18:56
tristanor, maybe we should be declaring more, and telling gitlab where things should go (like the PWD)18:57
jjardon[m]juergbi: give me a public SSH key and I will give you access to that machine with the gitlab cache18:57
tristana quick fix seems like changing INTEGRATION_CACHE to point to /builds/BuildStream/buildstream/cache18:58
juergbijjardon[m]: ta, sent by mail18:59
jjardon[m]note gitlab cache is a "best efford" thing; Its not garantee to be there19:00
jjardon[m]also "Note that since cache is shared between jobs, if you're using different paths for different jobs, you should also set a different cache:key otherwise cache content can be overwritten."19:00
jjardon[m]from https://docs.gitlab.com/ce/ci/yaml/README.html#cache19:00
juergbiok, we do set a cache key since the integration test merge, which should avoid conflicts19:01
tristanjuergbi, that separation should effectively obsolete the chown hacks in before_script it seems19:02
tristanwell, at least the ones regarding the cache19:02
juergbiwe still need chown because we run the tests as buildstream user while the cache zip file is extracted as root19:02
tristanewww, it wont restore those ?19:03
tristanwasnt this discussion the other way around when we were blaming tar for restoring uids all by itself when run as root ?19:04
tristanmy the tables have turned...19:04
juergbiwell, gitlab uses zip...19:04
tristanyeah, I was answering myself, who was complaining that zip was not smart enough to do it when awarded proper perms :)19:05
* juergbi no longer likes the UID approach of security in general for some time now19:06
persiaUID was useful when people shared large machines.  It isn't useful in distributed environments.19:08
juergbiyes, that's one issue but there are others such as making it difficult to have more fine grained granularity than user19:14
jjardon[m]juergbi: 46.101.48.4819:15
persiajuergbi: How do you mean?  When do you want that?19:15
jjardon[m]that's the public IP for 10.131.43.22619:15
jjardon[m]juergbi: you should have access to root@46.101.48.4819:16
juergbita19:17
juergbipersia: the usual sandboxing use cases. this is typically solved differently because UID is painful to use for this19:18
jjardon[m]juergbi: tristan Im doing some cleanup of some runners that seems to be stall for a long time, sorry if some build fails19:19
juergbihowever, a single approach to split a system into users and a user into sandboxes would make more sense, imo19:19
juergbijjardon[m]: i can log in but i have no idea where on that machine i would find the runner cache19:19
juergbiany hints?19:19
persiaYeah, I don't see any reason that a UID has to be associated with a person.  At one of my unis, we each had several UIDs in NIS, with different sorts of access permissions, etc.  Of course, it means that people have to use `su` more, and think about "UID" in terms that don't map one-to-one to human operator :)19:20
persiaBut I do see a problem with using more than one machine without overarching NIS, or passing data between machines, which is part of why so many of us all use UID 1000 to do everything.19:21
persia(but global federated identity is well outside the scope of buildstream)19:21
jjardon[m]juergbi: Its the minio server, I think in /export/runner/19:22
juergbita19:24
juergbilinux-tests-_3 there is timestamped Feb 7 16:09 and is an empty cache directory19:24
juergbiwhich could indeed be the case given the configuration, however, if the cache is always essentially empty, i don't see why it sometimes works and sometimes doesn't19:25
juergbimaybe it actually only worked with a non-empty cache19:26
juergbii'll push a branch for debugging19:27
jjardon[m]juergbi: tristan cleanup finish (just in time for your build juergbi)19:31
juergbita19:32
juergbiall jobs are currently paused, though19:38
jjardon[m]juergbi: I have retry and It seems to work now?19:47
jjardon[m]It can be slow as the runners have to be created from scratch instead be already there and reused19:48
juergbiok19:49
juergbiyes, seems to work fine now19:50
*** ernestask has quit IRC20:01
*** valentind has quit IRC20:05
*** valentind has joined #buildstream20:05
*** Prince781 has joined #buildstream20:07
*** Prince781 has quit IRC20:25
juergbipaulsherwood: video is up now: https://video.fosdem.org/2018/K.3.201/introducing_buildstream.webm20:32
gitlab-br-botbuildstream: merge request (juerg/ci->master: Fix CI cache) #272 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/27220:37
gitlab-br-botbuildstream: merge request (juerg/ci->master: Fix CI cache) #272 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/27220:43
gitlab-br-botbuildstream: merge request (juerg/scheduler->master: scheduler.py: Do not prematurely terminate loop after skipping jobs) #270 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/27020:44
*** jonathanmaw has quit IRC21:02
*** jonathanmaw has joined #buildstream21:04
gitlab-br-botbuildstream: issue #236 ("Elements not building when using "bst build --track-all --track-save"") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/23621:08
gitlab-br-botbuildstream: merge request (juerg/scheduler->master: scheduler.py: Do not prematurely terminate loop after skipping jobs) #270 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/27021:08
*** valentind has quit IRC21:49
*** juergbi has quit IRC21:50
*** juergbi has joined #buildstream21:53
*** Prince781 has joined #buildstream21:55
*** aday has quit IRC22:21
gitlab-br-botbuildstream: issue #247 ("Print summary of failed modules when there is a build failure") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/24722:55
gitlab-br-botbuildstream: issue #248 ("Do not automatically update git checkout with refs") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/24823:35
*** tristan has quit IRC23:40
*** tristan has joined #buildstream23:42
gitlab-br-botbuildstream: issue #249 ("Impossible to remove workspace for module that no longer exists") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/24923:49

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