IRC logs for #buildstream for Thursday, 2019-03-28

*** rdale has quit IRC01:35
*** toscalix has joined #buildstream05:07
*** tristan has quit IRC05:38
*** tristan has joined #buildstream06:00
*** tristan has quit IRC07:47
*** tristan has joined #buildstream08:04
gitlab-br-botBenjaminSchubert approved MR !1257 (shared/yaml-rework->master: YAML New World Order) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/125709:22
*** raoul has joined #buildstream09:31
*** rdale has joined #buildstream09:39
*** jonathanmaw has joined #buildstream09:51
jennisjuergbi, are you happy for me to assign !1257 to marge?09:53
juergbijennis: yes, I think all of my comments have been addressed - and I hope I haven't missed anything substantial09:56
jennisHopefully none of us have! :p09:56
jennisthanks09:56
gitlab-br-botmarge-bot123 closed issue #591 (Missing required key on project.conf causes wrong provenance file name on error message) on buildstream https://gitlab.com/BuildStream/buildstream/issues/59110:04
gitlab-br-botmarge-bot123 merged MR !1257 (shared/yaml-rework->master: YAML New World Order) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/125710:04
*** phildawson_ has joined #buildstream10:08
jennis\o/10:12
*** nimish2711 has joined #buildstream10:33
*** lachlan has joined #buildstream10:37
*** phil has joined #buildstream10:40
*** phildawson_ has quit IRC10:40
*** ChanServ sets mode: +o tristan10:42
tristannew world YAML order, exciting10:42
jennistristan, sure is, there are some benchmarks on the MR that shows the difference10:43
tristanjennis, I'm curious why the tests all change the regular dictionary accesses for `_yaml.node_get()`10:44
tristanAre regular dictionary accesses now invalid ?10:44
jennisNow nodes are namedtuples10:44
jennisOf (value=whateva, file_index=int, line=int, col=int)10:45
jennisSo all loaded values have their provenance upon load10:45
tristanI mean, that would be an interesting way to force/ensure that plugins *cannot* access configuration node members without going through an API which will raise an appropriate LoadError()10:45
tristanSo probably we want to make sure that the structure of "nodes" is not something that a plugin is allowed to know, right ?10:45
jennisThat's the idea, we *must* be using _yaml functions now10:46
tristanright, well plugins will be going through self.node_get_member() etc, but it amounts to the same :)10:46
tristanjennis, nice :)10:46
jennisYes, they go via Plugin.whateva() to _yaml functions10:46
tristanIs the yamlcache now gone completely ? or is it replaced by something internal ?10:47
jennisIt didn't provide any benefit, so completely gone10:47
tristanAlso nice10:48
jennisEven for 75k elements10:48
tristanI still see that loading a project the first time is slower than later times10:48
tristanAnd then I notice that when it is slower, there is network activity10:48
tristanI.e. we are not running a scheduler and messaging to the user properly when autofetching subprojects10:48
tristancompletely orthogonal to your branch of course :)10:49
tristanjust an observation I've been making last week10:49
jennisAhh interesting10:49
jennisAlso what's interesting, is how much more memory consumption there is when we 'show' elements with cached artifacts10:49
jennisIt's significantly more]10:49
tristanIt also means that like, if I want to force BuildStream to never access the network, say by setting my fetchers to 0, it will fetch *anyway*10:49
tristanWould be nice to streamline things more so that any activities go through the same policed codepaths10:50
tristan(but not a huge concern really)10:50
jennisSo the junction is implicitly fetched in project loading?10:50
tristanYes, that has always been the case10:51
jennisMakes sense10:51
tristanBut it would be nice if say, the Stream object which causes the loader to operate, were to have a callback called when the loader says "Hey, I cant complete without fetching this thing !"10:51
tristanThen the stream could go through the normal codepath to do the fetch on behalf of the loader10:51
tristanThen I'd have nice messaging I guess is the biggest win... I'd see the status bar for a moment while the thing fetches and some corresponding log lines10:53
tristan(right now it just takes a long time in "Loading elements")10:53
tristanmeh10:53
jennisOk, so I'm doing some cleanup of bst-external's test suite. To run the tests, we've always been using a literal copy and paste of buildstream's testutils (at whatever commit...), now, in master buildstream.testutils exists as something we can import10:58
jennisHowever, bst-external is being tested with bst-1.210:59
jennisDoes anyone have any ideas how I might be able to import this module *and* run the tests with bst-1.2?10:59
tristanjennis, at some point we're going to have to fork10:59
tristanAs of last IRC team meeting, jjardon raised that distros have packaged bst-external, so it is becoming more urgent11:00
tristanI still have to make a writeup to our list on what changes we have to make so that the environments can coexist without stepping on eachothers toes11:01
jennisSo a fork which is bst-external that is compatible with master, fair enough11:01
tristanjennis, but first step I think is going to be to fork bst-external and create bst-experimental (better name to not risk anyone packaging it)11:01
jennisbut for the bst-external that is compatible with bst-1.2, is there anyway I can (probably hackily) import this module from master and then use bst-1.2's binary11:02
jennisI can't think of a way11:02
jennisJust wondered if anyone else had an idea11:02
tristanNot without being very messy I think11:02
tristancant think of anything that wouldnt be a horrible hack, an option would be to backport the testutils but I don't see much point in that11:03
jennisIt would literally just be for the tests11:03
tristanjennis, before I forget, have you documented this YAML new world order as an API break ?11:03
jennisIt's slightly annoying that the majority of plugins in bst-external are untested too, maybe we should start mandating a test11:04
tristanjennis, I think currently we do that in NEWS, until a porting guide starts getting written11:04
jennistristan, whoops, no. Will create an MR for this now11:04
tristanI.e. we need to remember that in BuildStream 2, plugins cannot access the config passed in Plugin.configure() in the same way, and now *must* go through the Plugin.node_get_*() family of functions11:04
tristanso we can have that in a porting guide11:05
tristanjennis, thanks !11:05
jennisWe did mention doing this... obviously lost track11:05
tristanyeah of course11:05
gitlab-br-botjmacarthur approved MR !1235 (jennis/track_is_overworking->master: Write test to ensure that track does not needlessly rewrite) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/123511:05
jennisYeah, there are some plugins in bst-external now (e.g. flatpak-image) that will not 'just work' with the new world YAML order11:06
jennisThat plugin does all sorts of crazy things with dicts11:06
jjardonshould we create a bst-1.2 branch of bst-external?11:09
jennisjjardon, and have bst-external consume BuildStream master?11:15
jennisThought we recently agreed to keep bst-external for bst-1.2? https://gitlab.com/BuildStream/bst-external/merge_requests/72#note_15234382311:16
jjardonno, create a new repo and buildstream master will use that. like buildtream-plugins-good or something like that11:16
jjardonthen we can remove everything from bst-external master11:16
jjardonto clearly state bst-external is for bst-1.2.x only11:17
jennisSo, a bst-external 1.2 branch *and* a new repo for the same plugins, but working with master?11:17
jennisWhere the bst-1.2 branch (of bst-external) is the default?11:18
jjardonyes11:18
tristanjjardon, if we create a new repo, I'm not sure we need to branch in bst-external11:22
jjardonwe do not need, It's more for clarity11:23
tristanSure, I'm not fussed either way - I think less branches is easier to follow, though11:23
tristanI think jonathanmaw maintains bst-external, I would leave that up to him if he still maintains bst-external11:24
*** tristan has quit IRC12:06
*** tristan has joined #buildstream12:32
*** nimish2711 has quit IRC12:37
*** lachlan has quit IRC12:37
gitlab-br-botjennis opened MR !1264 (jennis/add_NEWS_entry->master: FOLLOW UP: Add NEWS entry for YAML New World Order) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/126412:39
jennistristan, I've added the NEWS entry ^^12:39
*** nimish2711 has joined #buildstream12:43
*** alatiera has joined #buildstream12:54
*** alatiera_ has joined #buildstream13:02
*** alatiera has quit IRC13:02
*** alatiera_ is now known as alatiera13:03
benschubertI'm hitting problems with the local cache again. Starting bst build fails because some fetches can't stage source, as no space is left (expected). However, the cache cleanup never kicked in... Am I missing something?13:04
tpollardanyone seen a ci job stuck like this? https://gitlab.com/BuildStream/buildstream/-/jobs/18595407013:04
* tpollard kills it13:10
benschuberttpollard: runners tend to get stuck sometimes :/13:11
jjardonjonathanmaw: hi, would it be possible to have another bst-external release? Fixes there are needed to fix https://gitlab.com/BuildStream/buildstream/issues/97613:23
jonathanmawjjardon: okie doke13:24
jjardonthanks!13:25
jennisjjardon, have you tried building fdsdk since !1257 landed?13:25
gitlab-br-botMR !1257: YAML New World Order https://gitlab.com/BuildStream/buildstream/merge_requests/125713:25
jennisI.e. at somepoint today, as this MR will require that some of the bst-external plugins (which I'm pretty sure are used in fdsdk) use the public API13:26
jjardonjennis: not myself13:26
benschubertjennis: fdsdk is already broken by !125413:27
gitlab-br-botMR !1254: Rework Element.dependencies to be more efficient https://gitlab.com/BuildStream/buildstream/merge_requests/125413:27
jennisbenschubert, yeah I just read that, but it's going to be more broken by !1257 due to the bst-external plugins13:28
jjardonjennis: benschubert if breaking changes are being pushed to master, how come the cache key is not begin invalidated? https://gitlab.com/BuildStream/buildstream/-/jobs/18551786013:32
jjardonbeing*13:32
benschubertjjardon: no breaking changes have been made on the cache key13:32
benschubertjjardon: the only changes were reworking the yaml API, which is a breaking change13:33
benschubertThe other one, responsible for the earlier fsdsk failure was due to bst-external using a private API in BuildStream, which it shouldn't have13:33
jjardonmmm, so how is possible the cached build is ok but the uncached one no? https://gitlab.com/BuildStream/buildstream/-/jobs/18551786113:33
jjardonfor the same pipeline: https://gitlab.com/BuildStream/buildstream/pipelines/5393849413:34
benschubertjjardon: because the uncached build actually exercise the part of the code that is using the private API13:34
benschubertwhereas the cached one doesn't since it's already cached13:34
jjardoncool, that will get fixed when jonathanmaw release a new bst-external tag13:35
benschubertexact13:35
jennisjonathanmaw, benschubert, I've addressed your comments: https://gitlab.com/BuildStream/bst-external/merge_requests/77 please let me know if you're happy with the MR13:36
jonathanmaw👍13:37
jonathanmawnew version pushed https://gitlab.com/BuildStream/bst-external/tree/0.12.013:51
gitlab-br-botmarge-bot123 merged MR !1235 (jennis/track_is_overworking->master: Write test to ensure that track does not needlessly rewrite) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/123514:04
gitlab-br-botjjardon opened MR !1265 (jjardon/overnigth_tests_fix->master: .gitlab-ci.yml: Use bst-external 0.12.0 for overnigth tests) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/126514:13
*** lachlan has joined #buildstream14:25
tpollardCI seems very flaky today14:28
*** lachlan has quit IRC14:35
raoultpollard, is there any reason the methods in `_artifact.py` for `get_files` and similar, return a virtual directory and a key? it seems like the key is ignored everywhere it's used14:37
*** lachlan has joined #buildstream14:41
laurencemarge bot has (finally) been amended server side to now have CI time out set to 120 minutes14:43
*** lachlan has quit IRC14:45
*** raoul has quit IRC14:48
*** sney has joined #buildstream14:59
*** Dragonkeeper has joined #buildstream14:59
*** kraft has joined #buildstream14:59
*** Bantalon has joined #buildstream14:59
*** pinaraf has joined #buildstream14:59
*** Guest69142 has joined #buildstream14:59
*** taaperotassu has joined #buildstream14:59
*** Guest69142 has quit IRC14:59
*** Dragonkeeper has quit IRC14:59
*** taaperotassu has quit IRC14:59
*** kraft has quit IRC14:59
*** sney has quit IRC14:59
*** pinaraf has quit IRC14:59
*** jadew has joined #buildstream15:00
*** Bantalon has quit IRC15:00
*** davidebeatrici has joined #buildstream15:00
*** Slade has joined #buildstream15:00
*** tinoco has joined #buildstream15:00
*** Supersonic has joined #buildstream15:00
*** SimonVT has joined #buildstream15:00
*** orderchaos has joined #buildstream15:00
*** jadew has quit IRC15:00
*** orderchaos has quit IRC15:00
*** davidebeatrici has quit IRC15:00
*** Slade has quit IRC15:00
*** Sargun has joined #buildstream15:00
*** Supersonic has quit IRC15:01
*** SimonVT has quit IRC15:01
*** nemish has joined #buildstream15:01
*** LuMint has joined #buildstream15:01
*** ntt has joined #buildstream15:01
*** nemish has quit IRC15:01
*** ntt has quit IRC15:01
*** LuMint has quit IRC15:02
*** KramerC has joined #buildstream15:02
*** FRidh has joined #buildstream15:02
*** KramerC has quit IRC15:02
*** FRidh has quit IRC15:02
*** raoul has joined #buildstream15:03
*** rektide_ has joined #buildstream15:03
*** tinoco has quit IRC15:03
tpollardraoul: probably just to keep it inline from when the places where they were used were calling get_directory directly which was returning the tuple15:05
*** lachlan has joined #buildstream15:06
tpollardget_subdirectory definitely needs to return the used key, but if it's redundant in to the specific 'get' methods accessing it then probably no need to propagate it through15:08
*** jackc has joined #buildstream15:10
raouldo you mean get_directory? get_subdirectory is only used for the get_files and get_buildtree15:10
tpollardraoul: sorry was looking at my branch, I'm planning to use it on all the methods that want the meta subdir15:11
raoultpollard, Ah I should probably have a look at what your followup issue is ... sounds like it's gonna clash with teh reworking to use the artifact protos15:13
tpollardraoul: it's not really an issue, more of a tidyup really15:13
*** CryingCyclops has joined #buildstream15:14
raoulWell regardless there'll probably be some clashing with the stuff I've made a start on15:15
tpollardoh for sure15:16
*** jjacky11 has joined #buildstream15:18
*** jjacky11 has quit IRC15:18
*** bsaggy has joined #buildstream15:19
*** Ainsey has joined #buildstream15:19
*** lmartin92 has joined #buildstream15:20
*** ikkuranus has joined #buildstream15:20
tpollardraoul: hoping to have a WIP that hits most of #955 for the end of tomorrow15:32
gitlab-br-botIssue #955: Follow-up from "Artifact 'abstraction' class" https://gitlab.com/BuildStream/buildstream/issues/95515:32
raoulcool cool, I'm just gonna push ahead at the moment and worry about the clash later :P15:33
gitlab-br-botjjardon closed issue #976 (Regression: buildstream master cannot build fdsdk anymore) on buildstream https://gitlab.com/BuildStream/buildstream/issues/97615:39
gitlab-br-botjjardon merged MR !1265 (jjardon/overnigth_tests_fix->master: .gitlab-ci.yml: Use bst-external 0.12.0 for overnigth tests) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/126515:39
*** lachlan has quit IRC15:40
*** mart has joined #buildstream16:11
*** nimish2711 has quit IRC16:13
*** nimish2711 has joined #buildstream16:13
*** _StratoSwitch_ has joined #buildstream16:15
*** lachlan has joined #buildstream16:17
*** NostawRm has joined #buildstream16:18
*** cythrawll has joined #buildstream16:20
*** lujan has joined #buildstream16:21
*** mdoep has joined #buildstream16:21
*** Kadet has joined #buildstream16:23
gitlab-br-botraoul.hidalgocharman approved MR !1252 (tpollard/945->master: Add initial TestArtifact() abstraction class to testutils) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/125216:30
*** gokcennurlu has joined #buildstream16:32
*** natorious has joined #buildstream16:44
*** octorian has joined #buildstream16:46
*** xkonni has joined #buildstream16:48
*** alreece45 has joined #buildstream16:48
*** lachlan has quit IRC16:50
*** shbst has joined #buildstream16:53
*** shayr has joined #buildstream16:56
*** Henry1512 has joined #buildstream17:09
gitlab-br-bottristanvb approved MR !1264 (jennis/add_NEWS_entry->master: FOLLOW UP: Add NEWS entry for YAML New World Order) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/126417:10
jennista tristan17:17
*** lachlan has joined #buildstream17:22
*** dkp has joined #buildstream17:22
*** olus has joined #buildstream17:23
*** lachlan has quit IRC17:28
*** fishwithapipe has joined #buildstream17:33
*** lachlan has joined #buildstream17:38
*** toothe has joined #buildstream17:54
*** jonathanmaw has quit IRC18:01
*** lidel has joined #buildstream18:02
*** raoul has quit IRC18:07
tpollardI've got this twice in a row https://gitlab.com/BuildStream/buildstream/-/jobs/18624411218:09
tpollard'python3 -m sphinx.apidoc --force --separate --module-first --no-headings --no-toc -o source /builds/BuildStream/buildstream/doc/../buildstream *_pb2*.py18:09
tpollard'/builds/BuildStream/buildstream/.tox/docs/bin/python3: No module named sphinx.apidoc'18:09
*** HairAndBeardGuy has joined #buildstream18:17
*** SFaulken has joined #buildstream18:22
*** lachlan has quit IRC18:30
*** lyxia has joined #buildstream18:30
*** bbee has joined #buildstream18:31
*** mntmn has joined #buildstream18:43
*** macdice has joined #buildstream18:45
*** nBurn has joined #buildstream18:48
*** kapil___ has joined #buildstream18:48
*** Dave_R has joined #buildstream18:53
*** deadcyclo-cloud has joined #buildstream19:07
*** eth2 has joined #buildstream19:11
*** KnownUnown has joined #buildstream19:15
*** Naeblis has joined #buildstream19:20
*** Sammitch has joined #buildstream19:26
*** cinnamntig3r_ has joined #buildstream19:28
*** redskull has joined #buildstream19:39
*** tw has joined #buildstream19:42
*** Habbie has joined #buildstream19:50
*** galstrom_zzz has joined #buildstream19:55
*** sxe has joined #buildstream19:56
*** rdale has quit IRC19:57
*** insanitea has joined #buildstream19:57
*** keks has joined #buildstream20:02
*** Paul-S has joined #buildstream20:07
*** moymoy has joined #buildstream20:41
*** PatrickC_ has joined #buildstream20:49
*** Daiyousei has joined #buildstream20:51
*** RangerRick has joined #buildstream20:55
*** andyn has joined #buildstream21:15
*** pjz has joined #buildstream21:16
*** tatanka_br has joined #buildstream21:20
*** rivyn has joined #buildstream21:34
*** drygol has joined #buildstream21:46
*** HeathHayle has joined #buildstream22:06
*** Blazed has joined #buildstream22:15
*** Nekit1234007 has joined #buildstream22:19
*** gargantua has joined #buildstream22:21
*** ix007 has joined #buildstream22:44
*** alatiera has quit IRC22:54
*** alatiera has joined #buildstream22:55
*** alatiera has quit IRC22:57
*** lanceball has joined #buildstream23:06
*** TML has joined #buildstream23:27
*** zkxs has joined #buildstream23:38
*** kstar has joined #buildstream23:44
*** svillemot has joined #buildstream23:51
*** megaxlr has joined #buildstream23:58

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