IRC logs for #buildstream for Monday, 2018-07-23

*** leopi has joined #buildstream01:45
*** leopi has quit IRC03:50
*** leopi has joined #buildstream04:34
*** slaf has quit IRC05:17
*** slaf has joined #buildstream05:19
*** slaf has joined #buildstream05:19
*** slaf has joined #buildstream05:19
*** slaf has joined #buildstream05:19
*** tristan has joined #buildstream06:27
*** leopi has quit IRC06:29
*** Kinnison has quit IRC06:34
*** Kinnison has joined #buildstream06:44
*** toscalix has joined #buildstream06:45
*** ernestask has joined #buildstream06:47
*** noisecell has joined #buildstream07:24
tristanjuergbi, I've hit another regression I suspect is related to CAS...07:30
tristanjuergbi, see: https://bpaste.net/show/b16ce4ba725f07:30
tristanand the build log itself: https://bpaste.net/show/4f018af4778c07:30
tristanSomething about public data has got screwed... here we are building base/ed.bst, and calling self.integrate() requires it's public data... somehow we run down the codepath to load it from an artifact, but the artifact cannot yet exist07:32
tristanI hit this by bumping my core artifact version ensuring that I get a full rebuild of freedesktop-sdk, I was rather expecting a different error to pop up for git describe07:32
tristanNot sure how we got as far as we did without hitting the public data load error07:33
tristanstrange, there is an empty directory at /home/tristan/.cache/buildstream/artifacts/extract/base-sdk/base-ed/cf9edc49dd3173be815d560e69346e588a37f515e03fc1d28753e060cfaae86d07:37
tristanwhich would probably cause BuildStream to think that the artifact exists, causing it to try to extract the public data maybe07:37
tristanRemoving it however, results in the same error07:37
tristanAnd the directory gets created again07:38
*** qinusty has joined #buildstream07:55
*** coldtom has joined #buildstream07:58
Kinnisontristan: regarding the WIP/MR approach you outlined -- why do you think this is the way Gitlab is suggesting people should work?  The way I read things is "Issue assigned, but not MR - someone is working on a fix/feature" "MR created, but WIP, someone's after some feedback but not a full-on review" "MR marked not-WIP, the feature/fix is ready for proper review"08:00
KinnisonIt's really hard to filter for non-WIP MRs as far as I can tell08:00
KinnisonSo the fewer of those we have, the easier a time of it there'll be for those who want to review something theoretically ready for merge08:01
tristanKinnison, just experience08:01
tristanKinnison, i.e. I've seen even merge requests being opened with *no commit* further than the branch point08:01
KinnisonI don't understand why anyone would do that08:01
Kinnisonit's not like MR numbers need name-grabbing08:01
tristanAlso, when someone pushes a branch the first time, gitlab giving you a URL to create a merge request seems to prompt people to do it08:02
tristanI do agree with your logic, though08:02
KinnisonTo my mind, an MR is saying "I require a human to look at this and give me an opinion", especially given gitlab can run pipelines against branches not in MR (IIRC)08:02
* Kinnison does wish the message gitlab gave you on push, instead of saying "Create merge request..." said "If you are ready, you may create a merge request by following..."08:04
tristanKinnison, to be fair, the older wording was too strict, I'm not against changing this08:04
KinnisonI suggest that too many changes close together will confuse people08:04
tristanit's just I feel like there's a limit to how far we can expect people to follow guidelines08:04
Kinnisonlet's see how we do for at least a few weeks with your updates08:04
* Kinnison goes to wade through the MR list08:05
tristanKinnison, in practice I think it's around the same... if you open a WIP branch, you are probably going to ask a peer to review explicitly08:06
tristanwhile without WIP is a general "I'm ready for formal review" and a sign that we should review that08:06
KinnisonYes, but if you open a WIP with nothing in it, that's very confusing for anyone coming in to try and help :-)08:07
gitlab-br-botbuildstream: merge request (Qinusty/275->master: Indicate where artifacts are going to and coming from in the log) #553 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55308:11
*** WSalmon has joined #buildstream08:14
*** jennis has joined #buildstream08:16
qinustyCheers for the review tristan, should be sorted. Just waiting on the pipeline.08:17
*** finn has joined #buildstream08:17
*** bochecha has joined #buildstream08:19
gitlab-br-botbuildstream: merge request (tristan/git-stage-with-shared-clone->master: plugins/sources/git.py: Use --shared instead of --hardlinks) #557 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55708:38
tristanqinusty, looks like you forgot to rebase against upstream master :)08:38
Kinnisontristan: I've approved your --shared change, it looks sensible and the pipeline passed08:38
tristananyway looks like there is a race in the queue :)08:38
tlaterKinnison: Personally, sometimes I like having a WIP MR on gitlab just to keep track of the branch I'm working on.08:38
tristanKinnison, thanks !08:39
Kinnisontlater: Is that not what an issue assigned to you does?08:39
tlaterIt doesn't link to the branch08:39
tlaterWhich means I can forget my branch name, and need to figure out which of the bunch it was...08:39
Kinnisonhmm, and a suitable comment on the issue isn't enough?08:39
KinnisonOr naming your branches tlater/issuenum-what-it-is ?08:39
tristantlater, the way I do that is observe the branches named "tristan/*", and then cleanup occasionally old/irrelevant stuff08:39
tlaterProbably would be, but an MR doesn't leave annoying debris08:40
Kinnisontlater: apart from the debris of an MR in place which doesn't represent a request for a review08:40
tlaterKinnison: That debris disappears when the branch is merged :)08:40
* Kinnison shrugs, we're all different and I'm happy for whatever solution tristan and others find works best08:40
tristanbut anyway, I dont mind this overflow of the merge queue with WIP stuff, as it's the WIP branch owner's responsibility to track08:40
* Kinnison is unlikely to ever be happy with Gitlab anyway :-D08:40
tristanit may make cleanup more difficult to do periodicially08:41
* Kinnison will be chasing a whole bunch of MRs associated with people from the team he's helping later today08:41
KinnisonHopefully we'll see some movement on some of them08:41
gitlab-br-botbuildstream: merge request (tristan/git-stage-with-shared-clone->master: plugins/sources/git.py: Use --shared instead of --hardlinks) #557 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55708:47
*** coldtom has quit IRC08:48
*** tiagogomes has joined #buildstream08:55
qinustytristan: By that I assume you mean updating my branch to master, then having my 3 commits after? To avoid a merge commit?08:56
gitlab-br-botbuildstream: merge request (phil/203-BuildStream-crashes-when-dependency-tree-too-deep->master: Phil/203 build stream crashes when dependency tree too deep) #512 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/51208:56
tlaterqinusty: Yep, i.e., you forgot to use `git rebase`08:57
tlatertristan introduced me to that feature, was never allowed to do anything but merge elsewhere so it was a bit of an eye opener (:08:58
qinustyYeah, I've just merged previously. It seems too good to be true, does it often fail on complex merges?09:01
qinustys/merges/'merges'09:01
*** brlogger has joined #buildstream09:02
*** coldtom has joined #buildstream09:02
tlaterSo it doesn't fail per-se - it just tells you that it can't do it automatically09:02
* tlater recommends using an editor/IDE that has UI for merge conflicts09:03
laurencetristan and tlater - can we close the Local Cache Expiry ticket, and open a new one in its place that's not got the 'urgent' label?  https://gitlab.com/BuildStream/buildstream/issues/13509:03
tlaterlaurence: I've commented there, probably should just have done it in retrospect09:04
*** gitlab-br-bot has joined #buildstream09:04
tristanqinusty, fwiw, we do not allow any merging in master, we have enabled the symbolic "merge commits" as of this weekend, but "merges" are not allowed, fast-forward only on master or stable branches09:05
tiagogomesHow does a UI helps for merge conflicts? You still need to manually edit chunks of code09:06
tristanand yes, first time use of `git rebase --interactive` is indeed awesome :)09:06
*** tpollard has joined #buildstream09:07
tlatertiagogomes: UIs for this tend to integrate this with the conflict display. I find it easier to keep track of what I'm doing when I have to solve large conflicts, but it's definitely not required.09:07
tristantiagogomes, I think the UI people are referring to is the git CLI :)09:07
tiagogomes:)09:08
tristanoh, /me wrong...09:08
* tristan never seen such a UI but is happy with the CLI UI09:08
*** bethw has joined #buildstream09:09
tristantlater, also bit confused... lets see... what deficit to we still have on that branch ?09:09
* tristan thought it was going to be closed too09:09
tlatertristan: We don't have any of the interactive stuff09:10
tristanright09:10
tristanyeah that's worth an issue09:10
tlaterAnd the issue mentions the edge case of too much quota for total disk space - don't think we have that yet09:10
* tlater should really have caught that one09:10
tristantlater, great, please file those separately :D09:10
tristanlets not grow that issue and close it09:11
tlaterAm in the process of doing so :)09:11
tristanthanks !09:11
gitlab-br-botbuildstream: merge request (Qinusty/275->master: Indicate where artifacts are going to and coming from in the log) #553 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55309:11
*** jonathanmaw has joined #buildstream09:14
gitlab-br-botbuildstream: issue #490 ("Introduce some interactivity to artifact cache expiry") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/49009:18
gitlab-br-botbuildstream: issue #488 ("Follow-up from "Remove history from build trees"") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/48809:20
gitlab-br-botbuildstream: issue #488 ("Follow-up from "Remove history from build trees"") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/48809:20
gitlab-br-botbuildstream: merge request (tristan/git-stage-with-shared-clone->master: plugins/sources/git.py: Use --shared instead of --hardlinks) #557 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/55709:20
gitlab-br-botbuildstream: merge request (Qinusty/275->master: Indicate where artifacts are going to and coming from in the log) #553 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55309:22
gitlab-br-botbuildstream: issue #491 ("Users can specify an artifact cache quota larger than their disk size") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/49109:27
gitlab-br-botbuildstream: merge request (phil/436-add-ubuntu-install-intructions->master: Phil/436 add ubuntu install intructions) #525 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/52509:28
gitlab-br-botbuildstream: issue #135 ("Expire artifacts in local cache") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/13509:30
jjardonHi, with the move to the new CAS server, does buildstream still depends on ostree?09:42
tristanjonathanmaw, so I gave some review comments regarding the mirroring thing, I think it's very close to landing09:42
tristanjjardon, good point, it is now only a dependency of the ostree source plugin and docs probably need an update09:43
tristanlemme check with setup.py09:43
jjardontristan: right, I will try to create a patch09:43
tristanindeed09:43
tristanthanks09:43
tiagogomesThere's a lot of 'ostree' matches on git grep09:44
jjardonseems there is tests/testutils/repo09:44
jonathanmawtristan: tvm09:44
tristanjjardon, ah... for tests we have a thing... sec09:44
*** mohan43u has joined #buildstream09:44
jmacPhil: !512 needs rebasing, happy to merge it when that's done09:45
tristanjjardon, tests/testutils/site.py defines HAVE_OSTREE09:45
tristanjjardon, which should be used to disable any ostree using tests, for the repo, it already automatically skips any test which uses that repo in the case you dont have it09:45
gitlab-br-botbuildstream: issue #492 ("ostree is not a core dependency of buildstream anymore") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/49209:46
jjardonok, great09:46
tristanjjardon, that way tests are skipped when you dont have optional dependencies, and we just ensure we have the deps we want in CI09:46
tristanjonathanmaw, right so... the one concern I have is really only that SourceFetchers API seeming to be incomplete, i.e. to use it; git.py needs to poke into BuildStream internals09:49
jjardontristan: Is pygobject needed, now that we do not use the ostree introspection data09:49
jjardon?09:49
tristanjjardon, nope09:49
tristanit was only used for ostree09:49
jjardonok09:49
tristans/was/is09:50
tristanjonathanmaw, anyway I'm about to step out for food but not in a hurry, would you like to discuss the patch at all first ?09:54
* jonathanmaw hasn't had time to digest the review yet, will poke you after food09:54
tristanok perfect :)09:54
gitlab-br-botbuildstream: issue #275 ("Indicate where artifacts are going to and comming from in the log") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/27509:57
gitlab-br-botbuildstream: issue #275 ("Indicate where artifacts are going to and comming from in the log") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/27509:57
gitlab-br-botbuildstream: merge request (Qinusty/275->master: Indicate where artifacts are going to and coming from in the log) #553 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/55309:57
gitlab-br-botbuildstream: merge request (jjardon/ostree_repo->master: doc/source/install_linux_distro.rst: buildstream doesn't depend on ostree or pygobject anymore) #558 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55809:58
*** tristan has quit IRC09:59
gitlab-br-botbuildstream: merge request (jjardon/ostree_repo->master: doc/source/install_linux_distro.rst: buildstream doesn't depend on ostree or pygobject anymore) #558 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55809:59
gitlab-br-botbuildstream: merge request (phil/437-junction-tutorial->master: WIP Phil/437 junction tutorial) #550 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55010:26
*** bethw has quit IRC10:32
*** bethw has joined #buildstream10:32
*** tristan has joined #buildstream10:43
*** bethw has quit IRC10:44
Nexustristan: you around?10:46
NexusJust to clarify your comments about caching build trees on https://gitlab.com/BuildStream/buildstream/issues/21#note_89508744 and https://gitlab.com/BuildStream/buildstream/issues/21#note_89508744   You want an implementation that is ONLY the caching code? no tests, no workspace stuff, just the caching?10:47
*** bethw has joined #buildstream10:47
gitlab-br-botbuildstream: merge request (Qinusty/397->master: Modify retry behaviour to be opt-in on exceptions during job processing) #559 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55910:48
gitlab-br-botbuildstream: merge request (Qinusty/397->master: Modify retry behaviour to be opt-in on exceptions during job processing) #559 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55910:49
qinustyThis fixes the issue you were seeing with the retries tristan, There may need to be more consideration into which implementations of BstError also get the 'temporary' option in their constructor.10:50
gitlab-br-botbuildstream: merge request (Qinusty/397->master: Modify retry behaviour to be opt-in on exceptions during job processing) #559 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55910:55
gitlab-br-botbuildstream: merge request (phil/437-junction-tutorial->master: WIP Phil/437 junction tutorial) #550 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55011:01
tristanNexus, essentially yes, and without project.conf optionality; I didn't think about it not coming with tests but indeed, as long as it exposes no visible feature; it will not be properly testable11:04
tristanNexus, I expect that to change soon but, if we can land this first part, it makes the cached build trees available sooner, so for instance, we can also use it for https://gitlab.com/BuildStream/buildstream/issues/7611:05
tristanI also expect things will be easier to land in smaller chunks :)11:06
tristanAt this same time, I will file a separate bug about ensuring that we only ever download the build tree separately and at the last possible moment (like only when we know we're going to need it), which I think still blocks on a small feature from CAS11:07
gitlab-br-botbuildstream: merge request (caching_build_trees_limited->master: Adding caching build trees (limited)) #560 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56011:09
Nexustristan: ^11:09
tristannice :)11:09
* tristan takes a look...11:09
tristanyeah, note that making it optional is exactly the thing I want to avoid; it's possible we get cornered into it for some reason, though11:10
tristani.e. it changes the definition of what an artifact is, while optionality at download time is important either way11:11
tristan(having optionality is in the definition of an artifact seems to be potentially expensive code-wise as we add features which use this)11:11
NexusJust a point for consideration, it may be worth making a plan at some point incase we end up having to make it optional11:12
tristanright11:12
Nexusleft11:12
gitlab-br-botbuildstream: merge request (tpollard/386->master: _frontend: Don't print failure summary on build success) #561 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56111:12
*** jonathanmaw_ has joined #buildstream11:13
*** jonathanmaw has quit IRC11:13
gitlab-br-botbuildstream: merge request (tpollard/386->master: _frontend: Don't print failure summary on build success) #561 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56111:14
tristanhmmm, juergbi is not around today ?11:16
NexusHoliday11:16
Nexusnot that is means he won't be around... Engineers seem to not understand the concept of holidays11:17
tristanjmac, you are pretty familiar with the CAS stuff right ? as I understand it, when creating an artifact from the commit location, objects are copied from there, and the extract location always comes from the CAS object store right ?11:18
tristanI think anyway this makes sense in whatever scenario, so maybe I don't need to ask this question11:19
* tristan comments on 560...11:19
tiagogomestristan, valentind Agustin would like me to work on ways to reducing the effort required for code review, and improve our confidence that when we release, we release with no regressions. Does any of you have any ideas of ways to achieve this?11:19
jmactristan: Things extracted from the CAS have internal directory structure, but the CAS doesn't say anything about where a directory should be extracted to11:20
tristanjmac, err I phrased it wrong or confusing11:21
paulsherwoodtiagogomes: smaller changes11:22
tristanjmac, I mean ~/.cache/buildstream/artifacts/extract is always hardlinks coming from ~/.cache/buildstream/artifacts/cas, correct ?11:22
tristanjmac, i.e. it never runs the opposite way, it would be possible that they were hardlinked from the build directory11:22
paulsherwoodtiagogomes: and end-to-end (system) tests, rather than unit tests11:22
tristanbut I dont think that could have happened to the code11:22
jmactristan: I don't know what ~/.cache/buildstream/artifacts/extract is meant to contain at all, I'm afraid11:23
tristantiagogomes, I am worried that with so much activity we're going to have regressions and we need to mitigate with better CI indeed11:23
tristantiagogomes, we should discuss more...11:23
tristanjmac, ah, it's currently how we *use* CAS :)11:24
paulsherwoodstart by defining the core usecases we must not break11:24
paulsherwood(for ybd, this was cache-key calculations and full build of specific definitions checkouts, with and without artifact caches)11:25
jmactristan: Is there any difference between hardlinking from the outside of CAS to inside and vice versa? I thought hard links were all done with ref counts11:25
gitlab-br-botbuildstream: merge request (caching_build_trees_limited->master: Adding caching build trees (limited)) #560 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56011:25
tlaterpaulsherwood: We currently have no unit tests, only end-to-end tests11:25
* Nexus bumps BST_CORE_ARTIFACT_VERSION11:26
tlaterOh, well, besides some unit tests for our yaml parsers11:26
NexusDidn't even know we did that :p11:26
paulsherwoodtlater: cool :-)11:26
tiagogomespaulsherwood are you saying that ybd had a test script that cloned definitions and verified the tool output?11:26
paulsherwoodyes11:26
paulsherwoodfor some value of 'verified'11:26
paulsherwoodit still does11:27
tristanNexus, all reviewed :)11:27
tlaterpaulsherwood, tiagogomes: We have such tests for buildstream at present :)11:27
paulsherwoodso for example https://gitlab.com/baserock/ybd/blob/master/.gitlab-ci.yml#L3011:27
paulsherwoodthis checks that any new version of ybd still calculates a v1 artifact cache-key correctly11:28
paulsherwoodtlater: so if this is the case, how come tristan is worried about regressions?11:28
tlatertiagogomes: If you want to have a look at our test suite, I think that would still be appreciated. There may be some tests that are starting to show their age - but generally we trust our tests quite a lot.11:29
tiagogomesThat would be a bit odd to depend in an external repo for the testing11:29
paulsherwoodtiagogomes: what would be?11:29
tlaterpaulsherwood: Tests are never perfect - with the number of changes I think being a little paranoid is absolutely warranted.11:30
paulsherwood(the rest of the tests build a whole system on various OSes, with and without cached artifacts 'validate' is taken to mean 'built ok')11:30
gitlab-br-botbuildstream: merge request (Qinusty/397->master: WIP: Modify retry behaviour to be opt-in on exceptions during job processing) #559 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55911:30
paulsherwoodtlater: i totally agree11:30
* paulsherwood is more than a little paranoid himself11:31
tristanThere are parts which have eluded tests, source-bundle is an example, miracle it's still working but we've hand tested it11:37
tristanAnother is everything interactive, this is a bigger concern as it's a growing surface which is easy to regress11:37
tristanWe could use a technique to run bst in the test harness in such a way that we can expect what it prompts us, and we can answer it's user prompts11:37
tristantest that we can interactively debug a build, etc11:38
tristanNexus, another thing popped up in my mind about that... it would be better I think to create the directory in the artifact unconditionally... because we'll need to download it and it will provide a more consistent structure for error handling around that11:39
tristanlemme comment in the issue11:39
Nexusi thought that too and have done, but comment it anyway for the record :)11:39
tristanah :)11:40
tristandone11:41
tiagogomesAnother thing suggested was automatic license and copyright check on the sources files11:42
Nexustristan: should i still do the try:/except: ? since no other directory made that was is checked11:42
tristantiagogomes, to cover paulsherwood's type of test case, we do have a plan for that since around GUADEC, jjardon suggested that we use a branch of freedesktop-sdk for testing the latest buildstream against those builds on a nightly basis11:42
Nexuss/was/way/11:42
tristantiagogomes, the rationale being, we want our CI to be brief and test small things individually, adding small tests as we go for regressions (and more importantly, being sure that we're testing against a constant set of data, so we know only a commit to BuildStream can cause BuildStream's CI to break)11:44
tristanhowever, having a nightly which is not attached to CI, and takes hours to run, to check latest BuildStream against a well known complex build, is also desirable11:45
tristanNexus, I dont get "since no other directory made that was is checked", but it would be better I think yeah, you are basically testing whether the source dir exists, but ensuring the target still exists if no source dir existed11:47
Nexustristan: for example `os.mkdir(logsdir)` is done, and logsdir is later used without any check being done11:48
tristanNexus, creating the empty dir in the except case where the error was (I think FileNotFoundError ?), would be slightly better, even if mostly for encouraging better practices to others who read the code11:48
Nexustristan: i was going to just do an `os.mkdir(buildtreedir)` seperate from the build tree linking logic, so it was made in the same way as the other directories11:49
tristanNexus, I think that the distinction here is that we do not know if self.get_variable('build-root') exists at all11:49
tristanin the other cases, we've created it; in the case of the 'build-root' variable, it depends on the element11:50
tristanNexus, ah you mean create the directory regardless, at the *source* side ? no don't do that11:51
Nexustristan: there;s a default for the 'build-root' variable, it should always exist11:51
tristanNope :)11:51
tristanNexus, the result of doing that, will be to create a /buildstream/${element-name}.build/ directory unconditionally... in every import element artifact, for instance11:51
tristanNexus, because an import element's files output is the root of the sandbox11:52
tristanNexus, so that really has to be left up to the element11:52
Nexustristan: i was refering to this:     ./buildstream/data/projectconfig.yaml:57:  build-root: /buildstream/%{project-name}/%{element-name}11:53
tristanNexus, yes I know... I was improvising with my path name :)11:54
Nexusi mean as the default, assuming there is a project and an element (which there should be) it will have a default11:54
Nexusor am i misunderstanding something?11:54
tristanNexus, did you understand what I mean about import elements ?11:54
tristanNexus, the variable has a default yes, but not all elements use that variable11:55
Nexusah11:55
tristanimport will create an artifact of everything it imported (and if you create a directory for %{build-root}, you'll be adding that to the import outputs)11:56
tristanI think you understood anyway :)11:56
NexusSo what should i use as the dir in the case of it not having a "build-root" var?11:58
tristanNexus, the build-root variable will be declared no matter what12:06
tristanNexus, whether an Element uses that (whether sources or a build tree is even relevant for that element), is another question12:07
tristanNexus, i.e. if the build-root does not exist in the sandbox, just fallback to making sure the 'buildtree' directory exists in the artifact we're creating12:07
Nexustristan: ok thats fine, in which case do i really want a try:except:? since i won't be raising any erryor if the file doesn't exist, but instead just supplying an empty directory and not doing any linking12:22
Nexussurely just a check of "Does this variable exist" would suffice12:22
Nexusif self.get_variable('build-root'): Link_files else: just create and empty dir12:23
Nexuskind of thing12:23
Nexuss/and/an/12:23
tristanNexus, the try/except is in order to completely avoid os.path.isdir()12:26
tristanNexus, consider it pretty low priority and partly stylistic. In general, it's just always better form to try the syscall and handle a specific error, than to issue a syscall in order to predict whether what you're going to do might fail12:27
tlatertristan: I think you're talking about slightly different things :)12:28
tristanNexus, it's not immensely important, the biggest benefit we get from changing this to try/except is for other people reading the code to follow the same style12:28
tristantlater, oh indeed12:28
tristanoops12:28
tristanUmmm, Nexus changing the structure such that in some cases 'build-root' is unset, is a larger activity12:29
tristanand I'm not 100% sure that redefining how that works would be an API compatible change12:29
tristanNexus, currently, 'build-root' is always set; whether the element uses that and creates a directory is up to the element, that's the current contract12:30
Nexuskk12:32
tristantoscalix, I've just removed the ChangeLog part of the merge request template as we previously discussed12:53
toscalixok12:53
gitlab-br-botbuildstream: issue #493 ("Allow staging part of a source") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/49312:54
qinustyDo we have some tests which sometimes pass and sometimes fail? https://gitlab.com/BuildStream/buildstream/-/jobs/8366049512:57
tristanqinusty, test_push_pull is the one I'm aware of... there has been some spurious errors around unmounting the sandbox13:04
qinustytest_build_track_track_first appears to have just done it on me tristan. If we're keeping track13:04
tristanqinusty, that looks new to me13:05
tristani.e. failed to move the cloned repo into place in the sources cache13:06
tristanqinusty, it certainly also points out that we're failing to include the formatted OS error in the propagated error13:06
tristangit.py: line 121: should be adding the error into the formatted string13:07
gitlab-br-botbuildstream: merge request (Qinusty/397->master: WIP: Modify retry behaviour to be opt-in on exceptions during job processing) #559 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55913:08
qinustyOkay, I fixed the two lint issues I was getting. That MR should be good to fix #397 once the pipeline completes.13:08
tristanqinusty, looks like it could be racy though, i.e. one of our first bug reports...13:09
tristanhttps://gitlab.com/BuildStream/buildstream/issues/513:09
qinustyConsideration may need to be taken into what other BstError based Exceptions will need to have 'temporary' in their constructors tristan.13:09
qinusty5, that's an early one13:09
tristanqinusty, if you have two parallel fetches of the same thing, one will beat the other and the second one it would appear, from git.py:121, would trigger that error13:10
tristanqinusty, since it appears you've added it to BstError, I don't think that is really a concern13:12
tristanqinusty, I.e. at the soonest point where we need to trigger another core error as 'temporary', that would be the time we add the 'temporary' option to chain into the specific error's constructor13:13
qinustyOkay, that sounds good to me.13:14
jennisqinusty, do you remember which buildstream command failed when you didn't have the ostree packages from the debian backports installed?13:18
gitlab-br-botbuildstream: merge request (caching_build_trees_limited->master: Adding caching build trees (limited)) #560 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56013:18
Nexustristan: It turns out that if you give utils.link_files() a non-existant dir as a source, it just does nothing13:19
skullmanos.walk() will yield no results if the directory doesn't exist13:20
gitlab-br-botbuildstream: merge request (caching_build_trees_limited->master: Adding caching build trees (limited)) #560 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56013:21
tristanNexus, that is unfortunate... and contradictory to what the utils.link_files() API statement :-/13:22
qinustyjennis: https://gitlab.com/BuildStream/buildstream/issues/480 is my closed issue13:22
tristanNexus, I think that in itself is a bug, given that `ignore_missing` defaulting to false is exactly for this... and probably stems from how we handle directories differently than other files13:22
* Nexus wonders why even the smallest of jobs he is given becomes bigger13:23
tristanNexus, or rather, its for exactly the reason skullman highlights, from list_relative_paths()13:23
gitlab-br-botbuildstream: merge request (Qinusty/397->master: WIP: Modify retry behaviour to be opt-in on exceptions during job processing) #559 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55913:24
tristanNexus, it's alright, go ahead with os.path.isdir() for now, let's file this separately13:24
tlaterNexus: "Small" jobs are just how this whole programming thing works ;p13:25
gitlab-br-botbuildstream: merge request (caching_build_trees_limited->master: Adding caching build trees (limited)) #560 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56013:26
Nexustristan: done13:27
gitlab-br-botbuildstream: merge request (caching_build_trees_limited->master: Adding caching build trees (limited)) #560 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56013:27
jennismhmm, qinusty do you remember if you tried this *after* the CAS-based cache landed?13:30
qinustyYup13:30
qinustyIt was Thursday/Wednesday last week?13:31
jennisYes thats what I thought13:31
jennisBecause now I would expect that we don't require to install ostree from the backports repo as it's no longer a hard dependency13:31
jennisjjardon, your MR deals with this ^^13:32
jennisahh!13:32
jennisiirc, that example uses the ostree plugin13:32
gitlab-br-botbuildstream: merge request (Qinusty/397->master: WIP: Modify retry behaviour to be opt-in on exceptions during job processing) #559 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55913:34
jennishttps://gitlab.com/BuildStream/buildstream/blob/master/doc/examples/flatpak-autotools/elements/base/sdk.bst, so it looks like we still need to ostree packages from the backport repo13:34
tlaterOh, right13:41
tlaterDamn, I should remove the docker images issue13:42
tlaterIt's an optional dependency...13:42
tlaterAlso, we should (since it's now optional) depend on something more common for our tutorials13:42
tlaterI.e., get OS tarballs instead of ostree links13:42
jennistlater, it was seeing your activity on that issue that reminded me of all this :p13:46
jennisHowever, it's just the flatpak-autotools example that depends on this13:46
tlaterjennis: To build flatpaks you need ostree ;)13:47
tlaterStill, I think we should at least mention in the tutorial that this has to be installed13:47
jennisIndeed13:47
tlaterNot sure if the current patch does that13:47
jennisIt does not, I'll update the ticket13:47
gitlab-br-botbuildstream: issue #494 ("Only download the build tree if absolutely necessary") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/49413:51
*** Phil has quit IRC13:51
*** Phil has joined #buildstream13:51
tristanNexus, note that I filed https://gitlab.com/BuildStream/buildstream/issues/494 to account for optionality in downloads13:51
toscalixFilled my first bug in GNOME bugzilla. A couple more weeks and I see myself joining the foundation13:52
tristan:)13:57
gitlab-br-botbuildstream: merge request (328-support-for-downloading-sources-from-mirrors->master: Resolve "Support for downloading sources from mirrors") #404 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40413:58
toscalixlaurence: if I recall correctly, tomorrow's monthly meeting is "mine" right?14:00
laurenceyes14:01
tristanspeaking of which... when is our next IRC team meeting coming up...14:03
laurenceit's 14:00 UTC tomorrow14:03
* laurence wonders if any countries in the world are in 'tomorrow' yet 14:04
laurenceyes, but i don't think we have any contributors from those countries :)14:04
Kinnisonlaurence: it's gone midnight where tristan is IIRC14:05
laurencetrue!14:06
jjardonHi, any idea what is the minimum required ostree version to use the ostree source plugin?14:06
KinnisonIIRC it's in the docs14:06
tlaterjjardon: The docker image also lists it14:06
* tlater recalls 2017.something14:06
Kinnisonlibostree >= v2017.8 with introspection data14:06
Kinnisonsays https://buildstream.gitlab.io/buildstream/install_linux_distro.html14:06
jjardonthat was when ostree was used ass a core dependency, we do not depend on ostree anymore14:07
gitlab-br-botbuildstream: merge request (caching_build_trees_limited->master: Adding caching build trees (limited)) #560 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/56014:07
jjardononly if you want to use the ostree source plugin14:07
jjardonI wonder if the ostree required version is more relaxed for that use case?14:07
tlaterjjardon: 2017.8, apparently14:07
qinustyRegarding https://gitlab.com/BuildStream/buildstream/issues/481 How do people feel about https://photos.google.com/share/AF1QipPR9pI3MOW7oDGu37D-sWVtDl-LyaHXMkEeAVVN2Rssy6W047CdkMQ00sG3gMNtOQ?key=c2FOVlRkd2xLb2ZqTUhRSzctSDRuQjNNREJwQTFR?14:07
tlaterAh14:07
qinustyThats a long link.... How do people feel about https://photos.app.goo.gl/bzwkiYVRWgGMpJdP7 ****14:08
tlaterjjardon: I think the introspection was required to access it from python at all, which in turn meant we needed a specific version14:08
jjardontlater: we do not need the instrospection at all now14:08
tlaterYep, that should bring down the dependency version a lot14:09
tlaterI suspect we just need a version that allows all the commands we call14:09
jjardoncontext https://gitlab.com/BuildStream/buildstream/merge_requests/55814:09
* toscalix has added tristan to the calendar event so he gets a mail notification about the IRC monthly meetings.14:10
tlaterqinusty: It's easier if you add that screenshot to your MR/issue and ask for comments on there - hard to see what you're showing with no context :)14:10
gitlab-br-botbuildstream: issue #495 ("utils.link_files()/utils.copy_files() APIs do not fail for non-existing source") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/49514:10
tlaterCute terminal theme, I suppose? ;p14:10
tlaterSolarized, or a variant of that, I think14:10
qinusty;) The MR was also linked :P14:10
qinustyBut I agree14:11
tlaterAh, missed the first link due to longness, sorry.14:11
tristan... and added https://gitlab.com/BuildStream/buildstream/issues/495 to track the weird misbehavior of the utils.link_files()/utils.copy_files() public APIs14:12
tlaterqinusty: Looks good. Interestingly, we never used SKIPPED for anything but jobs, so seeing it there might be a bit confusing.14:13
tlaterBut I think it's clear enough14:13
tristantoscalix, ummm, calendars aside, I think you've taken over laurence's responsibility for the call for agenda items and announcement around 1 week before the meeting14:13
tiagogomeserm, I can't build freedesktop-sdk because downloading http://download.icu-project.org/files/icu4c/61.1/icu4c-61_1-src.tgz is timing out14:13
tristanlaurence, gah... the IRC team meeting is tomorrow ?14:14
tristanOh is that what you meant by "mine" ?14:14
tristanOk I dont mind how you guys want to share that14:14
toscalixit is14:14
tristanits a bit late though, did we not make noise in advance of the meeting ?14:14
jjardontlater: seems bst still uses pygobject to access ostree at buildstream/_ostree.py, so I will rework the patch14:14
tristanAh I found it14:14
tristantoscalix, sent out last tuesday right ?14:15
jjardontristan: pygobject still needed for the ostree source plugin ^14:15
tristantoscalix, thanks :D14:15
tristanjjardon, exactly14:15
tristanjjardon, but that means it's still an optional dependency14:15
qinustyrip tlater, snap14:15
tlaterhaha14:15
tlaterqinusty: Do ask for code review from someone else, I should get back to "real" work14:16
qinusty:P No worries14:16
tristanok so meeting is 11pm... I'll make a point to sleep in tomorrow haha14:17
gitlab-br-botbuildstream: merge request (jjardon/ostree_repo->master: WIP: doc/source/install_linux_distro.rst: buildstream doesn't depend on ostree or pygobject anymore) #558 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55814:17
gitlab-br-botbuildstream: issue #21 ("Caching of build trees") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/2114:20
* tiagogomes misses trove already14:21
laurencei sent an email about tomorrow's meeting one week ago14:23
noisecelltiagogomes, trove is still a thing ;-)14:23
laurenceah, you found it14:23
tristanlaurence, I didn't even realize it was you who sent it heh, drowning in emails, issues and merge requests14:24
tiagogomesIs there any option to force building everything from source instead of using the artifact cache?14:25
laurencevery understandable14:25
noisecelltiagogomes, you can comment out the artifact cache in your project.conf14:26
laurencealthough it's pretty odd that we completely ignore the agenda that was sent a whole week in advance and then send that one today14:26
tristantiagogomes, not currently, a request was made I think to ignore the artifact share downloads, but I think your request is slightly different ?14:26
tristani.e., you'd also like to re-build locally cached artifacts ?14:27
tiagogomesThat's correct14:27
tristanyeah, I think at the same level, a force rebuild thing has been discussed, but; I dont know if all of this is in the issue tracker14:28
tristantiagogomes, it could be nice to ensure that we have an issue, for the most part, requests like yours so far have amounted to retrying a single element, so I think we might desire both possibilities (force rebuild a specific thing, or everything)14:29
tristantiagogomes, as far as force rebuilding a specific thing, I've been thinking that a potential `bst artifact delete <element> <cache key>` API might be a decent solution14:30
tristanThat, along with `bst artifact list` and the possibility of having something to manipulate artifacts directly, was discussed in a fairly recent issue before GUADEC...14:30
tristanlemme try to find it14:30
tristanhttps://gitlab.com/BuildStream/buildstream/issues/41614:31
tristantiagogomes, I should properly triage that issue I think, it's becoming too much of a side tracked discussion14:32
* tristan adds a todo item for tomorrow morning... it's already 11:30 :)14:32
*** Phil has quit IRC14:39
*** Phil has joined #buildstream14:39
*** tristan has quit IRC14:41
tiagogomesthanks :)14:41
gitlab-br-botbuildstream: merge request (jjardon/ostree_repo->master: WIP: doc/source/install_linux_distro.rst: buildstream doesn't depend on ostree or pygobject anymore) #558 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55814:42
*** bethw has quit IRC14:42
gitlab-br-botbuildstream: merge request (jjardon/ostree_repo->master: WIP: doc/source/install_linux_distro.rst: buildstream doesn't depend on ostree or pygobject anymore) #558 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55814:43
gitlab-br-botbuildstream: merge request (jjardon/ostree_repo->master: doc/source/install_linux_distro.rst: buildstream doesn't depend on ostree or pygobject anymore) #558 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55814:46
*** bethw has joined #buildstream14:50
*** tristan has joined #buildstream14:52
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/44514:53
*** xjuan has joined #buildstream15:03
gitlab-br-botbuildstream: merge request (Qinusty/481->master: Skipped sessions will no longer be reported as SUCCESS) #562 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56215:04
qinustyThis MR is ready for review if anyone finds themselves with some free time https://gitlab.com/BuildStream/buildstream/merge_requests/56215:06
gitlab-br-botbuildstream: merge request (phil/437-junction-tutorial->master: WIP Phil/437 junction tutorial) #550 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55015:17
gitlab-br-botbuildstream: merge request (jjardon/ostree_repo->master: doc/source/install_linux_distro.rst: buildstream doesn't depend on ostree or pygobject anymore) #558 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55815:29
*** adds68 has quit IRC15:50
*** adds68 has joined #buildstream15:52
laurencehttps://gitlab.com/BuildStream/buildstream/merge_requests/56215:52
laurencei've never seen an image embedded in a ticket before15:53
laurencecool15:53
*** toscalix has quit IRC15:57
gitlab-br-botbuildstream: merge request (phil/437-junction-tutorial->master: WIP Phil/437 junction tutorial) #550 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55016:01
gitlab-br-botbuildstream: merge request (phil/437-junction-tutorial->master: Phil/437 junction tutorial) #550 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/55016:12
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/44516:14
gitlab-br-botbuildstream: merge request (caching_build_trees->master: Caching buildtrees) #474 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/47416:33
*** toscalix has joined #buildstream16:36
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/44516:46
WSalmoni am trying to build https://gitlab.com/willsalmon/buildstream-kicad, i have run a few commands before but i have just run `bst track kicad.bst` then `bst build kicad.bst` then i get https://hastebin.com/ivuzakofih.md16:48
tlaterWSalmon: Do the "wrong" shasums stay consistent between track attempts?16:49
WSalmoni think so, and i have tried deleting the files from ~/.cache/buildstream$ but they consistently down load to the same hash16:51
tlaterHrm, that sounds pretty bad16:52
tlaterWSalmon: What version of buildstream are you running?16:52
tlaterShould be in your output, hang, I'll stop being lazy16:52
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/44516:53
tlaterWSalmon: Ah, you snipped that out16:53
tlaterBuildstream version, please :)16:53
tlater(We try to keep everything functional at all times, but between MRs a broken commit *may* sneak in on occasion)16:54
gitlab-br-botbuildstream: merge request (bst_workspace_open_force_does_nothing->master: _stream.py: Added functionality for workspace open -f) #549 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/54916:54
gitlab-br-botbuildstream: merge request (bst_workspace_open_force_does_nothing->master: _stream.py: Added functionality for workspace open -f) #549 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/54916:55
WSalmoni have just re run both commands and get the same error. bst --version16:56
WSalmon1.1.3+177.gba96428716:56
WSalmonit was master last week16:56
WSalmoni will get master and try again16:56
gitlab-br-botbuildstream: merge request (Qinusty/491->master: Cache size is now restricted to available disk space) #563 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56316:58
*** qinusty has quit IRC16:58
tlaterWSalmon: If that doesn't help, see if stable works16:59
tlaterI'll see if I can reproduce it with your definitions in the mean time16:59
tlaterActually, let me try it with stable...16:59
* tlater is really happy with bst-test, it makes trying out others' branches really simple :)17:02
WSalmonfyi i dont think that project will work but it should get further than it dose17:02
tlaterOof, tracking's going to take a little while...17:03
tlaterWSalmon: Ok, I see the same thing on stable, so I'm going to guess it's not a bug17:05
tlaterOr if it is, it's related to http headers, and that site sends us the wrong file again17:06
WSalmonalso just tride master and has grpc been recently added as a requirement? i get `ImportError: No module named 'grpc'`17:08
jmacIt was added about a week ago17:08
tlaterHrm17:09
tlaterChecking the downloaded source in the cache manually, it appears to have the sha256sum buildstream claims to be correct17:09
tlaterIt is just when buildstream actually checks whether the checksum matches that it's somehow wrong17:10
* tlater wonders if there is a sha collision or something odd going on17:10
*** tristan has quit IRC17:17
tlaterWSalmon: This seems to only happen when building through the junction17:17
tlaterI.e. this succeeds: bst build --track freedesktop-sdk.bst:base/gnutls.bst freedesktop-sdk.bst:base/gnutls.bst17:18
tlaterI don't know enough about junctions to help much, unfortunately...17:18
tlaterjmac and jonathanmaw_ still seem to be around, maybe they can help out, but I think we'd like a juergbi17:18
gitlab-br-botbuildstream: merge request (328-support-for-downloading-sources-from-mirrors->master: Resolve "Support for downloading sources from mirrors") #404 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40417:19
*** ernestask has quit IRC17:19
Nexus404 merge equest not found17:21
jmacThat's a weird one, I've not done much with tracking before17:22
*** toscalix has quit IRC17:31
gitlab-br-botbuildstream: merge request (tlater/message-helpers->master: WIP: Improve message helpers) #527 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/52717:38
gitlab-br-botbuildstream: merge request (Qinusty/491->master: WIP: Cache size is now restricted to available disk space) #563 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56317:40
gitlab-br-botbuildstream: merge request (bst_workspace_open_force_does_nothing->master: _stream.py: Added functionality for workspace open -f) #549 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/54918:00
gitlab-br-botbuildstream: merge request (328-support-for-downloading-sources-from-mirrors->master: Resolve "Support for downloading sources from mirrors") #404 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/40418:17
*** jonathanmaw_ has quit IRC18:21
*** jennis has quit IRC18:34
*** xjuan has quit IRC20:33

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