IRC logs for #buildstream for Wednesday, 2018-05-16

*** jennis has joined #buildstream00:19
*** jennis_ has joined #buildstream00:19
*** Prince781 has joined #buildstream02:47
*** Prince781 has quit IRC03:00
*** jennis has quit IRC03:07
*** jennis_ has quit IRC03:07
*** Prince781 has joined #buildstream03:30
*** tristan has joined #buildstream04:34
*** Prince781 has quit IRC04:55
*** Prince781 has joined #buildstream04:58
*** Prince781 has quit IRC05:05
*** Prince781 has joined #buildstream05:07
tristanalbfan[m], I'm tidying up your example, I've squashed some fixes to the tests into your commit, and and making some additional changes on top of that commit05:28
tristanalbfan[m], also, gave you 'developer' user so you dont need to work with obnoxious forks (you can push to `albfan/<topic-branch-name>` branches for merge requests)05:29
tristanI'm going to remove the README.md, I think it's redundant to document it twice05:29
paulsherwoodtristan: in gitlab, a readme.md is the default page rendered on the repo view... are you sure you want to delete it?05:44
*** ernestask has joined #buildstream05:53
tristanpaulsherwood, it's in a deep doc/examples subdir06:00
tristanpaulsherwood, we want the examples integrated into docs, if we add another README.md there, it should not redundantly talk about what we're already talking about in the docs06:01
albfan[m]tristan: Thanks a lot, I will review your changes. I will discuss with jennis because MR 323 is the place where we should collaborate for the getting started docs.06:06
paulsherwoodtristan: ack, sorry for the noise06:07
tristanalbfan[m], I'm going to bypass that for now06:08
tristanalbfan[m], I see this example as orthogonally applicable, and I want to put an end to all the fuss06:08
tristanalbfan[m], I'm grateful that you put in the effort, really06:09
albfan[m]hehe. Explain BuildStream have to create some fuss. I was really puzzled by test so nice you find time for it. Somebody ask me for an example with extensions (java, rust) Any other example (under CI) to work on?06:12
*** Prince781 has quit IRC06:27
gitlab-br-botbuildstream: merge request (tristan/flatpak-example->master: Adding the flatpak autotools example) #466 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/46606:29
gitlab-br-botbuildstream: merge request (gitignore->master: .gitignore: Ignore autogenerated docs) #464 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/46406:30
gitlab-br-botbuildstream: merge request (tristan/flatpak-example->master: Adding the flatpak autotools example) #466 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/46606:31
*** Prince781 has joined #buildstream06:34
tristanCrap, one blocker is the setuptools bug06:45
tristanI was *almost there*06:46
tristanWhat to do...06:46
tristanI want to solve this in < 15min...06:46
*** Prince781 has quit IRC06:56
gitlab-br-botbuildstream: merge request (tristan/flatpak-example->master: Adding the flatpak autotools example) #466 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/46607:02
gitlab-br-botbuildstream: merge request (wip/examples->master: WIP: doc: Add examples) #463 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/46307:04
gitlab-br-botbuildstream: merge request (tristan/flatpak-example->master: Adding the flatpak autotools example) #466 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/46607:30
*** ernestask has quit IRC07:31
*** ernestask has joined #buildstream07:31
*** tristan has quit IRC07:35
*** toscalix has joined #buildstream07:40
*** tristan has joined #buildstream07:49
gitlab-br-botbuildstream: merge request (tristan/flatpak-example->master: Adding the flatpak autotools example) #466 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/46607:52
gitlab-br-botbuildstream: merge request (tristan/flatpak-example->master: Adding the flatpak autotools example) #466 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/46608:21
gitlab-br-botbuildstream: merge request (juerg/googlecas->master: WIP: Google CAS-based artifact cache) #337 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/33708:29
*** bethw has joined #buildstream08:30
gitlab-br-botbuildstream: merge request (juerg/googlecas->master: WIP: Google CAS-based artifact cache) #337 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/33708:32
*** slaf has quit IRC08:37
*** jonathanmaw has joined #buildstream08:58
gitlab-br-botbuildstream: merge request (juerg/googlecas->master: WIP: Google CAS-based artifact cache) #337 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/33709:05
Nexustristan: So, looking over our conversation yesterday about the stream._fetch() function. It looks like i'm going to have to seperate `track` out from that function, so it can be calling seperately from the rest of the function. But in eaither case, `--track` has to be available to both cached and non-cached calls, regardless of if a fetch is wanted.    Is this how you see it?09:09
*** slaf has joined #buildstream09:12
*** slaf has joined #buildstream09:13
*** slaf has joined #buildstream09:13
*** slaf has joined #buildstream09:13
*** slaf has joined #buildstream09:13
*** slaf has joined #buildstream09:14
*** slaf has joined #buildstream09:14
*** slaf has joined #buildstream09:14
*** slaf has joined #buildstream09:14
*** slaf has joined #buildstream09:15
tristanNexus, I made the suggestion yesterday that you might either not use the internal helper Stream._fetch() function, or you might give it the option of only tracking09:19
tristanNexus, currently it either does fetch, or fetch & track09:19
*** dominic has joined #buildstream09:22
*** aday has joined #buildstream09:24
*** finn has quit IRC09:35
*** finn has joined #buildstream09:35
tristanSo, it aint perfect, but it's a good start: http://buildstream.gitlab.io/buildstream/examples_flatpak_autotools.html09:38
*** finn has quit IRC09:38
*** finn has joined #buildstream09:38
tristanIt could use some more preliminary text explaining that the explained elements need to be created, or at least have a link to the example directory here: https://gitlab.com/BuildStream/buildstream/tree/master/doc/examples/flatpak-autotools09:39
*** finn has quit IRC09:39
gitlab-br-botbuildstream: merge request (juerg/googlecas->master: WIP: Google CAS-based artifact cache) #337 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/33709:39
*** finn has joined #buildstream09:39
tristanproject name should probably be changed to 'flatpak-autotools' instead of 'autotools-flatpak', to match the consistent example name everywhere else09:39
albfan[m]tristan: damn it, so cool! It runs under CI too?09:41
juergbitristan: jonathanmaw needs to load + optionally track elements for workspace reset (for filter redirection !317). Stream._load() is private, though. Wondering what the best API approach is to handle this09:42
juergbiIn the current MR he added a thin wrapper 'Stream.load_elements()' that is only used by workspace reset09:42
juergbiA possible alternative would be to make _load() public09:42
juergbiNot sure what makes most sense API-wise09:43
*** tristan has quit IRC09:44
juergbijonathanmaw: hm, actually, givent hat worksapce_reset() already exists in Stream, another option may be to try to move that into this function as well09:45
juergbiwould mean moving the "Workspace does not exist" error into Stream, but would this be an issue?09:46
valentindHas the state "downloadable" disappeared?09:46
jonathanmawjuergbi: AIUI the problem is that then we'd have the interactive prompt "This will remove all your changes, are you sure?" happen first09:48
jonathanmawwhen potentially that's being done on a workspace that doesn't exist09:48
jonathanmawso doesn't make much sense from a user-facing perspective09:48
jonathanmawand moving the interactive prompt into workspace_reset is trickier, because it currently relies on click09:49
juergbivalentind: yes, we've moved to dynamically pulling. as a side effect we don't know the downloadable state at the beginning of the session anymore09:49
juergbijonathanmaw: ah, right, I forgot about that09:49
toscalixalbfan[m]: good work!09:50
juergbijonathanmaw: the way it is right now in the MR might be fine, just slightly odd API-wise09:51
toscalixhttps://blogs.gnome.org/alexl/2018/05/16/introducing-1-8-freedesktop-runtime/09:57
valentindjuergbi, Is it the plan to have "cached" as status when artifact is available on external cache server?10:02
juergbivalentind: no, not before it's downloaded10:02
*** aday has quit IRC10:12
*** aday has joined #buildstream10:13
*** aday has quit IRC10:15
*** aday has joined #buildstream10:16
*** dominic has quit IRC10:16
*** aday has quit IRC10:19
*** aday has joined #buildstream10:20
ltuasking something which has no doubt already been thought of, but if we merge the CAS based artifact cache soon...what happens to the local cache expiry and remote cache expiry branches?10:25
*** dominic has joined #buildstream10:26
ltuwill they need considerable re-work in order to land on top of the CAS cahce?10:26
ltucache*10:26
*** dominic has quit IRC10:26
*** dominic has joined #buildstream10:26
gitlab-br-botbuildstream: merge request (214-filter-workspacing->master: Make workspace commands on a filter element transparently pass through to their build-dependency) #317 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/31710:42
*** dominic has quit IRC10:42
*** ernestask has quit IRC10:43
*** ernestask has joined #buildstream10:45
*** dominic has joined #buildstream10:49
jmacpytest is skipping all of 'test_compose_include' for me and I don't know why. There are no skipif decorators in the test source. Any ideas how to track this down?10:56
juergbiltu: some rework will be required. the principal logic can remain but we at least have to move some code around10:57
juergbiltu: there is also no 'purge' operation yet in CAS but I guess that should fall on me to implement this10:58
juergbijmac: the integration tests? have you enabled integration tests with --integration?10:59
ltuthanks for the info - will the purge operation affect both of the patches for local and also remote, then?10:59
juergbiltu: yes, purge is required for any kind of expiry10:59
ltuok, ta11:00
juergbiwe might merge expiry before CAS, not sure11:00
jmacjuergbi: Oh yes, that'll be it - thanks11:00
gitlab-br-botbuildstream: merge request (juerg/googlecas->master: WIP: Google CAS-based artifact cache) #337 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/33711:01
* tlater likes that we actually have an examples workflow now :)11:16
tlaterfinn: This means you'll have to unfortunately move your example from the bst-examples repo into core buildstream, and write a test that executes it11:16
tlaterAnd iirc the plan was for jennis to write an accompanying tutorial11:17
tlaterMaybe I should go through that migration process though, and move the entire buildstream-examples repo over in one fell swoop... Comments, tristan?11:19
gitlab-br-botbuildstream: merge request (valentindavid/359_cross_junction_elements->master: WIP: Allow names for cross junction elements) #454 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/45411:21
gitlab-br-botbuildstream: merge request (valentindavid/359_cross_junction_elements->master: WIP: Allow names for cross junction elements) #454 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/45411:45
gitlab-br-botbuildstream: merge request (valentindavid/359_cross_junction_elements->master: Allow names for cross junction elements) #454 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/45411:45
gitlab-br-botbuildstream: merge request (valentindavid/359_cross_junction_elements->master: Allow names for cross junction elements) #454 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/45411:47
*** xjuan has joined #buildstream12:42
toscalixis there a block diagram of buildstream I can take a look at? Or maybe any representation at a high level view of the  tool?13:39
tlatertoscalix: As far as I am aware, this is the closest we have atm: https://mail.gnome.org/archives/buildstream-list/2018-April/msg00030.html13:41
tlaterI might be wrong though13:41
toscalixthe diagrams at tristan blog post were done over a year ago. Are they still valid? https://blogs.gnome.org/tvb/2017/02/06/introducing-buildstream-2/13:41
toscalixah, thanks13:42
toscalixit seems to me this doc describes more how the tool  works but is not a description of BuildStream irself. It is valid though13:46
toscalixs/irself/itself13:47
finn++13:48
tlaterAh, sorry, I thought that was what you were looking for. I'm a bit outdated on other descriptions, the readme in the main repository should be a good start to find something though.13:48
toscalixtlater: will go over it13:49
gitlab-br-botbuildstream: merge request (valentindavid/update_mirror->master: WIP: update mirror) #440 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/44013:52
finntoscalix, are you wanting a simple example to get you going?13:52
toscalixI am in the process of creating a visualization of a roadmap. My idea is to be able to have a common visualization of the ongoing and future work we all understand so we can have a discussion about  it at GUADEC. I will use it also to understand and learn.13:54
toscalixto structure the visualization, a common practice is to use themes13:54
toscalixso you group the actions/user stories in themes13:54
toscalixmy initial approach is to use the structure of the tool as themes13:55
toscalixthe second option is to use activities you with the tool as themes13:56
toscalix... you do with the tool...13:56
tlatertoscalix: Yeah, that may be a bit tricky to find, we don't have many fancy diagrams, unfortunately.13:57
toscalixI assume we will need to create the fancy version. I would be happy with a drawing in a paper :-)13:57
tlaterThose are probably littered across individual developer's notebooks ;) juergbi might know about some initial planning documents though.13:58
toscalixthe first option is better for early stages of the development while the second option is used with more mature applications13:59
toscalixjuergbi: since tristan is on vacation the folliwng days, is it something you can fo for me?13:59
toscalixfollowing13:59
toscalixit would help me a lot to process the tasks/enhancements/features we already have14:00
toscalixand turn them into something easy to understand like a story map14:00
juergbiTristan recently sent the initial design document to the list https://mail.gnome.org/archives/buildstream-list/2018-April/msg00030.html14:02
juergbiIt's definitely not up-to-date but may still be useful14:02
*** tiago_ has joined #buildstream14:02
juergbitoscalix: I can probably help you but I likely won't have time to substantially work on it14:02
toscalixtlater: gave me the link and I checked it but I would need something closer to a block diagram14:03
juergbiMy load is higher when tristan is away due to taking over maintenance tasks14:03
toscalixa sketch would be enough, take a pic and send it to me14:03
toscalixjuergbi: I understand14:03
toscalixonly if you can14:03
toscalixI will manage somehow if you cannot14:03
*** tiagogomes has quit IRC14:03
juergbiI'll see what I can do. Very unlikely this week14:06
albfan[m]toscalix: ;)14:12
albfan[m]Someone ask me about Buildstream on pypi, is it possible?14:13
tlateralbfan[m]: Quite hard, since we depend on non-python projects14:14
tlaterMay be more possible in the future if CAS lands, but I wouldn't bet on it - we're considering switching to a different system (say, meson) anyway14:14
tlaterInstallation is definitely one of the harder parts to using buildstream atm, hence we supply some handy docker images for that.14:15
*** xjuan has quit IRC14:23
paulsherwoodtlater: which non-python projects does it depend on, and are they absolutely necessary?14:28
toscalixjuergbi: understood14:30
tlaterpaulsherwood: Currently ostree and bubblewrap, at least. We're completely ridding ourselves of bubblewrap soon, and I think grpc is a python dependency, so the last remaining non-python dep will be bwrap.14:31
gitlab-br-botbuildstream: issue #399 ("Fails to create build directory for elements with workspaces") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/39914:32
juergbitlater: your second bubblewrap should have been ostree14:34
juergbialso, ostree will remain an optional dependency for the source plugin14:34
tlaterOh, whoops, sorry14:34
juergbiwhile grpcio is on pypi, it's not pure Python14:34
tlaterjuergbi: In terms of optional dependencies we have a lot more non-python ones, so I think those are fine :)14:34
juergbiwe also depend on FUSE14:35
juergbiand in the future likely on an external BuildStream FUSE layer14:35
*** xjuan has joined #buildstream15:37
*** dominic has quit IRC16:31
*** toscalix has quit IRC16:47
*** jonathanmaw has quit IRC17:01
gitlab-br-botbuildstream: merge request (jmac/virtual_directories->master: WIP: Abstract directory class and filesystem-backed implementation) #445 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/44517:06
*** ernestask has quit IRC17:47
*** bethw has quit IRC17:52
cs_shadowIt seems to me like pages are like https://buildstream.gitlab.io/buildstream/elements/junction.html are not mentioned referenced anywhere in the docs or the ToC. Is this by design or is it a bug? (Or am I missing something maybe?)17:59
cs_shadowpages are like -> pages like17:59
*** xjuan has quit IRC18:03
*** tristan has joined #buildstream18:04
tristanjuergbi, reading from the irc log, I think that the "Are you sure" can live in the frontend for a non-existing element and crap out later, it's a bit of perfectionism that we try to bail out early18:14
tristanjuergbi, also, something I've noticed is that for the workspace commands which *do* load a pipeline, it's unnecessary to resolve element cached state, which might make the load time noticeably faster anyway, reducing the pain of being asked first18:15
tristanI dont like exposing _load() to the frontend, much rather keep that private, and the workspace commands being also in Stream, should be able to use that private method anyway18:15
*** xjuan has joined #buildstream18:20
tristancs_shadow, they are all referenced from the main "Authoring projects" page: http://buildstream.gitlab.io/buildstream/authoring.html#elements18:22
tristancs_shadow, but they are still not converted into proper "ToC" elements, so they wont appear properly in the sidebar until that is fixed18:22
tristanI'm still not sure how to actually implement them as ToC elements without completely destroying the helpful manual "flow" of how we layout the section and intersperse links with text18:23
cs_shadowah! Since they were preformatted like code, I didn't realize they were links. thanks18:23
tristanthat is probably part of the first documentation structure :)18:24
* tristan very much likes to have a single place to lookup the docs for each individual element or source18:24
juergbihm, do we need the testsuite/debian-8 docker image on AArch64?19:09
juergbigrpcio fails there and I'd rather skip debugging that if we anyway don't need the image19:10
juergbi(it works fine on x86-64 and the other AArch64 images based on Debian 9 / Fedora 27)19:10
tristanjuergbi, I think that sounds reasonable, we might also consider bumping the python dependency to 3.5 with BuildStream 1.219:26
juergbiI would definitely like that. Don't remember the exact reason for not doing this from the start (RHEL, Ubuntu LTS?) and whether that reason is now no longer relevant19:28
tristanOver a year has gone by, when we started, many people didnt have 3.5 yet19:29
tristan(although a good amount of people did, quite a fair amount did not)19:29
tristanGood question though19:30
tristanjuergbi, I dont think there was a specific reason other than, quite a noticeable amount of people didnt have 3.519:31
tristanBut I dont think that's an issue, we could change the dep in master and 1.0 will still be python3.4+19:31
juergbiSure, most users are actually on 1.1/master, though, so the distinction is not currently that relevant19:36
juergbidebian stable has 3.5, the last two ubuntu LTS have 3.5/3.6, so it's probably indeed fine19:37
juergbiRHEL doesn't appear to officially support any Python 3, so I assume the minor Python version is not an issue in that case19:38
tristanright, of course a change can only happen in an unstable cycle :)19:39
tristanwhen we rolled out 1.0, it was shortly after debian 9 became latest stable as I recall19:39
tristanby now, it's quite rare to encounter lack of 3.519:40
juergbimakes sense19:40
*** tristan has quit IRC20:52
*** cs_shadow has quit IRC21:07
*** xjuan has quit IRC21:33
*** Prince781 has joined #buildstream23:30
*** Prince781 has quit IRC23:39
*** mohan43u has quit IRC23:40
*** mohan43u has joined #buildstream23:44

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