IRC logs for #buildstream for Wednesday, 2018-02-07

*** sstriker has quit IRC00:09
*** ptomato[m] has quit IRC00:11
*** connorshea[m] has quit IRC00:11
*** asingh_[m] has quit IRC00:11
*** pro[m] has quit IRC00:11
*** bochecha has quit IRC00:12
*** abderrahim[m] has quit IRC00:12
*** mrmcq2u[m] has quit IRC00:12
*** kailueke[m] has quit IRC00:12
*** cgmcintyre[m] has quit IRC00:12
*** inigomartinez has quit IRC00:12
*** waltervargas[m] has quit IRC00:12
*** jjardon[m] has quit IRC00:12
*** ernestask[m] has quit IRC00:12
*** m_22[m] has quit IRC00:12
*** mattiasb has quit IRC00:12
paulsherwoodwhere are the bst pipelines that are building gnome?01:17
*** connorshea[m] has joined #buildstream01:19
mcatanzaropaulsherwood: Is https://gitlab.gnome.org/GNOME/gnome-build-meta what you're looking for?01:58
paulsherwoodmcatanzaro: yes!!! thanks a lot :)02:02
*** mcatanzaro has quit IRC02:09
*** bochecha has joined #buildstream02:21
*** cgmcintyre[m] has joined #buildstream02:45
*** bochecha has quit IRC02:53
*** cgmcintyre[m] has quit IRC02:53
*** connorshea[m] has quit IRC02:53
*** ernestask[m] has joined #buildstream03:01
*** ernestask[m] is now known as Guest4369103:02
*** waltervargas[m] has joined #buildstream03:05
*** mattiasb has joined #buildstream03:39
*** inigomartinez has joined #buildstream03:42
*** asingh_[m] has joined #buildstream03:50
*** ptomato[m] has joined #buildstream04:05
*** abderrahim[m] has joined #buildstream04:29
*** kailueke[m] has joined #buildstream04:43
*** bochecha has joined #buildstream04:55
*** jjardon[m] has joined #buildstream06:17
juergbijjardon[m]: that error seems like the hardware has no support for armv7 (not all aarch64 hardware does). or the kernel has CONFIG_COMPAT disabled06:21
juergbii would also recommend running bst via linux32 (or setarch) to make sure the 'wrong' uname output doesn't produce any issues06:23
juergbithe plan is to properly support non-host execution environments in bst itself in the future without linux32/setarch06:24
* persia thinks linux32 on aarch64 generates armv8l, and it requires setarch to reach armv7l07:33
*** m_22[m] has joined #buildstream07:39
*** ernestask has joined #buildstream07:50
*** mrmcq2u[m] has joined #buildstream07:54
*** connorshea[m] has joined #buildstream08:00
*** pro[m] has joined #buildstream08:21
*** cgmcintyre[m] has joined #buildstream08:25
*** aday has joined #buildstream08:37
*** Guest43691 is now known as ernestask[m]09:25
gitlab-br-botbuildstream: merge request (juerg/225->master: Fix staging of runtime dependencies with overlaps) #263 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/26309:44
*** tristan has joined #buildstream09:47
*** noisecell has joined #buildstream09:55
*** adds68 has joined #buildstream09:56
*** jonathanmaw has joined #buildstream09:58
*** ssam2 has joined #buildstream10:05
*** adds68 has quit IRC10:17
gitlab-br-botbuildstream: merge request (image-authoring->master: Image authoring documentation) #262 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/26210:18
gitlab-br-botbuildstream: merge request (image-authoring->master: Image authoring documentation) #262 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/26210:20
tlaterHrm, I wonder if that can be merged to make our tests pass again10:21
tlaterThe page isn't included anywhere currently, so all it would do is complete the half-done documentation page10:22
ssam2it seems to me we should resolve accidental pushes by reverting what was pushed, not by hastily pushing more stuff10:23
ssam2commit history is littered with mistakes, i wouldn't worry about making it "messy" with a revert10:24
juergbioh, didn't realize tests were failing because of this10:24
juergbii'll revert it10:24
tlatertyvm juergbi10:24
juergbidone10:26
gitlab-br-botbuildstream: merge request (cache-keys-os-arch->master: Cache keys to consider OS and machine arch) #261 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/26110:26
tristanjjardon[m], it should be possible to build armv7 with aarch64, you want to have an armv7 tuned native compiler and runtime for that, and you may need to pass --target / --build to some modules (mostly those which use inline assembly)10:27
juergbitristan: we should not have to modify the config due to exposed details of the host machine10:29
tristanjuergbi, in build instructions10:29
tristanjuergbi, not bst --option options10:30
*** adds68 has joined #buildstream10:30
tristanjuergbi, what we've found is that when building in a targetted yocto runtime in x86_64 targetting i586, or same with arm... is you need to tell some things like webkit about which assembly to use10:30
juergbibuild instructions should not need to change whether the host is aarch64 or armv7, imo10:30
tristanwith their ./configure --build ${host_triple}10:31
juergbitristan: that's only the case if you run without linux32/setarch10:31
tristanI was just going to say that10:31
juergbiyou may want to generally be specific about this but i don't think we should require people to do that10:31
tristanIf you run with linux32, it shouldnt need that really10:31
tristanbut I havent tried it with our stacks10:31
tristan(with flatpak / gnome stack)10:31
juergbiand i think we've already agreed that bst should allow specifying the execution environment (anyway needed for remote builds)10:31
juergbiso i'd rather recommend linux32/setarch for now than fiddling with config arguments10:32
juergbias that's closer to 'the future'10:32
tristanstill, buildstream currently wont run itself under linux32 for you10:32
tristanalthough we should look into that10:32
juergbiit won't?10:32
tristannot currently no, we dont understand machine arches either, yet; we just let the user configure options10:33
tristanso we wouldnt know when to run the sandbox under linux32 either10:33
juergbiyes, we definitely need to work on this for cross-build support10:33
tristanbut along the same lines as remote and virtualized building, it's a good feature to consider fitting into that api10:33
juergbihowever, i would expect linux32/setarch in front of bst to be identical to running on physical 32-bit machine10:33
juergbi(in this regard)10:34
tristanWell, currently you can run it under linux32 and try, or you can use specific args and a targetted native compiler in the runtime10:34
tristanI wouldnt say that cross-build on compatible host is completely broken because we dont have extra convenience features for it yet10:35
juergbii didn't say that10:35
* tristan on his way out the door...10:35
tristanright, I did reorder your words on the cross-build support line :-)10:36
tristanwe need to work on this indeed; it fits into other plans as well10:36
tristanjuergbi, we might want to start using gitlab milestones instead of wikis for roadmapping...10:37
tristanmight make putting things on roadmaps easier10:37
tristananyway I gotta run...10:37
juergbimight be useful10:37
juergbienjoy your holiday10:37
gitlab-br-botbuildstream: merge request (image-authoring->master: WIP: Image authoring documentation) #262 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/26210:39
tlaterIs there anywhere I could put a sample project for buildstream documentation?10:42
juergbimaybe a separate repo in the buildstream group?10:43
tlaterPerhaps we should have a buildstream-examples repo in general10:43
tlaterI imagine this will come up a few more times10:44
gitlab-br-botbuildstream: merge request (175-refactor-integration-tests->master: Resolve "Refactor integration tests") #233 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/23311:01
gitlab-br-botbuildstream: merge request (cache-keys-os-arch->master: Cache keys to consider OS and machine arch) #261 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/26111:19
*** toscalix has joined #buildstream11:19
gitlab-br-botbuildstream: merge request (juerg/225->master: Fix staging of runtime dependencies with overlaps) #263 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/26311:29
gitlab-br-botbuildstream: merge request (175-refactor-integration-tests->master: Resolve "Refactor integration tests") #233 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/23311:39
*** aday has quit IRC11:47
*** rafaelff[m] has joined #buildstream11:48
*** aday has joined #buildstream11:49
tlaterssam2: Could you have a look at this MR? https://gitlab.com/BuildStream/buildstream-docker-images/merge_requests/2111:49
tlaterIt's another one on the testsuite image...11:49
*** aday has quit IRC11:50
juergbipages:deploy failing again, hm11:59
*** aday has joined #buildstream12:02
gitlab-br-botbuildstream: issue #225 ("bst shell crashes when staging dependencies") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/22512:04
gitlab-br-botbuildstream: merge request (juerg/225->master: Fix staging of runtime dependencies with overlaps) #263 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/26312:04
ssam2tlater, merged12:10
tlaterta :)12:10
*** aday has quit IRC12:13
*** aday has joined #buildstream12:14
gitlab-br-botbuildstream: merge request (175-refactor-integration-tests->master: Resolve "Refactor integration tests") #233 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/23312:26
gitlab-br-botbuildstream: merge request (patch-1->master: install.rst: Update instructions for Arch) #264 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/26412:38
*** mcatanzaro has joined #buildstream12:54
gitlab-br-botbuildstream: merge request (175-refactor-integration-tests->master: Resolve "Refactor integration tests") #233 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/23313:03
tlaterjuergbi: Yeah, looks like I missed the __version__.py, I thought I explicitly included it. Another 30 minutes wait it is, then :|13:06
juergbitlater: i assume CI caching is working, right? (there were some issues a while ago, afaik)13:07
tlaterYeah, I spent a while fixing that13:07
tlaterI just double checked too, it seems to be working13:08
juergbiok, good13:08
* tlater wishes he could *inspect* the cache, but a guess will have to do13:09
*** nexus has quit IRC13:10
ssam2we can ssh into the runners while builds are running13:10
*** nexus has joined #buildstream13:11
tlaterHm, I'd need to see it after one completes13:11
ssam2they get deleted after that13:11
tlaterEither way, worst case the caches simply don't contain anything relevant, so we can investigate that after a merge13:11
tlaterWhere do the caches/artifacts go then?13:13
ssam2gitlab uploads them to a separate machine before deleting the runner13:14
ssam2artifacts go to ... i'm not sure for this project13:15
ssam2gnome7.codethink.co.uk perhaps ?13:15
tlaterCould we download from there?13:15
ssam2yeah13:15
ssam2oh, you mean gitlab artifacts. i think those are hosted by gitlab.com somewhere13:15
ssam2but the cache is hosted by us, we can dig into it13:15
tlaterNice13:16
tlaterAny way I could gain access to that server?13:16
ssam2maybe; might be easier if you just come to my desk though13:16
juergbitlater: now the test failed in cache-related way:13:24
juergbiPermissionError: [Errno 13] Permission denied: '/builds/BuildStream/cache/integration-cache/artifacts'13:24
tlaterYeah, I saw that13:25
*** ssam2 has quit IRC13:25
tlaterI suspect it's confusing the unix/linux caches13:26
* tlater will set a cache key13:26
tlaterThis hasn't happened before, good thing we ran the tests a few times here13:26
*** ssam2 has joined #buildstream13:26
persiaDoesn't the merge of 261 mean that it shouldn't confuse them?13:27
tlaterpersia: It doesn't confuse individual branches anymore, it looks like it still confuses different jobs13:27
persiaAh.13:27
juergbii would never expect any confusion between ostree and tar caches. they use separate directories (and different cache keys even before !261)13:27
tlaterjuergbi: Extracted sources are still shared, afaik13:28
persiaI'm remembering that in Debian, there is an interesting distinction between "Arch: any" and "Arch: all", in that, in cases where a given source is known not to result in different artifacts on different architectures (e.g. pure python libraries), there is metadata to indicate this, so that the artifact is only built in one place and reused everwhere.13:29
juergbiah, right but cache key shouldn't match13:29
persiaDunno if that is optimisation for the way .debs are stored in Debian archives, or something useful for us.13:29
juergbidue to our non-use of host tools, it would be difficult to support this optimization13:30
gitlab-br-botbuildstream: merge request (175-refactor-integration-tests->master: Resolve "Refactor integration tests") #233 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/23313:31
juergbii don't think it's very important for us at this point13:31
* tlater crosses his fingers that this works13:31
tlaterOn the up side, this means that the cached sources are actually accessed by the integration tests, so the cache *is* working13:31
tlaterWhen it doesn't cause permission errors, of course13:31
juergbitlater: hm, so CI_COMMIT_REF_NAME means that the cache is never used for new branches/MRs?13:32
tlaterYes, each one gets a new, clean cache13:32
tlaterI also know why we got an error last time, it looks like the unix test completed first, which it usually doesn't13:35
tlaterPresumably gitlab takes the first artifact13:35
*** nexus has quit IRC13:37
*** nexus has joined #buildstream13:37
tlaterHm, same error with a clean cache13:38
juergbitlater: no cache reuse across branches is already the case with master or why the change?13:38
tlaterI thought we shared caches across all runners13:39
tlaterAt least that caused the cache issues a while ago13:39
juergbimy question is about sharing across branches, not runners13:40
tlaterYeah, as far as I am aware currently we share across all tests, including those on different branches13:40
* tlater may have missed a change13:40
juergbiand your latest branch changes that, right? hence me asking why13:41
juergbias this would mean that the SDK is downloaded for every new branch/MR, if i'm not missing anything13:41
juergbior is that cached separately?13:42
tlaterThe key I added just now makes it so that every branch downloads its own copy of the sdk13:42
juergbiexactly. and as that takes quite some extra time, i'm still wondering why you're changing this13:44
tlaterRight, I suppose it could be done only per-job13:45
tlaterBut we had issues in the past with doing it across all branches, so I thought it might not be a bad addition anyway13:45
tlaterjuergbi: I take it your opinion is that we should only do it per-job, to avoid unix/linux mingling?13:46
juergbiyes. afaik, this only broke when you were working on earlier versions of this branch, not with regular branches13:47
juergbiso i would rather avoid redownloading the SDK all the time13:47
juergbiit's slow enough as it is13:47
tlaterYeah, that makes sense13:48
juergbiif we see breakage, we may have to reevaluate but in general i expect it to work13:48
* tlater suspects the breakage here is down to never having attempted this with an empty cache13:49
juergbitlater: may mkdir -p be required as root (i.e., before su)?13:50
tlaterYeah, I think so13:50
*** aday has quit IRC13:51
gitlab-br-botbuildstream: merge request (175-refactor-integration-tests->master: Resolve "Refactor integration tests") #233 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/23313:51
*** aday has joined #buildstream13:56
tlaterThe `mkdir -p` looks to have fixed it13:57
* tlater wonders what caused the cache to be cleared13:57
jonathanmawjuergbi: Do you have any suggestions on how I can test the general case that I can make project.conf override source config? The only thing that comes to mind for me is to write a custom source to output the changes14:00
juergbitlater: you added a key...14:00
juergbijonathanmaw: let me take a look14:01
tlaterjuergbi: This broke before I added the key, though14:01
jonathanmawthanks juergbi14:01
juergbitlater: ah, right, but before that you noticed that the unix test finished first14:01
tlaterYeah, it might have been both14:02
tlaterInteresting, it looks like the unix platform is slightly faster at downloading the sdk14:06
jmacI need to run through a few things to make sure I've understood the build process properly14:13
jmacWe start off with a base system image, and then build an element using that, but any changes during the build phase are discarded, and only changes made during the install phase persist, is that right?14:14
juergbijmac: the path is what matters, not the phase14:17
tlaterBy default anything in /buildstream/install is persisted14:17
jmacRight, so the build process can modify other bits of the file system but those changes are lost14:18
jmacIs that right?14:18
juergbithe rootfs is read-only during a regular build14:18
juergbionly source and install directories are read-write14:18
jmacEven /tmp?14:18
juergbino, /tmp should be read-write as well14:19
juergbiwhat i meant was that the staged dependencies will be read only14:19
juergbi /tmp is mounted on top, if i'm not mistaken14:19
jmacOK so far. Are the files in /buildstream/install then overlaid on the rootfs after building?14:20
jjardon[m]juergbi: tristan thanks for the comments: I will test and come back to you14:20
juergbijmac: only for future build jobs where these files may be staged as dependency14:21
juergbijonathanmaw: if i see this right, coverage should already be pretty decent. i.e., you're testing project overrides. your concern is that it's only tested indirectly by observing the effect of a git config override instead of a more direct test. correct?14:22
jonathanmawcorrect14:22
juergbiadding a possibility to show source config via the CLI could make sense. however, given that you already have test coverage, i don't think this should be a blocker14:23
jmacjuergbi: And `bst checkout` does the compositing of the original rootfs + all dependency output + element output?14:23
juergbijonathanmaw: and for that we'd want to consider real (non-test) use cases14:23
* jmac will ask more later as we're crossing conversations here14:23
jonathanmawjuergbi: okie doke. I'll tidy up my branch some more and it'll be ready for review.14:24
juergbita14:24
juergbijmac: yes14:26
juergbiwell, original rootfs not necessarily14:26
paulsherwoodhow do i do bst track on lots files at once?14:26
* paulsherwood has encountered 'inconsistent pipeline, and a list of 50 files'14:27
juergbijmac: it only stages the (recursive) runtime dependencies14:27
jmacAh, yes14:27
ssam2paulsherwood, `bst track --deps=all`14:27
ssam2or you can pass multiple individual args to `bst track`, but you probably want to say 'track all deps of this element' ?14:28
juergbior bst build --track-all to do it as part of the build command14:28
juergbi(optionally with --track-save to update the .bst files)14:28
paulsherwoodvm14:29
paulsherwoodtvm14:29
tlater^ That is debatable, since you cannot access the artifact if you don't --track-save14:29
tlaterWe didn't quite think through that workflow14:29
juergbiindeed. we will hopefully soon add the external ref metadata14:29
juergbitlater: are you intentionally frequently retriggering the pipeline?14:31
tlaterYup, sorry, I need to check if the cache is actually working; changes were made to it, after all14:31
juergbino problem, was just wondering whether there was a CI issue14:31
tlaterHm, looks like gitlab is not creating a cache anymore :|14:33
gitlab-br-botbuildstream: merge request (175-refactor-integration-tests->master: Resolve "Refactor integration tests") #233 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/23314:44
gitlab-br-botbuildstream: merge request (175-refactor-integration-tests->master: Resolve "Refactor integration tests") #233 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/23314:52
gitlab-br-botbuildstream: merge request (175-refactor-integration-tests->master: Resolve "Refactor integration tests") #233 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/23314:57
gitlab-br-botbuildstream: merge request (175-refactor-integration-tests->master: Resolve "Refactor integration tests") #233 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/23315:11
tlaterThat's weird...15:14
tlaterSetting the cache key to a variable seems to completely disable caching for the run15:14
tlaterMaybe I have to add a character?15:15
gitlab-br-botbuildstream: merge request (175-refactor-integration-tests->master: Resolve "Refactor integration tests") #233 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/23315:15
tlater... That did it15:16
* tlater wonders if he should file a gitlab issue15:16
tlaterAssuming this passes the integration tests should be ready, juergbi15:17
tlaterSorry for the delay, I tested this quite a lot on my private branch, must just never have hit this edge case15:17
juergbitlater: i guess at least the two top commits should be squashed, possibly even apply these changes to the 'merge integration tests into general tests' commit?15:18
tlaterRight, that's a point15:19
tlaterI'll do so when the current run finishes, just to make sure I test the cache one last time15:19
juergbiok15:19
juergbioddly enough this is even in gitlab examples:15:20
juergbikey: "$CI_JOB_NAME"15:20
tlaterYeah, I know15:20
tlaterI think I'll file a bug and see where it goes15:20
tlaterUgh, still getting permission errors15:22
tlaterI guess I should run the chown in the actual job15:22
tlaterOh, I do15:22
tlaterHrm15:22
gitlab-br-botbuildstream: merge request (175-refactor-integration-tests->master: Resolve "Refactor integration tests") #233 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/23315:32
gitlab-br-botbuildstream: issue #236 ("Elements not building when using "bst build --track-all --track-save"") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/23615:32
gitlab-br-botbuildstream: issue #237 ("Check that elements produced by BuildStream are bit-for-bit reproducible.") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/23715:33
gitlab-br-botbuildstream: merge request (juerg/dbus->master: Inherit user id and group id for bst shell) #265 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/26515:39
* paulsherwood wonders if there's some hitch with the fosdem talk video... still no sign, but most others are up15:44
persiaI would have expected it at https://video.fosdem.org/2018/K.3.201/15:45
juergbithat's odd15:45
persiaI don't see the following talk either15:46
persiahttps://video.fosdem.org/2018/K.3.201/developing_enterprise_and_community_distros.webm was the immediately preceeding talk15:47
paulsherwoodto be fair they've been landing every day, so maybe soon...15:48
persiaVideo team does excellent work, but there are never enough folk who volunteer to do the post-processing and upload, plus post-fosdem is a time of illness and sleep (too many people bring germs from too many corners of the globe).15:50
* nexus wonders if it was put in the wrong dir15:51
nexusah, found it15:52
nexuswaiting review15:53
nexusit's in preview atm15:53
* tlater wonders if we should throw an exception if we cannot find a plugin that's defined in project.conf15:54
nexusDon't we?15:54
nexuswhat happens?15:55
tlaterWell, bst seems to just carry on until we crash because we can't find a plugin required for an element15:56
tlaterI suppose technically some paths might not require the plugin15:56
tlaterAs it stands I can't even get ssam2's docker plugin to run :|15:57
ssam2we should raise an exception if the config is bad15:57
jmacI think if there's a missing plugin defined in project.conf then it should be reported right away15:57
gitlab-br-botbuildstream: merge request (212-git-source-needs-a-way-to-disable-checking-out-submodules->master: WIP: Resolve "Git source needs a way to disable checking out submodules") #259 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/25915:59
tlaterIt would also be useful to list installed plugins when one is missing - a lot easier to debug that way15:59
* tlater will write an issue in a bit16:00
gitlab-br-botbuildstream: merge request (175-refactor-integration-tests->master: Resolve "Refactor integration tests") #233 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/23316:14
tlaterssam2: (or anyone who knows about dnf) Does this look like a dnf error? https://gitlab.com/BuildStream/buildstream/-/jobs/5153664816:23
ssam2yep, dnf randomly fails occasionally like that16:25
* tlater hates fiddling with CI16:26
tlaterI guess I'll just have to wait a bit and see if that clears up16:26
ssam2it usually does16:27
tlaterAh, it passed!16:28
tlaterSo, if at any point you get permission errors with the new integration tests, it seems "retry after a while" is a valid strategy to resolve that16:29
* tlater has no idea what causes it, some files seem to randomly change permissions during test runs16:30
jonathanmawjuergbi: I've checked my changes, rebased and pushed my submodule checkout changes. Can you review them when you have time?16:31
juergbiwill do, ta16:32
lture fosdem, we also need to upload the slides to https://fosdem.org/2018/schedule/event/introducing_buildstream/16:32
ltui suspect they were missed off as they were being perfected right up until the talk16:33
tlaterssam2: I seem to be missing a 'SaveFile' in buildstream.utils - iirc that's something you wanted to merge into buildstream but was eventually refused16:38
tlaterWhat happened to that?16:38
ssam2it got merged16:39
ssam2i thought16:39
ssam2but renamed16:39
tlaterAh16:39
ssam2do you have an old version of the branch ? i thought i updated it already16:39
tlaterHm, lemme check16:39
ssam2its in there as utils.save_file_atomic()16:40
tlaterOh, yeah, looks like I had an old version16:40
tlaterOdd, I rebased it against master16:40
tlaterAh, looks like I don't have your remote in my branch16:43
*** ruben has joined #buildstream16:48
*** ruben has quit IRC17:03
*** ruben has joined #buildstream17:05
gitlab-br-botbuildstream: issue #175 ("Refactor integration tests") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/17517:10
gitlab-br-botbuildstream: merge request (175-refactor-integration-tests->master: Resolve "Refactor integration tests") #233 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/23317:10
tlaterta juergbi :)17:20
ltuwahey!17:20
tlaterI'll scour master for non-migrated integration tests for the next few days17:21
juergbitlater: actually, workspace mount test was not removed17:23
tlaterAck17:23
juergbiwe can just remove the integration-tests directory, right?17:24
juergbias it's already migrated17:24
tlaterI did apparently migrate it17:24
*** toscalix has quit IRC17:24
tlaterYeah, the integration-tests directory has been completely purged from CI files17:24
juergbiok, i'll remove it17:24
tlaterta17:24
jmacDoes BuildStream reduce max-jobs if it's running several build jobs at once?17:32
ssam2no17:32
juergbithe idea is that the kernel scheduler can handle this well enough. it's not always ideal but generally works as long as you're not running out of RAM17:33
juergbimaybe we should look into implementing a make-compatible job server at some point17:34
tlaterLooking at ssam2 's code, I think we could definitely use a better linter in the CI - the fetching failure was entirely due to a missing variable17:37
* tlater suspects that this fell through since the method in question was mostly unused before the recent elements state refactoring17:37
ssam2no CI can completely prevent me from making stupid mistakes17:38
ssam2many have tried17:38
tlaterHeh17:38
persiassam2: CI is not your taskmaster, only your tutor, helping you learn which of your mistakes are stupid :)17:38
jmacActually I was wondering why my job was using too few cores, rather than too many17:40
* tlater thinks missing variable declarations are so obvious that CI should definitely point them out17:41
persiaI think a make-compatible job server is probably wise.  The other case where the kernel scheduler fails is when one runs out of IO bandwidth.17:41
persiatlater: Many projects put linters and similar in their CI: you'd just need to write the wrapper to do that.17:41
tlaterI suspect there already is one for pylint17:42
persiaA hundred cores trying to use a disk connected by a single x4 PCIe link tends to cause unfortunate performance if not throttled, as an example I have seen tried before.17:42
tlaterThis comes up from a quick Google: https://pypi.python.org/pypi/pytest-pylint17:42
persiatlater: Just needs an MR to add it :)  I wonder if a pep8 suite would also be useful17:43
tlaterWe have a pep8 suite already17:43
persiaIn CI?  Ah.  I should look at things more carefully.17:43
* tlater creates an issue and will probably create an MR for adding pytest-pylint tomorrow17:44
juergbii'd definitely welcome more static checking17:44
juergbimight it actually be a superset of the pep8 suite, i.e., it could replace that?17:44
tlaterUsing it here it has a lot of hints for code practices that we don't follow, so its usefuleness will be a bit more limited than usual17:44
tlaterjuergbi: No, unfortunately it doesn't do multiple line checking17:45
tlaterIt does *most* of pep8, but not all17:45
juergbi:/17:45
* tlater might spend a bit of time seeing if it could replace pep8 though, possible someone's written a plugin at this point17:45
tlaterMy knowledge of pylint-pep8 state is 5 months outdated17:46
tlaterssam2: I don't mind if this happens tomorrow, but it would be nice if you could give me an ok on these changes: https://gitlab.com/BuildStream/bst-external/merge_requests/9/diffs?diff_id=10959286&start_sha=9f28b6dd49ab2a9099d5eb6cd99ddcef9542655b17:49
ssam2tlater, looks OK17:51
*** valentind has joined #buildstream17:56
jjardon[m]sorry for the question, but is there any reason to use pytest-pep8 instead pycodestyle?17:57
ssam2we should update to pycodestyle, but i think there will be extra warnings that someone will need to fix17:57
jjardon[m]also, seems buildstream needs the pep8 python package but its not used anywhere?17:57
jjardon[m]sure, only asking as I think we do not use pep8 at all, but pytest-pep8; is that correct?17:58
tlaterHrm, when I built my debian-8 image I had to install both individually17:58
jjardon[m]ah, does pytest-pep8 depends on pep8 python package then?18:01
*** jonathanmaw has quit IRC18:03
gitlab-br-botbuildstream: issue #238 ("BuildStream does not abort when a configured plugin is not installed") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/23818:03
gitlab-br-botbuildstream: issue #239 ("Use pylint for linting") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/23918:05
*** tristan has quit IRC18:12
tlaterjjardon[m]: I'm not entirely sure, it's a very vague memory at this point.18:14
tlaterProbably could take some experimenting18:14
* tlater puts it in his backlog18:14
*** ssam2 has quit IRC18:31
*** ruben has quit IRC19:08
*** aday has quit IRC19:47
juergbimcatanzaro: did some epiphany testing here and we're getting closer. 8 out of 10 tests are now passing with a bit of additional help. one test is timing out and the migration test is failing20:19
mcatanzarojuergbi: It's always possible that the remaining failures are epiphany regressions rather than BuildStream issues... but the only way to check that is for me to reinstall jhbuild. Do you want to risk that? :P20:20
mcatanzaroHistorically, I've made a habit of just commenting out failing epiphany tests instead of fixing them... my main concern here is not that epiphany specifically works, but that we can tell maintainers to follow some process to generate a tarball using BuildStream and expect it to probably work. (And being able to run a functional application would be nice too!)20:20
juergbii wasn't expecting dist tests to rely on system/session services20:21
juergbidoesn't sound ideal to me20:21
juergbii also had to run 'ninja install' before 'ninja dist' because the tests require system-installed gsettings schemas20:22
juergbithat sounds like an epiphany/meson issue, not a buildstream one. but easy to workaround as ninja install inside the sandbox works (will be lost when leaving but that's ok)20:22
juergbimy uid patch indeed allows access to dbus now, however, the tests complain with: getpwuid_r(): failed due to unknown user id20:23
juergbiadding a /etc/passwd entry avoids this issue20:24
juergbiobviously not a useful solution20:24
mcatanzaroSystem-installed gsettings schemas are required by most GNOME applications... easy to workaround indeed, though20:26
mcatanzarojuergbi: Why is adding an /etc/passwd entry not useful?20:26
juergbii mean, we don't want to ask developers to do this all the time20:27
persiaMaybe we can have an element that adds a few things to /etc that are normal on most systems, with static values, and use that as a dependency if we need to run that sort of test?  That would be mostly developer-invisible, except for them needing to add the dependency.20:30
persiaOr we could put an /etc/passwd in a platform (e.g. the GNOME SDK), so that it was already there.20:30
juergbiwe'd need the host uid of the developer in /etc/passwd, that's not fixed20:31
persiaProbably safe to assume 1000, and developers with a different uid would have to do something special.20:33
persiaBut yeah, not ideal, and approaches leakage of host environment20:33
juergbiwith bst shell some leakage is intentional. we wouldn't have to weaken the build sandbox20:34
juergbihowever, we may need a way to control it20:34
persiaMaybe either RO hardlink to real /etc/passwd or cp /etc/passwd into the environment?20:36
persiaAlso /etc/group, /etc/shadow20:36
juergbisystem groups should probably not be copied. so copying just a single line (or generating it) is probably better20:41
juergbi /etc/shadow is not accessible by non-root but should also not be needed20:41
juergbimcatanzaro: i tried running ninja dist with dbus-run-session as possible alternative but that again produces the accessibility registration error20:42
persiaMaybe `touch /etc/shadow`?  But yeah, not usually necessary.20:42
juergbii guess epiphany dist generally doesn't work on headless systems?20:42
mcatanzarojuergbi: I've never had any reason to try it on a headless system20:43
juergbiCI systems would have the same issue20:43
mcatanzaroEpiphany itself doesn't have any a11y-related code at all; I assume that's coming from GTK+ (or, less-likely, maybe WebKit)20:44
juergbii.e., you also can't run tests in gitlab CI20:44
mcatanzaroI could run it under fatal-criticals to see where it's coming from, but then I have to switch back to the old version of Buildstream (and presumably rebuild everything again?)20:44
persiaWhen X was the standard, we used to use a special fake X server for CI, which acted like an X server, except nothing was rendered (just state stored in RAM).  Is there anything like that for Wayland?20:44
juergbimcatanzaro: no, i don't think that's necessary20:45
juergbi(rebuild of dependencies would not be required, though, the rebuild was necessary because of a change in master, not my patch)20:45
mcatanzaropersia: That's probably xvfb?20:46
juergbipersia: weston has a headless backend20:46
mcatanzaroI'll switch to master and see where the a11y error is coming from, then20:46
juergbiok, ta20:47
persiamcatanzaro: It was xvfb, yes :)  I doubt that's the current state of the art today20:47
mcatanzaroxvfb is how we run WebKit tests20:47
*** ernestask has quit IRC20:54
gitlab-br-botbuildstream: issue #240 ("Make a release of BuildStream") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/24021:02
mcatanzarojuergbi: I'm trying to debug to see where the a11y warnings are coming from. I ran export G_DEBUG="fatal-warnings"21:24
mcatanzaroNow when I run "ninja test" it fails badly because it runs out of fds (even with your fix), so I run "ninja test -j1" instead.21:25
mcatanzaroNow all the tests crash, as desired. Problem: how do I generate a backtrace from the core dumps?21:25
mcatanzarocoredumpctl on the host collects the core dump, but it can't read it21:26
mcatanzaroI mean, it can't generate a usable backtrace21:26
juergbimissing debug symbols?21:26
mcatanzaroAnd there doesn't seem to be coredumpctl inside the sandbox. There is gdb inside the sandbox.21:26
mcatanzaroI guess I should try manually running one of the tests inside gdb, but that's a lot harder than just running 'coredumpctl gdb'.21:27
juergbigdb works but you're missing the function names in the backtrace?21:27
juergbigdb /path/to/crashed-executable core.123421:27
juergbishould be equivalent21:27
juergbiif you have a core file21:28
mcatanzarojuergbi: core file is managed by coredumpctl, on the host21:28
mcatanzaroIt tries to generate a coredump for e.g. /newroot/buildstream/build/_builddir/tests/test-ephy-uri-helpers21:28
juergbicoredumpctl dump > epiphany-workspace/core21:29
juergbiand then access it in the bst shell21:29
mcatanzaroThat works, excellent!21:31
mcatanzaroIt's really hard to do without *bash completion* though ;) ;) ;)21:31
juergbimcatanzaro: you didn't see my comment on that bug?21:32
mcatanzaroI did!21:32
juergbirun bash instead of the default sh and it works21:32
mcatanzaroOh, manually run bash. Yes... OK21:32
juergbii.e., just append bash as argument to 'bst shell'21:32
juergbia bit annoying but easy enough as workaround21:33
mcatanzaroAnyway, from the backtrace I judge that *any* use of GTK+ is going to try to use the a11y bus... it's called a few levels inside gdk_display_manager_open_display()21:33
persiaProbably should get fixed, but workarounds are useful when two days behind schedule :)21:33
mcatanzaroSo yes, I'd say running tests on a headless server is not going to work. I wonder how useful GitLab CI will be for us, then....21:34
mcatanzarohttps://paste.gnome.org/piullxchz/38yrhm/raw21:35
mcatanzaroFor WebKit we actually manually spin up an a11y bus before running tests.21:35
juergbihm, interesting. wondering why gtk3-demo works21:36
mcatanzaroAnyway, your uid branch fixed the a11y problem, anyway21:42
juergbiwe still have the getpwuid/passwd issue21:43
juergbibut yes, if we could find a suitable workaround for that, we're pretty close21:43
*** luvspamchrono has joined #buildstream21:52
*** luvspamchrono has quit IRC21:53
*** mcatanzaro_ has joined #buildstream22:05
*** mcatanzaro has quit IRC22:07
*** mcatanzaro_ is now known as mcatanzaro22:07
*** valentind has quit IRC22:25
gitlab-br-botbuildstream: issue #241 ("Allow name resolution inside bst shell") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/24123:21
*** ruben has joined #buildstream23:27
*** mcatanzaro has quit IRC23:41
*** Prince781 has joined #buildstream23:44
*** tristan has joined #buildstream23:53

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