IRC logs for #buildstream for Tuesday, 2018-02-27

*** Prince781 has joined #buildstream04:55
*** Prince781 has quit IRC05:01
*** Prince781_ has joined #buildstream05:01
*** lantw44 has quit IRC05:34
*** lantw44 has joined #buildstream06:02
*** Prince781_ has quit IRC06:44
*** tristan has joined #buildstream06:45
gitlab-br-botbuildstream: merge request (juerg/cache-key-handling->master: Contain cache key handling in Element class) #296 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/29606:53
gitlab-br-botbuildstream: merge request (juerg/cache-key-handling->master: Contain cache key handling in Element class) #296 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/29607:06
*** hase has joined #buildstream07:11
*** noisecell has quit IRC07:46
tristanjuergbi, nice refactor btw :)08:01
juergbi:)08:02
juergbistill not happy with the cache key complexity08:02
juergbihowever, better to at least contain it in one place08:02
juergbibtw: link_ref is only used in combination with push/pull which tarcache doesn't support. and for some reason push/pull are not in the abstract base class at all08:03
juergbishould add all of those to the base class, though08:03
tristanEeek sorry :)08:04
juergbilooking at #273 right now08:04
juergbii regret agreeing to this 'calculate cache key after build' approach more and more08:04
juergbii almost have a fix ready but it seems more complex than it should be08:05
juergbii still prefer the approach where we keep the pristine workspace source separate from the build files08:05
tristanWell, we knew that cache keys being calculated dynamically was already a thing08:05
tristanAnd I already suspected this kind of fallout was going to happen had we not centralized logic around this08:06
juergbiwhere is it needed besides workspaces?08:06
tristantracking08:06
juergbiwell, not quite. tracking is simpler to handle08:06
tristanbuild + track, or just track; is dynamic cache key calculation also08:06
juergbithere we know from the start that the source is inconsistent08:07
tristanit was the first step yes; but then workspace builds happened too08:07
juergbifor the workspace case it depends on whether the artifact is in the (local or remote) cache or not08:07
juergbiwhich is very weird08:07
tristanNow we also have dynamic cache key resolution without this too08:07
juergbiif it's in the cache, we won't build it, so we can consider the cache key stable08:08
tristanWhich is because of non-strict mode with active PullQueue08:08
tristanso 3 cases where the cache key can change during a session08:08
juergbiyes but in the other two cases we can still calculate weak and strict cache keys08:08
tristanI know, they are not the same; but still08:08
tristanfor the workspace case, remote artifacts should not really be an issue; those are tainted08:09
juergbiyes but whether it's just local or local+remote that we check doesn't matter08:10
tristan(and we shouldnt really need to check for possible collisions of shas)08:10
juergbithe ugly thing is that we determine whether a cache key is usable or not based on whether we find something in the cache with that key08:10
tristanright08:11
tristanthat is the ugly thing08:11
juergbiyou'll see the patch in a minute or so ;)08:11
tristanuh oh :)08:11
juergbiit's not that bad, it just adds yet more complexity to _update_state()08:11
* tristan is in the midst of writing some other code08:12
juergbiand i first have to fix a bug08:12
tristanin fact, it's thanks to Chandon's workspace patches that the bind mounting customization for shells is going to be much easier to tackle :)08:12
* tristan should have patch by end of day08:13
juergbi:)08:19
*** jonathanmaw has joined #buildstream08:44
*** noisecell has joined #buildstream08:45
*** lantw44 has quit IRC08:45
*** lantw44 has joined #buildstream08:45
tristanwhoa... configurable bind-mounts almost works out of the box08:45
* tristan just had to ignore an exception08:46
*** hase has quit IRC08:57
*** aday has joined #buildstream09:11
tristaneeek dead code09:30
tristantlater, I'm curious, tests/integration/project/project.conf has an alias `project_dir: file://{project_dir}`09:31
tristantlater, and tests/testutils/integration.py has `format_files()` ... a likely candidate for the function which might transform that into a real directory09:32
tristanBut format_files() is deadcode09:32
tristanimported in a lot of integration tests, and unused afaics09:32
tlatertristan: I'm fairly sure it's used in at least one test09:33
tristancmake, compose and autotools all use `project_dir` somehow09:34
tristanbut not with format_files()09:34
tristancurrently trying to understand how cmake integration test is working09:35
tristanNope, just finding *more* deadcode :'(09:35
tlatertristan: Yeah, iirc the project_dir is set when the suite spins up - format_files is only used when other things need to be set09:35
* tristan 's eyes bleeding09:35
* tlater wonders how there can be so much deadcode :|09:36
tristantests/integration/cmake.py has `element_path` variable in it's tests09:36
tristanalways unused09:36
tlaterAck, yeah, that is unused09:41
tlatertristan: The project_dir is set here: https://gitlab.com/BuildStream/buildstream/blob/master/tests/testutils/runcli.py#L38609:42
tlaterAnd there were some tests that had to use format_files to set variables in their elements09:43
tlaterBut I quickly stopped using that pattern because generating elements on the fly turned out to be nicer09:44
tlaterIt's possible that I purged all of it, and forgot to remove the format_files method - can't find a test requiring it right now.09:44
gitlab-br-botbuildstream: merge request (remove-some-deadcode->master: Integration tests: Removing some dead code) #297 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/29709:46
tristantlater, thanks for the pointer to how it works09:48
tristanI need either to add something to the subst'ed project.conf or use a generated project.conf09:48
tristanthat should help09:48
tlaterHm, right, I never considered multiple tests using different project.conf files :/09:49
gitlab-br-botbuildstream: merge request (juerg/cache-key-handling->master: Contain cache key handling in Element class) #296 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/29610:00
gitlab-br-botbuildstream: merge request (remove-some-deadcode->master: Integration tests: Removing some dead code) #297 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/29710:01
tristan  "Could not connect to the CI server. Please check your settings and try again"10:01
* tristan slaps gitlab and tries again10:02
tristanweeeird10:03
tristanthe pipeline is triggered and running, and the merge request doesnt know about it10:03
gitlab-br-botbuildstream: merge request (juerg/workspace-cache-keys->master: Do not use/show unstable cache keys) #298 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/29810:05
*** ssam2 has joined #buildstream10:05
gitlab-br-botbuildstream: merge request (sam/compose-symlinks-issue->master: WIP: Avoid compose element dropping files that are staged inside directory symlinks) #295 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/29510:07
juergbiCI pipeline worked fine for the updated !29610:10
gitlab-br-botbuildstream: merge request (remove-some-deadcode->master: Integration tests: Removing some dead code) #297 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/29710:16
*** noisecell has quit IRC10:17
*** noisecell has joined #buildstream10:18
juergbissam2: fyi: !296 should reduce the cache key confusion, at least outside element.py10:24
ssam2great, i will have a look10:24
jjardon[m]Hi, now that the flatpak plugin is in bst-external we would lime to use it; what is the plan to consume it if no tags will be created in that repo? Is there a plan to merge it in bst repo at some point?10:35
jjardon[m]I'm thinking not only in CI but people that needs to build locally and probably will need to install 2 packages instead only bst10:37
juergbii would still go for date-based tags but i don't have a strong opinion how to handle this10:48
ssam2people will indeed need to install 2 packages; that's also the case for projects building images with the x86image plugin for example10:58
ssam2would you consider adding bst-external to freedesktop-sdk as a submodule for now ? you could then make it transparent for your users10:59
*** noisecell has quit IRC11:13
tristanaiden, around ?11:19
aidenyes11:21
tristanah11:22
tristanaiden, so to get started, I suggest first try building something in GNOME, following the GNOME specific getting started wiki11:23
tristanhere: https://wiki.gnome.org/Newcomers/BuildSystemComponent11:23
tristanAnd, request developer access here: https://gitlab.com/BuildStream/buildstream11:24
tristanWe just grant developer access to anyone who asks, that'll save annoyances with having to keep a separate fork in sync11:24
aidenright, ok, great, i will start at lunch11:25
aidenthanks11:25
tristanSome minor things you might look at, are for instance this minor annoyance: https://gitlab.com/BuildStream/buildstream/issues/25711:25
tristanA bit more involved, but still relatively easy (probably hardest part is writing tests for it), is https://gitlab.com/BuildStream/buildstream/issues/25311:26
jjardon[m]ssam2 if the recommendation is to use sumodules, can that be documented somewhere? This is for gnome-build-meta as well11:27
tristanaiden, since there are a lot of people around now, to avoid confusion... if you start working on one of these minor bugs, just self-assign the issue11:27
jjardon[m]and I'd expect some distros to want to package bst-external soon11:27
aidenok, will do11:27
ssam2jjardon[m], not really up to me to decide11:32
ssam2just suggesting how i would do it11:32
*** aday has quit IRC11:37
tristanjjardon[m], things are not gonna be clear from the get go; this is a discovery process11:38
tristanI would right now recommend bst-external as a submodule to be honest; especially because bst-external contains things which explicitly dont yet have strong API guarantees11:39
tristanit's sort of an incubation repo11:39
tristanwhich is why I would also think it would be a bad idea for distros to package that11:39
gitlab-br-botbuildstream: merge request (juerg/cache-key-handling->master: Contain cache key handling in Element class) #296 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/29611:43
tristanjuergbi, closing 228 sounds good to me11:47
*** noisecell has joined #buildstream11:47
juergbiok, ta11:47
gitlab-br-botbuildstream: issue #228 ("Don't print tty process group warning when exiting bst shell") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/22811:47
tristanIt's annoying that when bubblewrap exits because of an error; we dont really distinguish that from an error reported from a child process :-S11:49
juergbiah, i guess that would be tricky to handle11:50
juergbibwrap would have to report the original child exit code separately11:51
juergbi(or we'd have to ptrace it)11:51
tristanyeah11:52
tristanvalgrind has some funky semantics for the caller to tell it what exit code to report for which errors; because it can assume you know what you expect your actual program to report as errors11:53
tristanbut we can't even assume that11:53
gitlab-br-botbuildstream: merge request (juerg/cache-key-handling->master: Contain cache key handling in Element class) #296 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/29611:59
* tristan files https://github.com/projectatomic/bubblewrap/issues/25712:07
tristanjuergbi, you should rebase !29812:09
juergbiwill do12:09
gitlab-br-botbuildstream: merge request (juerg/workspace-cache-keys->master: Do not use/show unstable cache keys) #298 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/29812:11
*** aday has joined #buildstream12:11
jmacWhy does Plugin.node_get_member have a default value argument if it throws an error when the key isn't in the dictionary?12:19
tristanjmac, it will not throw an error if the default value is provided12:21
jmacAha, subtle error12:21
tristanthis is how you distinguish between things which must be specified, and things which need not be specified12:22
tristanor, that's what it's intended for12:22
jmacI did provide a default but it was None.12:22
jmacThat doesn't work.12:22
tristanheh, yeah; that wouldn't work12:22
jmacNot without some horrible kwarg processing12:22
tristanjmac, note we have a lot of `self.node_get_member(node, str, "foo", default='') or None`12:23
tristanbecause of that12:23
juergbiwe need many-valued logic ;)12:23
tristanthe more values we have... the more valuable is the code !12:23
tristan:)12:24
jmacThat's pretty clean, thanks tristan12:24
juergbi:)12:24
gitlab-br-botbuildstream: merge request (214-we-need-a-way-to-make-elements-depend-on-a-subset-of-an-element-s-output->master: WIP: Resolve "We need a way to make elements depend on a subset of an element's output") #284 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/28413:12
jjardon[m]tristan: ssam2 thanks for the inputs: https://gitlab.com/BuildStream/bst-external/merge_requests/2013:15
gitlab-br-botbuildstream: merge request (tristan/project-bind-mounts->master: Add shell configuration for bind mounts) #299 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/29913:16
tristannow lets see if that bind mount stuff works in the fallback platform... I think there is a good chance...13:19
tristannice13:32
tristanjuergbi, well, lets hit the button on !298 ... it's getting a bit wild indeed, but softened up a bit by the previous !29613:33
gitlab-br-botbuildstream: merge request (juerg/workspace-cache-keys->master: Do not use/show unstable cache keys) #298 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/29813:33
gitlab-br-botbuildstream: issue #273 ("Cache keys not printed correctly with workspaced elements") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/27313:33
juergbiok, great13:34
juergbii at least tried to add sufficient comments13:34
juergbibut it's a complex topic13:34
tristanyeah13:35
tristanjjardon[m], so what do you think, should I just press merge ? or should I tell you that "Therefore" is spelled with an e at the end ?13:35
* tristan rather doesnt mind so much the spelling mistake hehe13:36
tristanor is therefor a valid spelling ?13:36
tristaneh, my spellcheck doesnt catch it for some reason; I guess *someone* on the planet thinks that is correct spelling13:36
* tristan merges13:37
juergbiwiktionary: therefor: (obsolete) Therefore, for that or this reason or cause.13:39
tristanSo; lets say that in `shell` configuration for `host-mounts`... we disallow / error out if the provided host path is a directory13:40
tristanand, only allow host directory mounting with an explicit `bst shell` CLI option, as suggested here: https://gitlab.com/BuildStream/buildstream/issues/27413:41
tristanA.) 'host-mounts' is a decent name here ?13:41
tristanB.) Thoughts on the above policy ?13:41
tristanC.) Dont error out if the host file doesnt exist, but print a warning about any host files which dont exist when entering the shell ?13:42
tristanjuergbi, thoughts on the above three ?13:42
juergbiA) i think so. bind-mounts would be a possible alternative but having a reference to the host does make sense13:43
juergbiB) i can't currently think of a need to add a directory to the project config but it's possible that someone will come up with a sensible use case at some point13:44
juergbiso for now i think that's fine13:44
juergbiC) it's definitely good to print something. no strong feelings whether that should be a warning or an error13:45
tristanssam2, pointed out that say, mounting the home dir in the sandbox via project configuration can have dangerous consequences13:45
juergbithat was actually me on13:45
tristani.e. because the user is not entirely aware that their own files are somewhere in there13:45
juergbi#27413:45
tristanah !13:46
tristanjuergbi, right sorry, you commented, ssam2's report :)13:46
tristanok, on the same page then13:46
juergbiindeed13:46
juergbibtw: i assume you're aware that source and dest are swapped compared to the mount command?13:47
juergbiit does make sense to have dest as key but the swapping could create confusion13:47
tristanit's a bit confusing, I think gitlab sends me emails from Sam when they are commends from anyone on an issue he opened13:47
juergbioh, really? i think i see the right From here13:48
tristanIt is possible that it's gmail to blame13:48
juergbido we have a use case where it makes sense for source and dest to be different in the project config?13:48
* tristan gets gitlab via gmail13:48
tristanI dont want to create anything too rigid13:48
juergbiyes, in general i agree. i was just wondering because of the order of dest source13:49
tristanAnd while it is possible to mount the same host file at two locations in the sandbox, it is impossible to mount two host files to the same location in the sandbox13:49
juergbiexactly, that's why i agree that key makes sense13:49
juergbiit doesn't mean that there won't be any confusion13:49
tristanI know :)13:49
tristanconfusion can not always be avoided :-S13:50
tristanI'll try to document it well13:50
juergbihowever, for now i can't think of a use case where source and dest differ (unless your sandbox has weird prefix/path)13:50
juergbiin which case there won't be confusion anyway13:50
tristanI was also thinking that we might want to support project relative paths as sources13:50
juergbihm13:50
juergbiif host-independent files work, shouldn't they already part of the staged files?13:51
juergbi*be13:51
tristanOr, support env var expansion (mount this file under $XDG_DATA_HOME/...)13:51
*** hase has joined #buildstream13:52
juergbiin the source? maybe13:52
tristanWell, I could change it13:54
tristanIt could for instance be a list-or-dict thing13:54
tristanWe could start with a list and later support list-or-dict if needed13:54
tristanlike we have in other places13:54
juergbii was wondering the same13:55
juergbimaybe actually also call it host-files13:55
tristan:)13:55
juergbiin case we want to support directories later after all13:55
tristanOk, I'll make these changes13:55
juergbitristan: btw: i see some confusing variable names in the code (already in master but extended in the MR)13:56
juergbilike mount_source being used for the destination. or am i misreading that?13:56
tristanit's inherently complex :-S13:56
juergbiis this source because it's the source of FUSE?13:57
tristanIn fact, there are 2 things called a mount source13:57
tristanThe original one, is the shadow directory in the sandbox where things are mounted from, into the real mount area13:57
tristanThe new one was added with workspaces13:58
juergbiah ok13:58
tristanThat whole thing can use some more untangling, making that clear is a bigger job though13:58
juergbia bit confusing to read13:58
tristanyes, certainly13:59
juergbiunderstandable13:59
tristanwrapping your head around the mounts and a sandbox is... mind numbing a bit13:59
* tristan leaving closing coffee shop...14:00
gitlab-br-botbuildstream: merge request (214-we-need-a-way-to-make-elements-depend-on-a-subset-of-an-element-s-output->master: WIP: Resolve "We need a way to make elements depend on a subset of an element's output") #284 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/28414:02
gitlab-br-botbuildstream: merge request (214-we-need-a-way-to-make-elements-depend-on-a-subset-of-an-element-s-output->master: WIP: Resolve "We need a way to make elements depend on a subset of an element's output") #284 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/28414:02
*** tristan has quit IRC14:03
*** tristan has joined #buildstream14:13
gitlab-br-botbuildstream: merge request (changing_the_dictionary_in_get_unique_key->master: Changing the dictionary in get unique key) #300 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/30014:14
tristanjuergbi, ugh... ok I can't realistically do config as a list only, because test cases; I can do list-or-dict off the bat, though14:16
juergbiwhy can't you use the absolute test path in a generated project.conf?14:17
tristanWell, I could test one avenue but not both14:19
tristanI.e. the fist test ensures that mounting a file into an existing directory in the runtime works14:19
tristanThe second test checks /usr/share/pony/pony.txt, knowing that /usr/share/pony didnt exist14:19
tristanWhich, requires a special case14:20
gitlab-br-botbuildstream: merge request (changing_the_dictionary_in_get_unique_key->master: Changing the dictionary in `get_unique_key()`) #300 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/30014:20
* juergbi writes a pony package that installs that file and sneaks it into all distros ;)14:20
tristanYeah, I'll just ensure the controlled runtime image we test against doesnt have that package14:20
gitlab-br-botbuildstream: merge request (changing_the_dictionary_in_get_unique_key->master: Changing the dictionary in `get_unique_key()`) #300 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/30014:28
jennis_Is a rule of thumb that if a pipeline passes, the MR is "mergeable"?14:48
gitlab-br-botbuildstream: merge request (changing_the_dictionary_in_get_unique_key->master: Changing the dictionary in `get_unique_key()`) #300 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/30014:51
ssam2jennis_, it's an absolute rule that if it doesn't pass, it's *not* mergable14:53
ssam2whether it *is* mergable depends on lots of things14:53
jjardon[m]tristan: are you seriously asking me how to spell correct english? :)14:57
jjardon[m]tristan: don't hesitate to comment in the MR next time: happy to correct it and resubmit14:58
jennis_thanks ssam214:58
tristanjjardon[m], yeah I was... well it seems I was right but your spelling is an also correct, albeit obsolete spelling :)15:04
jjardon[m]tristan: I'd call it posh english15:05
gitlab-br-botbuildstream: merge request (tristan/project-bind-mounts->master: Add shell configuration for bind mounts) #299 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/29915:06
gitlab-br-botbuildstream: merge request (tristan/project-bind-mounts->master: Add shell configuration for bind mounts) #299 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/29915:07
tristanjuergbi, I think "host-files" is quite ready to land now, although I did support the list-or-dict thing15:09
tristanbecause why not, and it's better for the tests also15:09
juergbi:)15:10
tristanDocs, tests quite thorough15:10
* tristan even reworded his commit messages to say "host files" (hence the gitlab spam)15:10
tristanand next merge request is in the 300s !15:11
tristanwill be nice to see MR 100015:11
juergbilgtm. didn't review all details but it looks fine to me15:16
*** hase has quit IRC15:18
gitlab-br-botbuildstream: merge request (tristan/project-bind-mounts->master: Add shell configuration for bind mounts) #299 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/29915:25
tristanjuergbi, erm, I think we need a plugin level format bump for your recent ETag addition, although it's a bit unclear15:26
tristani.e. git.py plugin15:26
tristanif you use a recent version of BuildStream, and push changes with new etags in tracking results15:27
tristanNo sorry, that was _downloadablesource (tar & zip, not git)15:27
tristan... then you need to require a format version of the tar plugin which supports this new semantic to consume the YAML15:28
juergbiah because otherwise the new generated etag key gets rejected15:28
juergbiit would work fine without it but it bails out15:28
juergbii'm still obviously not used to the format version handling15:28
tristanyes, it would just change it to allow people to require that, this... feels like a weird unintentional case, though15:29
tristanI mean, this is because tracking will do it15:29
tristanjuergbi, yes, I'm getting the hang of it myself, I mean we designed it: Now we have to get used to using it15:29
tristanseparate processes15:29
tristanlets see how it works out in practice :)15:30
tristanFor the changes I'm affecting to buildstream & gnome-build-meta, this works well15:30
tristanbecause I can now make a change to gnome-build-meta which requires a new feature; and users have a very good clue what to do if it fails15:31
tristanAlso, I would not be averse to less strict revisioning (i.e. only one rev per release); however most people use BuildStream from git; so it's better that we do this more in sync15:32
*** ernestask has joined #buildstream15:36
jmacWhen I run `setup.py test` locally all the tests in integration/ are skipped, like this: https://paste.gnome.org/p72lgmuq115:38
jmacIs there some condition flag somewhere for integration tests?15:38
*** mcatanzaro has joined #buildstream15:40
ssam2yes, you pass --integration to py.test15:40
ssam2or `--addopts "--integration" to ./setup.py test15:40
ssam2i think the custom code for that is in conftest.py15:40
ssam2might be nice if it told you how to enable the tests in cases where it skipped them15:40
jmacSo it is... why are those special cases?15:42
ssam2integration tests can be quite slow15:42
ssam2so we wanted to avoid running them by default15:42
ssam2they are not so slow since we switched to the Alpine sysroot instead of the Freedesktop SDK, but still slower than tests which don't need to download a binary sysroot in order to run15:43
jmacOK15:43
jmacCheers ssam215:43
ssam2that's effectively what "Integration test" means in buildstream: something that runs real binaries inside the sandbox15:43
jmacIt's a bit difficult to know where to put new tests. I've gone for integration since that seems to be the only place build-commands were used, but I'm not actually running a built binary15:46
jmac(It's a test for setting the UID used during builds)15:46
ssam2if you need binaries for the test to work, it's an integration test15:48
ssam2testing pretty much anything about the sandbox beyond whether or not we can get files in there probably needs to be an integration-test15:48
jmacSpecifically binaries produced by buildstream, or any binaries (/bin/sh)?15:49
ssam2any binaries15:49
jmacRighto15:49
ssam2I guess if you bind-mount binaries in from the host, it's a gray area :-)15:49
ssam2not sure any tests do that right now15:49
ssam2and probably shouldn't, because it would prevent the test suite working on e.g. Windows15:50
tristanssam2, is that even possible ?16:02
ssam2running the test suite on Windows?  of course not16:02
* tristan just added bind mounts from host, but it wont work in a build environment and is specific for interactive testing `bst shell` environments16:03
ssam2oh, bind-mounting binaries from the host ? A test could certainly do so if it wanted... but hopefully none do16:03
tristanYou mean, trick an import element into importing a local source that is bind-mounted into the project dir ?16:03
ssam2or that, yeah16:03
tristanwow, you need to really go out of your way16:03
ssam2there are always ways. my point is just that we shouldn't do it :-)16:04
tristanyeah, that's nothing valid to test anyway :)16:04
gitlab-br-botbuildstream: merge request (239-use-pylint-for-linting->master: WIP: Resolve "Use pylint for linting") #283 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/28316:04
jonathanmawssam2: do you have a repo that you tested the x86image plugin changes against?16:05
jonathanmawiirc I used  the imported baserock definitions last time I tried16:05
ssam2yeah, baserock definitions is a good one16:06
ssam2however, that currently doesn't build with bst 1.x due to https://gitlab.com/BuildStream/buildstream/issues/27016:06
ssam2freedesktop SDK also has a VM image target now, which happens to work with 1.x16:06
ssam2tlater also has a branch somewhere to build an image, not sure where though16:07
ssam2i don't think we agreed on where to land it yet16:07
ssam2oh, it's here: https://gitlab.com/BuildStream/buildstream-examples/commits/x86image16:07
*** hase has joined #buildstream16:14
jonathanmawta ssam216:14
* jonathanmaw tries to get it working16:14
*** Prince781 has joined #buildstream16:20
*** noisecell has quit IRC16:22
*** noisecell has joined #buildstream16:22
*** noisecell has quit IRC16:23
jonathanmawssam2: aha, it probably hasn't been merged because it looks to import a tar from file:///src/files/image-tools.tar16:25
*** hase has quit IRC16:26
*** hase has joined #buildstream16:26
jonathanmawhrm, `bst track` on docker sources seems to be failing now. did they change their API recently?16:36
ssam2pretty bad move on their part if they did16:36
ssam2what's the error ?16:36
jonathanmawusing the element provided by integration-tests, https://pastebin.com/SxKMwL8a16:38
ssam2https://gitlab.com/BuildStream/bst-external/merge_requests/1716:38
ssam2fixed a while ago but nobody noticed, it seems16:38
jonathanmawokie doke, I'll give that a go16:39
*** aday has quit IRC16:42
jonathanmawssam2: looks like that MR has a missing "manifest" in some cases16:43
jonathanmawerror text at https://pastebin.com/p1eyJCTN16:43
jonathanmawI'll see if I can figure out what's going on16:43
ssam2oops, good catch16:44
ssam2looks totally broken actually16:46
ssam2line 205 should be "manifest = json.loads(response.text)" surely ?16:46
jonathanmawthat's how it seemed to me16:46
ssam2which raises the question ... why is the CI passing ??16:46
jonathanmawmaking that change seemed to fix it, but I'm no docker expert16:46
jonathanmawssam2: probably because we're not actually testing tracking in CI16:46
jonathanmawbst-external's CI is nowhere near as comprehensive16:47
ssam2right, I guess this codepath only runs for `bst track`16:47
ssam2once jennis_ gets the new integration tests landed we can improve those testcases a bit more easily16:48
jonathanmawindeedily!16:51
*** Prince781 has quit IRC16:51
gitlab-br-botbuildstream: issue #241 ("Allow name resolution inside bst shell") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/24116:55
tristanjuergbi, just food for thought: We may want to revisit the idea of having a common format version in the BuildStream repo17:00
tristanwhile external plugins need to be revisioned separately, it would seem that we can gain more convenience by revisioning format features for all core plugins under the same core format version17:01
*** hase has quit IRC17:09
jonathanmawssam2: hrm, after incorporating that fix, I'm still seeing problems when I try to fetch in the x86image test17:10
jonathanmawis the URL right here? https://pastebin.com/DWue2ak517:10
jonathanmawit seems to be, when compared to the one in bst-external's integration-tests17:10
jonathanmawbut `bst track` fails because of a 404 error17:11
jonathanmaw"404 Client Error: NOT FOUND"17:11
*** aday has joined #buildstream17:11
ssam2not sure that's correct17:12
ssam2 https://registry.hub.docker.com/library/buildstream/image-tools/ doesn't even open in a browser17:13
*** xjuan has joined #buildstream17:13
ssam2https://hub.docker.com/r/buildstream/image-tools/ exists (that's the web page)17:13
ssam2not sure what is the correct URL though17:14
ssam2opening correct image URLs in a browser just redirects to hub.docker.com/ in all cases, unhelpfully17:15
ssam2ok, so maybe that is the correct URL17:15
ssam2i'm not sure what the issue is I'm afraid17:16
*** noisecell has joined #buildstream18:03
*** hase has joined #buildstream18:04
*** noisecell has quit IRC18:09
*** jonathanmaw has quit IRC18:11
*** ssam2 has quit IRC18:16
*** noisecell has joined #buildstream18:18
gitlab-br-botbuildstream: merge request (jmac/build-uid->master: WIP: Specify custom UID for build sandbox in elements) #301 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/30118:26
*** hase has quit IRC18:48
*** xjuan has quit IRC19:06
*** xjuan_ has joined #buildstream19:06
*** xjuan_ is now known as xjuan19:08
*** valentind has joined #buildstream19:13
gitlab-br-botbuildstream: issue #275 ("Indicate where artifacts are going to and comming from in the log") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/27519:18
*** valentind has quit IRC19:31
*** noisecell has quit IRC19:36
*** valentind has joined #buildstream20:17
*** ernestask has quit IRC20:42
*** xjuan has quit IRC21:54
*** tristan has quit IRC22:06
*** mcatanzaro_ has joined #buildstream22:27
*** mcatanzaro has quit IRC22:30
*** mcatanzaro_ is now known as mcatanzaro22:30
*** valentind has quit IRC22:37
*** aday has quit IRC22:44
*** mcatanzaro has quit IRC23:56

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