IRC logs for #buildstream for Monday, 2019-07-15

*** mint has joined #buildstream05:31
*** benschubert has joined #buildstream07:02
*** bochecha has joined #buildstream07:50
*** tristan has quit IRC07:55
benschubertHey, would someone have time to review https://gitlab.com/BuildStream/buildstream/merge_requests/1472 ? It's already been reviewed multiple times by chunks, but a final look would be appreciated08:12
benschubert!1472 (new node api)08:12
*** alexandrufazakas has joined #buildstream08:15
*** tristan has joined #buildstream08:23
*** bochecha has quit IRC08:23
*** tiagogomes has joined #buildstream08:24
benschuberttristan: would you have time for a final approval of ^ ?08:28
*** tiagogomes has quit IRC08:31
*** tpollard has joined #buildstream08:34
*** tiagogomes has joined #buildstream08:36
gitlab-br-botjuergbi approved MR !1473 (tristan/config-max-jobs->master: Add max-jobs configuration and command line option) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/147309:07
*** jonathanmaw has joined #buildstream09:08
*** ChanServ sets mode: +o tristan09:11
tristanbenschubert, lets take a look... I guess it will be huge !09:11
*** phildawson has joined #buildstream09:11
benschuberttristan: that's a pretty safe bet ;)09:11
*** cs-shadow has joined #buildstream09:11
tristanI'll give it a skim at this point... a fully thorough thing isn't really possible but we've looked at all the bits and pieces so should be pretty safe :)09:12
benschuberttristan: yep :) Kinnison and I already did that too09:12
* tristan hopes that gitlab can cope haha09:12
tristanspeaking of which, I think CI is borked09:13
tristansomeone needs to slap the runners I think09:13
*** traveltissues has joined #buildstream09:13
*** rdale has joined #buildstream09:14
Kinnisonvalentind: Any chance you can look at the runners?09:18
tristanbenschubert, This one is a bit concerning: https://gitlab.com/BuildStream/buildstream/merge_requests/1472/diffs#note_19176883609:40
benschuberttristan: I agree we can improve those. However, I don't think 'scalar' is unreasonable (cf; https://en.wikipedia.org/wiki/YAML second paragraph). I think mapping to yaml definitions would be best. What about only using 'scalar', 'dict' and 'list' ?09:45
tristanbenschubert, That would satisfy me :)09:47
benschubertlet me fix this then!09:47
tristanbenschubert, I still think that if get_node() were able to specify multiple specific types of "scalar" instead of just one, it would be a better error message09:47
tristanI think we agree on that09:48
benschuberttristan: we only have one type of scalar in BuildStream though no? which would be 'string'?09:48
tristanBut still using mapping/list/scalar is good :)09:48
tristanIn terms of python types yes09:48
tristanbenschubert, But whenever we load something, we either want a string or an int09:49
benschuberttrue09:49
tristanI'm not sure if we ever want a double09:49
benschubertit's not possible currently, but easy to add when we have the need for it09:49
tristanyeah, that's not a worry - I've never seen the need for a double either09:50
tristan(and a "version string" is definitely not a double :))09:50
tristanoh sorry, "dict/list/scalar" right09:50
tristanI said mapping09:50
tristanbut yeah lets use dict, or even dictionary is better09:51
tristanbenschubert, For plugin authors, it would anyway be good to make the link in toplevel documentation jargon for the type09:52
benschuberttristan: that should already be the case09:52
tristanbenschubert, i.e. for MappingNode at the toplevel, make the mental link that "This is a YAML dictionary" and for ScalarNode "This is a YAML list"09:52
tristanRight09:52
tristanJust saying we should make sure those terminologies match and we use the same word :)09:53
benschuberte.g: first line of the docstring in SequenceNode: This class represents a Sequence (list) in a YAML document.09:53
tristanYep09:53
benschuberttristan: https://gitlab.com/BuildStream/buildstream/merge_requests/1472/diffs?commit_id=a63a361f6e7fe7853b87967bbaefec4acc0e38f6 would that be good for you?09:53
valentindI am looking at the builders. It seems docker-machine does not machine to install docker on the spawned machines.09:54
*** mint has quit IRC09:54
tristanbenschubert, works for me yeah :)09:55
valentindWell, it seems the builders work now. But I am not sure why. I only removed all docker machines and restarted gitlab-ci.10:02
benschubertvalentind: thanks!10:03
benschuberttristan: let me know when you are done, so that we can hand it to marge :)10:03
*** jjardon has quit IRC10:04
valentindAh no, it does not work. I finally get the errors again.10:04
*** cs-shadow has quit IRC10:04
*** cs-shadow has joined #buildstream10:04
* tristan 's pipelines are still in "retry in 3s" state :)10:06
*** benschubert has quit IRC10:06
*** jjardon has joined #buildstream10:06
*** ChanServ sets mode: +o jjardon10:06
*** benschubert has joined #buildstream10:07
*** jjardon has quit IRC10:07
*** jjardon has joined #buildstream10:08
*** ChanServ sets mode: +o jjardon10:08
gitlab-br-bottristanvb approved MR !1472 (bschubert/new-node-api->master: Rewrite of the Node API) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/147210:10
benschuberto/ thanks!10:12
tristanbenschubert, as a minor enhancement, I am still fond of the idea of having ScalarNode do some convenience enum accessors (where the allowed values are a list of strings, possibly defined as the attributes of a python enum)10:13
tristanlemme take a look at how context.py loads something like... the on-error value for instance; we could make error reporting for all of those cases consistent and save some LOC10:14
benschuberttristan: not sure I understand where you would use that. Can of a 'get_node' on scalars with multiple return types?10:14
tristanoh you have _node_get_option_str() ?10:15
tristanbenschubert, I mean more like _node_get_option_str(), not sure why that is private or why it's not a convenience accessor of ScalarNode10:16
benschuberttristan: oh! That's in _context10:16
benschubertthat probably should not be there10:17
benschubertand it uses node_get?10:17
benschubertso it's unused?10:17
tristanI was thinking something like the python could define a SchedulerErrorAction enum... with the members SchedulerErrorAction.continue = 1, SchedulerErrorAction.quit = 2, SchedulerErrorAction.terminate = 310:17
benschubertah no sorry10:17
benschubertwrong branch10:17
tristanAnd load it like: action = ScalarNode.get_enum(SchedulerErrorAction)10:17
tristanI mean, a list of strings is fine, the enum idea is just sugar coating (but could make coding a *bit* more safe, maybe ?)10:18
KinnisonWow, tristan has found many things where I didn't -- I must have been changeblind :(10:18
tristanRight now it uses this internal function _node_get_option_str()10:18
* Kinnison apologises10:18
benschuberttristan: 'get_from_enum'? :)10:18
tristanbenschubert, That sounds sexy yeah :)10:18
tristanKinnison, it's because I know what I'm looking for... it's not like I scanned that huge MR and came up with these :)10:19
benschubertok! I'll add this, but in a follow up MR to get this one ok?10:19
Kinnisontristan: oh heh10:19
tristanbenschubert, yeah sure10:19
benschubertperfect10:19
benschuberttristan: also, we should make this one public right?10:24
tristanbenschubert, Yeah !10:30
valentindSo get.docker.com script probably removed fedora 29.10:31
tristanI don't have a plugin off hand in mind which will use it but, when it comes to loading yaml configuration, enums are certainly a handy thing to have ! :)10:31
benschubertyep, I'mm for it :D10:31
tristanright now in _context.py alone, we have both the scheduler error action, and the cache buildtrees option which are enums10:32
tristanin project, we have ref-storage which is an enum10:33
valentindI have to build a custom image for digital ocean. It will take me maybe some hours to get it right.10:36
benschubertvalentind: why do we have fedora 29? Shouldn't we be using 30?10:38
valentindIt did not work.10:38
valentindBut now 29 does not work either.10:38
valentindWe would need to make a custom image that has docker already installed.10:38
valentindFedora 28 only is supported by docker-machine to provision docker on it.10:39
valentindAnd I do not remember why we do not use fedora 28 anymore. But there was also an issue there.10:39
benschubertok10:39
valentindI think I might switch to Debian buster. Maybe that works.10:39
valentindIt is just to run docker. Nothing more. So it should not matter.10:40
valentindSeems debian and ubuntu are more supported by docker.10:41
valentindWell, that install script is half-assed supporting Buster.10:44
gitlab-br-bottraveltissues approved MR !1473 (tristan/config-max-jobs->master: Add max-jobs configuration and command line option) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/147311:05
gitlab-br-bottraveltissues approved MR !1465 (juerg/context->master: Make Context class a Python context manager) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/146511:17
valentindAh, seems like working!11:57
valentindIn the end I bumped the builders to use fedora 30 and provided my own docker install script for docker-machine: https://docker-install-script.ams3.digitaloceanspaces.com/install-docker.sh12:00
valentindWhich just installs docker from fedora and add symbolic links to make it work with systemd files created by docker-machine.12:01
valentindPeople can restart their builds now.12:02
valentindPlease ping me again if it looks like it is not working.12:02
traveltissuesthanks valentind12:05
*** bochecha has joined #buildstream12:17
*** phoenix has joined #buildstream12:19
traveltissuesjuergbi, please will you give me dev access on buildbox-fuse12:26
*** phoenix has quit IRC12:29
*** phoenix has joined #buildstream12:34
gitlab-br-botbeckyella16 opened (was WIP) MR !1476 (becky/artifact_checkout_directory->master: Artifact checks out to default dir if no --tar or --directory) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/147612:37
benschubertthanks a lot valentind12:39
*** alexandrufazakas has quit IRC12:41
*** alexandrufazakas has joined #buildstream12:41
*** alexandrufazakas_ has joined #buildstream12:52
tristantraveltissues, Looks like you have two pipelines which are not "latest" for your branch at https://gitlab.com/BuildStream/buildstream/pipelines, mind if I cancel the older jobs ?12:56
tristanwe have a lot of pipelines in "pending" :)12:57
traveltissuesnp, cancelled them12:57
tristanthanks !13:04
tristanvalentind, Thanks a lot for spending all that time on the runners !13:05
tristanDamn that was a painful CI-less morning :)13:06
*** lachlan has joined #buildstream13:10
gitlab-br-bottraveltissues approved MR !1475 (chandan/fix-fuse-check->master: sandbox/_sandboxbwrap.py: Fix fuse import issue) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/147513:13
traveltissuesis there any more feedback on https://gitlab.com/BuildStream/buildstream/merge_requests/1468 ?13:19
alexandrufazakasHey, can someone help me understand what this issue might need https://gitlab.com/BuildStream/buildstream/issues/1078 ? I understand we prefer `bst build --deps all` instead of `bst build --all`, but I'm not sure what where `run` comes into play13:29
alexandrufazakasAnd do we have means of figuring out which dependencies are build-only, runtime dependencies etc?13:30
*** lachlan has quit IRC13:40
*** lachlan has joined #buildstream13:42
*** phoenix has quit IRC13:43
juergbitraveltissues: added to buildbox group13:46
traveltissuesthanks13:47
gitlab-br-bottraveltissues opened (was WIP) MR !1470 (traveltissues/cache-key-changes-2->master: workspace clobbers sources) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/147013:58
gitlab-br-botmarge-bot123 closed issue #1081 (BuildStream throws an exception on Linux when fuse is unavailable) on buildstream https://gitlab.com/BuildStream/buildstream/issues/108114:12
gitlab-br-botmarge-bot123 merged MR !1475 (chandan/fix-fuse-check->master: sandbox/_sandboxbwrap.py: Fix fuse import issue) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/147514:12
gitlab-br-bottristanvb opened MR !1477 (tristan/backport-previous-sources->bst-1: Backport ability to see previous sources in fetch() and track()) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/147714:25
*** lachlan has quit IRC14:30
*** lachlan has joined #buildstream14:35
*** lachlan has quit IRC14:52
gitlab-br-botmarge-bot123 merged MR !1472 (bschubert/new-node-api->master: Rewrite of the Node API) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/147214:58
benschuberto/14:58
*** tristan has quit IRC15:00
cs-shadowawesome15:02
benschubertnext step: fix plugins...15:02
cs-shadowi can finally rebase my mypy PR15:02
*** lachlan has joined #buildstream15:03
alexandrufazakasAnyone familiar with https://gitlab.com/BuildStream/buildstream/issues/178 that can help me understand it a bit? :D15:03
benschubertvalentind: I tried running the overnight tests for my new changes, and apparently we get the same problems on the overnight runners https://gitlab.com/BuildStream/buildstream/-/jobs/251848334 would you have time to investigate?15:06
valentindI did the same change there, so it should work.15:06
valentindhostname too long.15:07
*** tristan has joined #buildstream15:07
valentindAnother issue.15:07
valentindI will fix that.15:07
benschubertoh, thanks!15:07
valentindI have to restart gitlab-runner.15:08
benschuberttristan, juergbi I'm looking at removing other hot spots in our code. I sometimes need to add helpers in cython for various methods we have. What do you prefer: a etx/ module that contains them, or a "_modulename.pyx" file next to "modulename.py" ?15:13
valentindbenschubert, that should be working now.15:16
benschubertvalentind: thanks a lot!15:16
juergbibenschubert: I think I'd prefer _modulename.pyx next to modulename.py as it seems a bit odd to group those files together in a subdirectory as those files don't form a separate component, i.e., they don't really belong together15:18
benschubertthanks! I do also tend to prefer this one, I'll go for this unless someone disagrees strongly15:18
*** ChanServ sets mode: +o tristan15:25
tristanbenschubert, juergbi agreed15:25
benschubertperfect, thanks!15:25
gitlab-br-bottraveltissues approved MR !1473 (tristan/config-max-jobs->master: Add max-jobs configuration and command line option) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/147315:27
*** bochecha has quit IRC15:46
*** phildawson_ has joined #buildstream15:51
*** phildawson has quit IRC15:52
*** lachlan has quit IRC15:53
*** lachlan has joined #buildstream16:10
*** alexandrufazakas has quit IRC16:31
*** jonathanmaw has quit IRC16:48
*** lachlan has quit IRC16:55
cs-shadowhi, can one of the admins of bst-plugins-experimental please share the credentials for twine/pypi with me? I am trying to set up something similar for bst-plugins-container, and I thought perhaps we can use the same creds for all repos under the buildstream org16:59
*** lachlan has joined #buildstream17:00
*** lachlan has quit IRC17:07
juergbics-shadow: I should probably have access to that, but I don't see any protected CI variables in that repo. do you know where the credentials are stored?17:12
cs-shadowjuergbi: thanks for looking. That's weird, I think it ought to be there if the release step (https://gitlab.com/BuildStream/bst-plugins-experimental/blob/master/.gitlab-ci.yml#L206) actually works17:22
cs-shadowjuergbi: wild guess - it's possible when the repo was moved from bst-external, we forgot to move the credentials17:23
cs-shadowcan you please check there as well?17:23
juergbics-shadow: yes, they are there17:25
juergbishould probably copy them to bst-plugins-experimental17:26
juergbior is pypi-related CI not updated yet for the new repo anyway?17:26
cs-shadowThey should be moved at some point, however perhaps it's best to defer it until we plan on releasing the experimental plugins17:27
*** lachlan has joined #buildstream17:34
*** phoenix has joined #buildstream17:42
*** phildawson_ has quit IRC17:48
*** lachlan has quit IRC17:57
*** lachlan has joined #buildstream18:03
*** lachlan has quit IRC18:12
*** traveltissues has quit IRC18:14
*** lachlan has joined #buildstream18:15
*** lachlan has quit IRC18:27
*** lachlan has joined #buildstream18:32
*** lachlan has quit IRC18:45
*** lachlan has joined #buildstream18:59
benschubertjjardon: hey, if I want to fix a plugin on freedesktop-sdk for bst2, which branch should I target?19:19
benschuberttristan: ^ you might also know actually :)19:20
jjardonbenschubert: sec19:21
jjardonShould be the one pointing to https://gitlab.com/BuildStream/buildstream/blob/master/.gitlab-ci.yml#L226, let me find the branch name19:25
benschubertsure, thanks :)19:25
jjardonbenschubert:  https://gitlab.com/freedesktop-sdk/freedesktop-sdk/tree/freedesktop-sdk-18.08.31.1-bst219:26
*** lachlan has quit IRC19:26
benschubertThanks a lot! I'll try to put a MR tonight19:26
jjardonNice! Thanks19:28
jjardonbenschubert: is this to fix https://gitlab.com/BuildStream/buildstream/issues/1049 ?19:29
benschubertjjardon: no, for the breaking yaml api change I introduced this morning19:31
*** lachlan has joined #buildstream19:36
*** lachlan has quit IRC19:40
*** lachlan has joined #buildstream19:48
*** lachlan has quit IRC19:56
benschubertjuergbi: did 'strip-args' and such got removed from the defaults in the end? I'm getting errors about this missing while trying to fix freedesktop-dsk21:37
*** dftxbs3e has quit IRC22:44
*** dftxbs3e has joined #buildstream22:45
*** phoenix has quit IRC23:37

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