summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* element.py: Add BST_ALLOW_SHELL to improve errorsbecky/shell_launch_errorsRebecca Grayson2019-07-085-0/+11
|
* Merge branch 'shashwatdalal/make-magic-timestamp-public' into 'master'bst-marge-bot2019-07-084-11/+10
|\ | | | | | | | | `utils.py`: Make `magic_timestamp` a public variable See merge request BuildStream/buildstream!1369
| * utils.py: Make `magic_timestamp` a public variableshashwatdalal/make-magic-timestamp-publicShahwat Dalal2019-07-054-11/+10
|/ | | | | | | Some plugin elements, such as docker-element and tar-element, require to set `created` and/or `modified` meta-data fields. It would be nice to use `magic_timestamp` to ensure these fields are being set in a consistent and deterministic way.
* Merge branch 'aevri/messenger' into 'master'bst-marge-bot2019-07-0524-338/+365
|\ | | | | | | | | Extract 'Messenger' from 'Context' and use directly See merge request BuildStream/buildstream!1445
| * _messenger: clarify silent_nested behaviouraevri/messengerAngelos Evripiotis2019-07-051-6/+11
| | | | | | | | | | | | | | | | | | | | | | Change the argument name on the 'silence' context manager, to avoid the interpretation that non-nested messages may be silenced, or that it can 'un-silence' (it can't). Be more specific about what 'important' means w.r.t. messages. Require 'actually_silence' to be specified as a keyword, so that callsites are easier to understand.
| * _messenger: _message_depth -> _silence_scope_depthAngelos Evripiotis2019-07-051-17/+10
| | | | | | | | Replace the _message_depth list with an int, "_silence_scope_depth".
| * _messenger: use silence ctx, not *_message_depthAngelos Evripiotis2019-07-051-4/+2
| | | | | | | | | | Simplify by not calling _{push,pop}_message_depth outside of the silence context manager, let that do the work instead.
| * Remove unused Message.depth attributeAngelos Evripiotis2019-07-052-6/+0
| |
| * _messenger: refactor, pythonic _message_depthAngelos Evripiotis2019-07-051-9/+5
| | | | | | | | Use some Python features to make Messenger._message_depth a bit simpler.
| * job: only pass Messenger to child, not all ContextAngelos Evripiotis2019-07-051-6/+8
| | | | | | | | | | | | | | | | | | Reduce the amount of context shared with child jobs, by only sending the messenger portion of it rather than the whole thing. Also send the logdir. This also means that we will need to pickle less stuff when using the 'spawn' method of multi-processing, as opposed to the 'fork' method.
| * Refactor, use context.messenger directlyAngelos Evripiotis2019-07-0523-193/+62
| | | | | | | | | | | | Instead of having methods in Context forward calls on to the Messenger, have folks call the Messenger directly. Remove the forwarding methods in Context.
| * Refactor: message handlers take 'is_silenced'Angelos Evripiotis2019-07-0511-26/+36
| | | | | | | | | | | | | | | | Remove the need to pass the Context object to message handlers, by passing what is usually requested from the context instead. This paves the way to sharing less information with some child jobs - they won't need the whole context object, just the messenger.
| * _context:extract _messenger.Messenger from ContextAngelos Evripiotis2019-07-052-149/+309
|/ | | | | | | | | | | | | | | Separate out the responsibility of messaging from the rest of the Context object. This change removes some member variables and some code from member functions, but keeps the existing member functions. In later work we'll want things to use the Messenger directly, so we can remove some member functions too, and de-couple further. Update some comments to refer to the "Messenger API" instead of the "Context API" in the copied code. Fixup the arg documentation to timed_activity() while we're there.
* Merge branch 'aevri/smallerjobs2' into 'master'bst-marge-bot2019-07-047-34/+67
|\ | | | | | | | | _scheduler: don't pass whole queue to child job See merge request BuildStream/buildstream!1408
| * _scheduler: don't pass whole queue to child jobAngelos Evripiotis2019-07-047-32/+65
| | | | | | | | | | | | | | | | | | | | | | Stop passing the scheduler's job queue's across to child jobs, via the 'action_cb' parameter. Instead pass a module-level function, which will pickle nicely. This isn't much of a problem while we are in the 'fork' multiprocessing model. As we move towards supporting the 'spawn' model for win32, then we need to consider what we will be pickling and unpickling, to cross the process boundary.
| * _scheduler/./queue.py: remove unused 'e' varsAngelos Evripiotis2019-07-041-2/+2
|/
* Merge branch 'shashwatdalal/tar-file-extraction' into 'master'bst-marge-bot2019-07-043-4/+23
|\ | | | | | | | | | | | | utils.py: Change permissions for rootpath in `_force_rmtree` Closes #912 See merge request BuildStream/buildstream!1441
| * utils.py: Add write permission to root path in _force_rmtreeshashwatdalal/tar-file-extractionShahwat Dalal2019-07-043-4/+23
|/ | | | | This is needed in the case where the temp directory permissions are changed between creation and deletion.
* Merge branch 'juerg/sourcecache' into 'master'bst-marge-bot2019-07-032-4/+4
|\ | | | | | | | | element.py: Do not implicitly import sources into source cache See merge request BuildStream/buildstream!1446
| * element.py: Do not implicitly import sources into source cacheJürg Billeter2019-07-031-2/+2
| | | | | | | | This should always be handled by Element._fetch().
| * loader.py: Check source cache for subproject fetchingJürg Billeter2019-07-031-1/+1
| | | | | | | | | | | | | | | | If the junction source consistency is cached but the junction is not in the source cache, also use Stream.fetch_subprojects() to import sources into source cache instead of doing this implicitly in Element._stage_sources_at(). This is in preparation for buildbox-casd, which will disallow local CAS cache writes from the main process (gRPC).
| * element.py: Consider workspaced elements source_cached()Jürg Billeter2019-07-031-1/+1
|/ | | | | The sources of a workspaced element may be inconsistent. Do not try generating source cache keys.
* Merge branch 'aevri/context_nitpicks' into 'master'bst-marge-bot2019-07-022-7/+2
|\ | | | | | | | | Minor fixups in _context.py See merge request BuildStream/buildstream!1443
| * _context: rm stray break in comment blockaevri/context_nitpicksAngelos Evripiotis2019-07-021-1/+0
| |
| * _context: remove unused self._directoryAngelos Evripiotis2019-07-022-6/+2
|/
* Merge branch 'AlexFazakas/add-bst-init-argument' into 'master'bst-marge-bot2019-07-0228-89/+131
|\ | | | | | | | | | | | | Add bst init argument Closes #702 See merge request BuildStream/buildstream!1430
| * runcli.py: Don't set project to 'None'AlexFazakas2019-07-0228-89/+131
|/ | | | | | | Calling runcli with project set to None results in setting the directory to the string 'None'. Instead, only set it when the given project argument is not None.
* Merge branch 'tar-target-renaming' into 'master'bst-marge-bot2019-07-027-9/+132
|\ | | | | | | | | | | | | tar.py: Make link target renaming work between base-dirs Closes #1052 See merge request BuildStream/buildstream!1431
| * tar.py: Make link target renaming work between base-dirsTristan Maat2019-07-027-9/+132
|/ | | | Fixes #1052
* Merge branch 'aevri/set_resource_limits' into 'master'bst-marge-bot2019-07-022-13/+32
|\ | | | | | | | | platform: re-scope set_resource_limits See merge request BuildStream/buildstream!1419
| * platform: re-scope set_resource_limitsAngelos Evripiotis2019-07-022-13/+32
|/ | | | | | | | | | | | | Rename 'set_resource_limits' to 'maximize_open_file_limit', as this seems to more accurately reflect it's function. Remove unused flexibility from the implementation, to make it easier to understand. Simplify the Mac implementation, and add some explanation for the OPEN_MAX magic number. In later work we should remove the magic number. Import 'resource' late, which is not available on Windows.
* Merge branch 'aevri/cascache_nits' into 'master'bst-marge-bot2019-06-271-2/+5
|\ | | | | | | | | cascache.py: pick some nits See merge request BuildStream/buildstream!1433
| * cascache: add_object, assert path if link_directlyAngelos Evripiotis2019-06-271-0/+3
| |
| * cascache: refactor, rm some unused exception varsAngelos Evripiotis2019-06-271-2/+2
|/
* Merge branch 'juerg/source-checkout' into 'master'bst-marge-bot2019-06-2726-60/+74
|\ | | | | | | | | Fetch sources as needed for bst source checkout See merge request BuildStream/buildstream!1427
| * Regenerate man pagesJürg Billeter2019-06-2722-31/+65
| |
| * Fetch sources as needed for bst source checkoutJürg Billeter2019-06-274-29/+9
|/ | | | | This removes the --fetch option of bst source checkout, always enabling fetch support. This is in line with fetching subprojects as needed.
* Merge branch 'raoul/915-capabilities-service' into 'master'bst-marge-bot2019-06-2616-120/+252
|\ | | | | | | | | | | | | Capabilities service Closes #915 See merge request BuildStream/buildstream!1410
| * artifact.proto: Remove ArtifactStatus methodraoul/915-capabilities-serviceRaoul Hidalgo Charman2019-06-263-111/+4
| | | | | | | | | | | | Not needed now that capabilities service is used. Part of #915
| * _artifactcache.py: Use capabilities serviceRaoul Hidalgo Charman2019-06-261-6/+11
| | | | | | | | | | | | | | | | This is used in the remote initialisation to check that artifact service is supported. This should allow us to seperate the endpoints of different services more easily in future. Part of #915
| * casserver.py: Add buildstream capabilities serviceRaoul Hidalgo Charman2019-06-261-0/+17
| | | | | | | | Part of #915
| * protos: Update generated grpc filesRaoul Hidalgo Charman2019-06-2611-3/+197
| | | | | | | | Part of #915
| * buildstream.proto: Add capabilities serviceRaoul Hidalgo Charman2019-06-261-0/+23
|/ | | | Part of #915
* Merge branch 'chandan/fix-readme-badges' into 'master'alexfazakas/add-bst-init-argumentbst-marge-bot2019-06-261-2/+2
|\ | | | | | | | | | | | | README.rst: Fix path for badge images Closes #1056 See merge request BuildStream/buildstream!1422
| * README.rst: Fix path for badge imageschandan/fix-readme-badgesChandan Singh2019-06-261-2/+2
|/ | | | | | | | | | | These badges are not committed to `bst-1.2` branch and hence are not available on docs.buildstream.build website. As it was mentioned in the issue comments, the correct place to obtain these badges is always from the `master` branch, which is what the buildstream.gitlab.io/buildstream website corresponds to. Fixes #1056.
* Merge branch 'chandan/fix-egg-info-gitignore' into 'master'bst-marge-bot2019-06-261-1/+1
|\ | | | | | | | | .gitignore: Fix path of .egg-info See merge request BuildStream/buildstream!1420
| * .gitignore: Fix path of .egg-infochandan/fix-egg-info-gitignoreChandan Singh2019-06-261-1/+1
|/ | | | | | .egg-info directory is created next to setup.py and not inside the src directory, so restore its original path. This line was incorrectly modified as part of !1322.
* Merge branch 'jennis/do_not_leak_project_specific_remotes' into 'master'bst-marge-bot2019-06-2616-76/+42
|\ | | | | | | | | Do not leak subproject remotes See merge request BuildStream/buildstream!1416
| * _basecache.py: Remove duplicate logicJames Ennis2019-06-261-5/+1
| | | | | | | | | | | | project_overrides and project_extra_specs were moved in 24c0de16. However, their removal was accidentally reverted in f4dbce44. This patch removes the unnecessary code.
| * tests/artifactcache/junctions.py: Assert the default behaviourJames Ennis2019-06-261-1/+9
| | | | | | | | | | Assert that junction elements are pushed to a parent project's cache. This is the current default behaviour in BuildStream.