Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Revert "WIP: pickle: rm special cases, plugins pickle now"aevri/picklable_jobs | Angelos Evripiotis | 2019-05-23 | 2 | -0/+8 |
| | | | | This reverts commit 0a9b85460c2ad1298449a1eea936a2ca30220ffd. | ||||
* | WIP: pickle: rm special cases, plugins pickle now | Angelos Evripiotis | 2019-05-23 | 2 | -8/+0 |
| | |||||
* | WIP: pickle: rm commented out special case | Angelos Evripiotis | 2019-05-23 | 1 | -8/+0 |
| | |||||
* | WIP: pickle: remove PicklablePluginProxy | Angelos Evripiotis | 2019-05-23 | 3 | -47/+2 |
| | |||||
* | WIP: pickle: use custom reduction for plugins | Angelos Evripiotis | 2019-05-23 | 5 | -15/+75 |
| | | | | | This removes the need for a PicklablePluginProxy, and perhaps makes this easier to follow, as it is more direct. | ||||
* | WIP: pickle: _do_pickled_child_job and friends | Angelos Evripiotis | 2019-05-23 | 1 | -14/+35 |
| | |||||
* | WIP: pickle: queues no longer pickled | Angelos Evripiotis | 2019-05-23 | 3 | -18/+0 |
| | |||||
* | WIP: perf: don't bind entire queue to callback | Angelos Evripiotis | 2019-05-23 | 7 | -34/+50 |
| | |||||
* | WIP: spawn: Job no longer pickled | Angelos Evripiotis | 2019-05-23 | 1 | -9/+0 |
| | |||||
* | TEMP: time and size of pickling and spawning | Angelos Evripiotis | 2019-05-23 | 1 | -2/+20 |
| | |||||
* | WIP: pickle: comment out test_pickle in Job | Angelos Evripiotis | 2019-05-23 | 1 | -7/+7 |
| | |||||
* | TEMP: breakpoint on recursion error | Angelos Evripiotis | 2019-05-23 | 1 | -1/+2 |
| | |||||
* | WIP: pickle: use PicklablePluginProxy instead | Angelos Evripiotis | 2019-05-23 | 5 | -80/+55 |
| | |||||
* | TEMP: testpickle | Angelos Evripiotis | 2019-05-23 | 2 | -0/+207 |
| | |||||
* | TEMP: MultiprocessingPdb, traceback in Job._child_action | Angelos Evripiotis | 2019-05-23 | 1 | -1/+21 |
| | |||||
* | TEMP: disable status rendering | Angelos Evripiotis | 2019-05-23 | 1 | -1/+1 |
| | | | | This interferes with pdb debugging in subprocesses. | ||||
* | WIP: pickle: Plugin - disable pickling | Angelos Evripiotis | 2019-05-23 | 1 | -0/+6 |
| | |||||
* | WIP: pickle: Element, Source _meta_kind | Angelos Evripiotis | 2019-05-23 | 2 | -0/+3 |
| | |||||
* | WIP: pickle: FetchQueue - not needed? | Angelos Evripiotis | 2019-05-23 | 1 | -0/+6 |
| | |||||
* | WIP: pickle: {ArtifactPush,Build}Queue - not needed? | Angelos Evripiotis | 2019-05-23 | 2 | -0/+12 |
| | |||||
* | WIP: pickle: Job, ElementJob, Element, Source | Angelos Evripiotis | 2019-05-23 | 2 | -0/+87 |
| | |||||
* | WIP: pickle: optionpool: make picklable | Angelos Evripiotis | 2019-05-23 | 1 | -0/+12 |
| | |||||
* | WIP: pickle: PluginContext, ElementFactory, SourceFactory | Angelos Evripiotis | 2019-05-23 | 4 | -10/+40 |
| | | | | | | | Make PluginContext picklable by passing down unique identifiers that can used to reconstruct them afterwards. Clear out the 'types' cache, we'll have to build it up again on-demand. | ||||
* | WIP: pickle: Context: no _message_handler | Angelos Evripiotis | 2019-05-23 | 1 | -0/+13 |
| | |||||
* | WIP: pickle: _{artifact,source}cache: __getstate__ no elements | Angelos Evripiotis | 2019-05-23 | 2 | -0/+12 |
| | |||||
* | WIP: spawn: can't use job result yet | Angelos Evripiotis | 2019-05-23 | 1 | -2/+3 |
| | |||||
* | WIP: spawn: use multiprocessing.Manager | Angelos Evripiotis | 2019-05-23 | 2 | -9/+16 |
| | | | | | Note that the queue changes went into 4d0a2d60c6ac01695b39871002d990646c6fc327 for pickling Job, ElementJob, etc. | ||||
* | WIP: spawn: no Plugin._lookup, class instance plugin map | Angelos Evripiotis | 2019-05-23 | 1 | -4/+4 |
| | |||||
* | WIP: spawn: no _is_main_process | Angelos Evripiotis | 2019-05-23 | 1 | -1/+3 |
| | |||||
* | jobs/job: send ChildJob the context, not scheduler | Angelos Evripiotis | 2019-05-23 | 1 | -6/+6 |
| | | | | | | | Instead of passing the whole scheduler to the ChildJob, only pass the part that is used - the context. Reducing the amount of shared state makes it easier to follow what's going on, and will make it more economical to move to away from the 'fork' model later. | ||||
* | spawn: split jobs into parent and child | Angelos Evripiotis | 2019-05-23 | 4 | -64/+153 |
| | | | | | | | | | | Make it a bit clearer what happens in which process by splitting out a 'ChildJob', which encapsulates the work that will happen in the child process. This also makes it possible to control what will be transferred to the child process, which is very useful for adding support for the 'spawn' method of creating child processes as opposed to the 'fork' method. | ||||
* | jobs/job: Add a fullstop to Job explanation | Angelos Evripiotis | 2019-05-23 | 1 | -1/+1 |
| | |||||
* | jobs: refactor, use new set_message_unique_idaevri/set_message_unique_id | Angelos Evripiotis | 2019-05-23 | 3 | -26/+43 |
| | | | | | | | | | | | Ease the burden on subclasses of Job slightly, by providing a new set_message_unique_id() method. It ensures that created Message instances will use that id. This removes the need to override the message() method, so it is no longer in the 'abstract method' section. Enable callers to Job's message() method to override the 'unique_id'. | ||||
* | Merge branch 'aevri/mv_job_parent_above_child' into 'master' | bst-marge-bot | 2019-05-22 | 1 | -131/+131 |
|\ | | | | | | | | | _scheduler/jobs/job: mv _parent* above _child* See merge request BuildStream/buildstream!1349 | ||||
| * | _scheduler/jobs/job: mv _parent* above _child* | Angelos Evripiotis | 2019-05-22 | 1 | -131/+131 |
|/ | | | | | | | | Move the parent-specific methods above the child-specific methods. This makes slightly more sense chronologically, as the parent creates the child. It will also make diffs cleaner when splitting parent and child into separate classes. | ||||
* | Merge branch 'aevri/fix_logging_regex_test' into 'master' | Angelos Evripiotis | 2019-05-22 | 1 | -2/+13 |
|\ | | | | | | | | | tests/frontend/logging.py: fix error message regex See merge request BuildStream/buildstream!1348 | ||||
| * | tests/frontend/logging.py: fix error message regex | Angelos Evripiotis | 2019-05-22 | 1 | -2/+13 |
|/ | | | | | | | | | | | This regex was not matching, and therefore the assert was not doing anything. Fix the regex to match BuildStream's current output. Add a check to make sure that we get exactly the number of expected matches. This means we get an obvious error if the regex stops matching again. | ||||
* | Merge branch 'chandan/src-directory' into 'master' | Chandan Singh | 2019-05-21 | 250 | -51/+52 |
|\ | | | | | | | | | | | | | Move source from 'buildstream' to 'src/buildstream' Closes #1009 See merge request BuildStream/buildstream!1322 | ||||
| * | CONTRIBUTING.rst: Update path to BuildStream source files | Chandan Singh | 2019-05-21 | 1 | -2/+2 |
| | | |||||
| * | .gitlab-ci.yml: Fix source path for analysis jobs | Chandan Singh | 2019-05-21 | 1 | -6/+6 |
| | | | | | | | | | | Since the `buildstream` module now lives inside `src` directory, also update the paths that we give to `radon`. | ||||
| * | .gitattributes: Update path to buildstream/_version.py | Chandan Singh | 2019-05-21 | 1 | -1/+1 |
| | | | | | | | | | | This file has been moved under `src` so update the `.gitattributes` entry accordingly. | ||||
| * | .coveragerc: Fix coverage reporting after move to src directorychandan/src-directory | Chandan Singh | 2019-05-21 | 1 | -3/+1 |
| | | | | | | | | | | | | | | | | | | * `include` directive is unnecessary as all of `buildstream` is already included, so remove it. * Having `buildstream/buildstream` in `paths` confuses `coverage combine` as it tries to insert `src/buildstream` in the path twice in that case. | ||||
| * | tests: Fix import order of buildstream and tests modules | Chandan Singh | 2019-05-21 | 4 | -7/+9 |
| | | | | | | | | | | | | | | | | Now that the `buildstream` module is inside `src` directory, `pylint` treats `buildstream` as a third party module inside `tests`. As such, it wants the imports from `buildstream` to be placed before imports from `tests`. Adopt this style to fix the lint errors, which is probably also good for readability. | ||||
| * | Move source from 'buildstream' to 'src/buildstream' | Chandan Singh | 2019-05-21 | 243 | -33/+34 |
|/ | | | | | | This was discussed in #1008. Fixes #1009. | ||||
* | Merge branch 'chandan/coverage-doesnt-need-deps' into 'master' | Chandan Singh | 2019-05-21 | 1 | -2/+1 |
|\ | | | | | | | | | tox.ini: Coverage does not need module installed See merge request BuildStream/buildstream!1347 | ||||
| * | tox.ini: Coverage does not need module installed | Chandan Singh | 2019-05-21 | 1 | -2/+1 |
|/ | | | | | Coverage does not need the module, or its dependencies, to be installed. Save time by not installing them extraneously. | ||||
* | Merge branch 'jonathan/cached-to-artifact' into 'master' | Jonathan Maw | 2019-05-21 | 2 | -32/+41 |
|\ | | | | | | | | | | | | | Move Element.__*cached variable to Artifact class Closes #1015 See merge request BuildStream/buildstream!1325 | ||||
| * | Delegate storage of cached state to the Artifact class | Jonathan Maw | 2019-05-21 | 2 | -32/+41 |
|/ | | | | | This commit also removes Element.__is_cached because it doesn't seem to serve a purpose. | ||||
* | Merge branch 'danielsilverstone-ct/classmethod-inits' into 'master' | Tom Pollard | 2019-05-20 | 3 | -62/+77 |
|\ | | | | | | | | | Make various Element/Source init helpers @classmethod to clarify data flow See merge request BuildStream/buildstream!1346 | ||||
| * | {meta,}element.py: Move is_junction into MetaElementdanielsilverstone-ct/classmethod-inits | Daniel Silverstone | 2019-05-17 | 2 | -10/+10 |
| | | | | | | | | | | | | | | | | To reduce the `kind == "junction"` stuff all over Element's init helpers, move the `is_junction` logic into `MetaElement` to clarify things. Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk> |