IRC logs for #buildstream for Friday, 2017-03-10

*** brlogger has joined #buildstream03:55
*** irc.acc.umu.se sets mode: -o brlogger03:55
*** hergertme has joined #buildstream03:55
*** jjardon[m] has joined #buildstream03:55
*** paulsher1ood has joined #buildstream03:55
*** juergbi has joined #buildstream03:55
*** persia has joined #buildstream03:55
*** irc.acc.umu.se sets mode: +ntr 03:55
*** irc.acc.umu.se changes topic to "BuildStream 0.1 is out ! | https://gitlab.com/BuildStream/buildstream | Docs: https://people.gnome.org/~tvb/buildstreamdocs/ | IRC logs: https://irclogs.baserock.org/buildstream | Roadmap: https://wiki.gnome.org/Projects/BuildStream/Roadmap"03:55
*** kurbeco has joined #buildstream03:56
*** tiagogomes has joined #buildstream03:58
*** leeming has joined #buildstream03:58
*** tristan has joined #buildstream04:21
*** ChanServ sets mode: +o tristan05:15
*** tristan changes topic to "BuildStream 0.1 is out ! | https://gitlab.com/BuildStream/buildstream | Docs: https://buildstream.gitlab.io/buildstream | IRC logs: https://irclogs.baserock.org/buildstream | Roadmap: https://wiki.gnome.org/Projects/BuildStream/Roadmap"06:52
tristanAwesome gitlab, any merge to master: Automatically generates docs at: https://buildstream.gitlab.io/buildstream06:53
paulsher1oodtristan: w00t!09:01
paulsher1oodmaybe it would make sense to add the roadmap there?09:02
tristanpaulsher1ood, I dont think so, rather there are better ways to do this :)09:06
tristanpaulsher1ood, we can have a website for the BuildStream "group"09:06
tristanWhere we can refer to things, and point to the docs from there etc09:07
tristanthen buildstream.gitlab.io is the main website, and buildstream.gitlab.io/buildstream is the project documentation09:07
tristanThen again, whether you maintain your roadmap in your actual repository, is a matter of taste I guess09:08
tristansome people have TODO files and such, but I feel it avoids clutter to keep that tracked in external resources and bug trackings09:09
paulsher1oodyour call, t'was just a suggestion09:11
tristanI think it will be nice to have a website for the group :)09:13
tristanregardless of where we keep the roadmap09:14
tristanjuergbi, fyi I'm making some artifact cache changes09:14
tristanjuergbi, first step, I've moved over to using the Element directly as API (as you suggested, but artifacts came before Elements were completely there), and updated test cases09:15
tristanBut beyond that, I want to encode some more into artifacts, for instance some metadata, and I dont want the metadata to be in the actual artifact content09:16
tristanAlso, I want to include the build log at commit() time09:16
tristan(again, not part of the actual content)09:16
tristanSo in shared cache cases, we always have some provenance about where the artifact was built and such (in the full build log)09:17
tristanAlso the metadata I realize is going to be needed for some more fancy things09:17
tristanfor instance, it solves the problem of stratifying (or _not_ rather) of projects you depend on (recursive pipelines), as a pipeline element (or a "stack" for that matter) makes a statement of all the cache keys which it depends on09:18
tristanso you can recursively fetch the artifacts you need to stage, if you have their cache keys in the artifact metadata (of a stack or pipeline element)09:19
* tristan thinks this might have been a reason why morph was doing this, even though I dont see it being in use really09:20
tristanAlso, it provides a way that we can propagate public data through the artifact09:21
tristan(like integration commands, which could be automatically derived from pipelines you depend on)09:21
tristansome inspiration came from going over that roadmap again09:22
paulsher1oodif you're changing test cases, can you drop 'the pony' and go for something that makes obvious sense to a new potential contributor?09:31
tristanI just updated artifact cache tests so they would continue to pass09:32
paulsher1oodack09:32
tristaneverything costs work, and I'm not opposed to changing ponies for other thingies if the result is more clear (it takes imagination though to name things well in test data sets)09:33
tristanbut I wont be considering test cases to be exemplary of how to use buildstream09:34
tristanwe should have demos / examples for that purpose09:34
juergbitristan: ok, makes sense. i think we should keep most of the metadata inside the actual artifact. if necessary, we could have an option to skip extraction of that part10:40
tristanjuergbi, at first I wanted to have one artifact with a content/ subdir10:41
tristanbut that causes some complications, cant easily achieve that without moving things on disk10:41
juergbii agree that some things may make sense outside the actual artifact, though. artifact cache keys of dependencies and build logs might actually make sense10:41
tristanI just think that what constitutes the content of the artifact is not the metadata, as soon as we add any file into the content we place some restriction (namespace clutter) on what an artifact can contain10:42
tristanSo, for instance if we sneak things into an artifact, maybe an artifact is no longer allowed to actually distribute something in '/buildstream'10:43
tristanas unlikely as it seems, separating that is the pedantic thing to do10:43
juergbitrue. may have to decide based on a list of specific metadata10:43
juergbibuild log and artifact cache keys of dependencies make sense outside10:43
tristanYes, they could live together in a counterpart10:44
tristanAnother thing is, right now I have this hack in the "stack" element, which creates stuff in the artifact10:44
tristanbecause ostree pukes when you commit an empty directory10:44
tristananyway a little more thought on how it comes together is needed I guess, but certainly we can support artifacts without content (like stacks, or potentially pipelines, which just make a statement that their dependencies have been built)10:46
juergbiostree should probably support this (possibly with a flag like git's --allow-empty)10:47
tristannod, maybe so :)10:47
tristanbut if we read the metadata first, we can also easily work around that10:47
tristan(which is probably appropriate, given the time it will take for a change in ostree to reach distros)10:48
tristanI was also wondering if ostree supports creating a commit from different sources10:49
tristanif that's already supported, that can help10:49
tristani.e. "Take this directory, and put it in /content of your commit, also take this /long/path, and put it there as /build.log"10:50
tristanall in one atomic commit10:50
juergbion the low level it would likely be simple. no idea whether the API allow sit10:50
juergbi*allows it10:50
tristannod10:50
tristanneeds investigation, was perusing the source today10:50
tristanalso I'm not sure what character set exactly is allowed in a ref10:51
* tristan has a substitution to support element names which contain '+'10:51
tristanfor things like libstdc++.bst10:51
tristancouldnt find that in the sources easily though :-/10:52
*** tristan has quit IRC10:57
*** tristan has joined #buildstream11:04
*** ChanServ sets mode: +o tristan11:05
*** ironfoot_ has joined #buildstream11:32
*** ironfoot_ has quit IRC11:38
*** jude has joined #buildstream11:53
*** jude has quit IRC15:03
*** ironfoot_ has joined #buildstream15:38
*** ironfoot_ has joined #buildstream15:40
*** ironfoot_ is now known as ironfoot15:40
*** ChanServ sets mode: +o ironfoot15:40
*** tiagogomes has quit IRC17:23
*** tristan has quit IRC20:18

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!