*** semanticdesign has quit IRC | 01:54 | |
*** mcatanzaro has quit IRC | 03:06 | |
*** tristan has quit IRC | 07:50 | |
*** tristan has joined #buildstream | 08:13 | |
*** jude has joined #buildstream | 08:22 | |
gitlab-br-bot | buildstream: merge request (130-interactive-prompt-prefix->master: WIP: Accept the first characters as shortcut on interruption prompts) #151 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/151 | 08:58 |
---|---|---|
gitlab-br-bot | buildstream: issue #97 ("Apply pep 3102 to all public API surfaces") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/97 | 09:24 |
gitlab-br-bot | buildstream: merge request (97-apply-pep-3102-to-all-public-api-surfaces->master: Resolve "Apply pep 3102 to all public API surfaces") #127 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/127 | 09:24 |
gitlab-br-bot | buildstream: Tristan Van Berkom deleted branch 97-apply-pep-3102-to-all-public-api-surfaces | 09:24 |
gitlab-br-bot | push on buildstream@master (by Tristan Van Berkom): 13 commits (last: Apply pep 3102 to element's stage_artifact and stage_dependency_artifacts) https://gitlab.com/BuildStream/buildstream/commit/e3135b91fbc97ae4ddee05362299dcbdfe6e8110 | 09:24 |
gitlab-br-bot | push on buildstream@master (by Tristan Van Berkom): 1 commit (last: element.py: Fixed manual signature override in docstring) https://gitlab.com/BuildStream/buildstream/commit/0c8b7b49eca1488e9dfd923275dff3b74a1d5383 | 09:27 |
*** givascu has joined #buildstream | 09:31 | |
*** jonathanmaw has joined #buildstream | 09:33 | |
*** valentind has joined #buildstream | 09:33 | |
*** tiagogomes has quit IRC | 09:41 | |
*** tiagogomes has joined #buildstream | 09:43 | |
*** bethw has joined #buildstream | 09:51 | |
*** anahuelamo has joined #buildstream | 09:57 | |
*** tpollard has joined #buildstream | 10:02 | |
*** ssam2 has joined #buildstream | 10:13 | |
ssam2 | in _pipeline.py we output a warning with self.message() if we fail to access the remote cache | 10:58 |
ssam2 | however the warning isn't getting displayed, because I think it's too early in the init process for warnings to show up ? | 10:59 |
ssam2 | this is in Pipeline.__init__() | 10:59 |
ssam2 | should self.message() work at that point ? or should we be using some other method of outputting a warning in the constructor ? | 10:59 |
tristan | That needs some additional fixing... is it MessageType.WARN ? | 11:01 |
ssam2 | yeah | 11:01 |
ssam2 | it's https://gitlab.com/BuildStream/buildstream/blob/master/buildstream/_pipeline.py#L175 | 11:01 |
tristan | ssam2, I did some changes recently that make the frontend save the unconditional messages and print them after resolving the pipeline and immediately when starting logging | 11:01 |
ssam2 | right | 11:01 |
tristan | but maybe it doesnt get as far as starting with logging ? | 11:01 |
ssam2 | indeed | 11:01 |
ssam2 | I'm running `bst push`, and i had the wrong pull URL | 11:02 |
ssam2 | so my push failed with `not configured for pushing`, which was confusing | 11:02 |
tristan | there are a few reasons this approach needs to change | 11:02 |
tristan | One of them is juergbi's recursive pipelines branch; I presume it might change some things in that area; because it needs to preload a few projects at startup | 11:02 |
ssam2 | i guess i'm about to change how pushing works anyway though for canonical pull URLs :-) | 11:02 |
tristan | Another one is benchmarking, if you read up on my last reply to Angelos on that thread | 11:03 |
tristan | I think that enabling the logger right away will allow us to do benchmarking almost entirely via parsing of our already generated logs | 11:04 |
ssam2 | sounds good | 11:04 |
*** valentind has quit IRC | 11:04 | |
tristan | The problem with enabling the logger right away though... is that we get a lot of undesirable messages in preflight, or especially during initial cache key calculations | 11:04 |
ssam2 | perhaps we need a `with logging.mute():` kind of thing ? | 11:05 |
tristan | That, might be interesting though to pass through the scheduler in null logs, and message back the results | 11:05 |
tristan | like, we might or might not optimize load time of large pipelines by interrogating disk caches in parallel | 11:06 |
tristan | and then redirecting those to /dev/null and ignoring that (except for errors and warnings) | 11:06 |
tristan | mostly stuff like checking if we need to fetch (git cat-file commands and such as STATUS messages) | 11:07 |
tristan | ssam2, maybe something like that yeah | 11:07 |
tristan | ssam2, with a mask/list of which message types to mask, but we already have a constant `unconditional_messages` in _messages.py | 11:07 |
tristan | which is pretty much the set of messages we want to have at all times | 11:08 |
tristan | it's not a hugely important detail, that could be turned into a literal list used by the frontend | 11:08 |
tristan | but it's used in a few places | 11:08 |
tristan | Or | 11:08 |
tristan | ssam2, or a frontend timed_activity() with silent_nested=True for the load proceedure | 11:09 |
tristan | I think silent_nested mutes all messages except for the unconditional ones | 11:09 |
ssam2 | ok | 11:09 |
tristan | But it needs an implementation on the pipeline (because it's currently only plugin facing, and the pipeline isnt an element) | 11:10 |
tristan | Then maybe we want to time the separate load activities separately and remove all those "tickers" | 11:10 |
jonathanmaw | hrm, looking at https://gitlab.com/BuildStream/buildstream/issues/132 (loading plugins without project.conf allowing them), my current implementation is to add "plugin-whitelist" to the project.conf dict. I added all of the built-in plugins to the default project.conf's file, but it looks like it doesn't merge it with new files. | 11:11 |
tristan | ssam2, Removing the "tickers" will greatly improve readability of frontend <--> pipeline interactions | 11:11 |
jonathanmaw | what's a good approach for having a big default list of stuff, and having users add individual stuff? | 11:11 |
jonathanmaw | should I assume users would never want to remove built-in plugins from their whitelist? | 11:11 |
tristan | Errrm | 11:12 |
tristan | jonathanmaw, First; I think we want to assume that pip is not going to be the only means of plugin discovery | 11:12 |
tristan | jonathanmaw, Next, I think that we need to be explicit about where the plugin is coming from | 11:12 |
tristan | jonathanmaw, For built-in plugins that are distributed with BuildStream, I dont think we need to whitelist them at all | 11:13 |
tristan | jonathanmaw, also; if it can fit logically into the format for versioning requirements, I think that is the most ergonomic | 11:14 |
jonathanmaw | tristan: hrm, I hadn't looked into the versioning requirements logic | 11:14 |
tristan | I.e. where you declare the minimum API versions you assert for a given plugin, should be the same place where you mention where the plugin comes from (if it's not built-in) | 11:14 |
tristan | And then basically; the discovery / load should be made a bit more explicit, so if the user did not specify that "the plugin comes from a pip install", the pip discovery method is never exercised for a lookup of that plugin | 11:16 |
*** bethw has quit IRC | 11:32 | |
ssam2 | seems my attempt to make the gitlab bot notify on the buildstream-docker-images repo was a failure | 11:42 |
*** semanticdesign has joined #buildstream | 11:44 | |
ssam2 | the config is there though ... i have no idea why it would not work | 11:45 |
ssam2 | anyway, in the absense of the bot: here's a docker image for setting up an artifact cache: https://gitlab.com/BuildStream/buildstream-docker-images/merge_requests/5 | 11:45 |
tlater | \o/ | 11:46 |
jonathanmaw | tristan: okay, does that mean that elements that aren't built-in should be prefixed by how they're loaded? Loading via pip is formatted as "$python_dist:$plugin_name", I could extend that to "pip:$python_dist:$plugin_name". Similarly, I could make plugins loaded via the plugin paths take a prefix. | 11:47 |
jonathanmaw | or since those plugins are already only available if you add them in project.conf, is that sufficient? | 11:48 |
tristan | jonathanmaw, I think it's fine if it's only specified in the project.conf; the point is that nothing unexpected happens, and no plugins are accidentally discovered from external sources | 11:58 |
*** tristan has quit IRC | 12:02 | |
tlater | Does pycoverage perhaps crash when I define a function-local function that has the same name as another one? | 12:03 |
* tlater heavily suspects that this may be the case | 12:04 | |
*** tristan has joined #buildstream | 12:05 | |
*** bethw has joined #buildstream | 12:46 | |
*** cs_shadow has quit IRC | 13:24 | |
*** cs_shadow has joined #buildstream | 13:27 | |
tlater | So this function causes pycoverage to segfault whenever it is defined: https://gitlab.com/BuildStream/buildstream/blob/except_intersections/buildstream/_pipeline.py#L752 | 13:37 |
tlater | It does so no matter where it is defined, or what its name is | 13:37 |
tlater | Except when its outer function is not defined at all - it still breaks if the outer function is defined in the same scope (as in, when re-defining it as a normal instance method). | 13:38 |
tlater | But it does not break if it is defined and remove_elements isn't | 13:38 |
tlater | It also doesn't break if the only statement in it is 'pass' | 13:38 |
* tlater is very confused | 13:38 | |
ssam2 | wow | 14:01 |
ssam2 | is that enough to produce a test case ? | 14:01 |
ssam2 | also, is it simple to try with git master of coverage.py ? | 14:01 |
ssam2 | what happens if it's named something other than 'traverse' ? | 14:01 |
tlater | ssam2: it segfaults no matter what the name is | 14:03 |
tlater | Not sure, I'll try and make a test case - I don't think this happens anywhere but on the gitlab runners, but then I haven't tried from a completely clean slate. | 14:03 |
ssam2 | super weird | 14:04 |
tlater | I think it might be whenever I reference a variable from within remove_elements | 14:04 |
tlater | But that still doesn't explain anything | 14:04 |
tlater | It also *only* happens in specifically the cmake test case :| | 14:05 |
gitlab-br-bot | push on buildstream@132-loading-external-plugins-works-without-explicit-requirement-in-project-conf (by Jonathan Maw): 20 commits (last: Remove DummyElement hack) https://gitlab.com/BuildStream/buildstream/commit/58ca697cc250c1862977a6c4c9bbf82e62317d02 | 14:22 |
gitlab-br-bot | buildstream: merge request (132-loading-external-plugins-works-without-explicit-requirement-in-project-conf->master: WIP: Resolve "Loading external plugins works without explicit requirement in project.conf") #125 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/125 | 14:22 |
*** noah has joined #buildstream | 14:38 | |
* tlater can't seem to find a test case that works, unsurprisingly | 15:05 | |
gitlab-br-bot | buildstream: merge request (incremental-build->master: Add support for doing incremental builds) #126 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/126 | 15:08 |
tlater | Aaand pycoverage's current master also has this issue | 15:14 |
*** tpollard has quit IRC | 15:18 | |
gitlab-br-bot | buildstream: merge request (incremental-build->master: Add support for doing incremental builds) #126 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/126 | 15:20 |
*** mcatanzaro has joined #buildstream | 15:23 | |
tlater | Well, as a workaround I'm just not going to use a recursive function. Removing that definition seems to fix the issue... | 15:28 |
* tlater hopes he didn't screw up a nonrecursive tree traversal | 15:29 | |
*** mcatanzaro has quit IRC | 15:31 | |
*** jude has quit IRC | 15:31 | |
tlater | Now gitlab's API is down so that I can't actually push my fix... | 15:36 |
tlater | If there's any more of this I'm going to start considering this branch haunted | 15:36 |
*** tpollard has joined #buildstream | 15:48 | |
gitlab-br-bot | buildstream: merge request (131-behavior-of-except-argument-is-frustrating-and-confusing->131-behavior-of-except-argument-is-frustrating-and-confusing: Fix the pycoverage segfault) #152 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/152 | 15:48 |
*** hergertme has quit IRC | 16:07 | |
*** hergertme has joined #buildstream | 16:07 | |
jonathanmaw | is gitlab accessible over git to anyone else? When I try to push I get "GitLab: API is not accessible" | 16:19 |
tlater | jonathanmaw: Same issue here, but only on the buildstream repo | 16:20 |
gitlab-br-bot | buildstream: merge request (131-behavior-of-except-argument-is-frustrating-and-confusing->131-behavior-of-except-argument-is-frustrating-and-confusing: Fix the pycoverage segfault) #152 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/152 | 16:21 |
gitlab-br-bot | buildstream: merge request (benchmark->master: WIP: Benchmark) #136 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/136 | 16:33 |
gitlab-br-bot | buildstream: merge request (benchmark->master: WIP: Benchmark) #136 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/136 | 16:35 |
*** anahuelamo has quit IRC | 16:36 | |
*** givascu has quit IRC | 17:19 | |
*** bethw has quit IRC | 17:19 | |
*** mcatanzaro has joined #buildstream | 17:26 | |
*** jonathanmaw has quit IRC | 17:45 | |
*** tpollard has quit IRC | 17:47 | |
*** ssam2 has quit IRC | 18:26 | |
*** tristan has quit IRC | 18:38 | |
*** valentind has joined #buildstream | 19:30 | |
*** tristan has joined #buildstream | 19:50 | |
*** mcatanzaro has quit IRC | 20:28 | |
*** semanticdesign has quit IRC | 20:44 | |
*** mcatanzaro has joined #buildstream | 20:47 | |
*** jude has joined #buildstream | 20:59 | |
*** jude has quit IRC | 21:22 | |
*** bethw has joined #buildstream | 21:32 | |
*** mcatanzaro has quit IRC | 22:29 | |
*** mcatanzaro has joined #buildstream | 22:30 | |
*** valentind has quit IRC | 22:31 | |
*** mcatanzaro has quit IRC | 22:34 | |
*** mcatanzaro has joined #buildstream | 22:34 | |
*** bethw has quit IRC | 22:37 | |
*** bethw has joined #buildstream | 22:37 | |
*** bethw has quit IRC | 22:43 | |
*** cs_shadow has quit IRC | 22:54 | |
*** tristan has quit IRC | 23:38 | |
*** noah has quit IRC | 23:40 |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!