summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* _artifact: rm unused _artifacts memberaevri/rm_artifactsAngelos Evripiotis2019-07-091-1/+0
|
* Merge branch 'aevri/win32_tempfilename' into 'master'bst-marge-bot2019-07-092-6/+65
|\ | | | | | | | | _artifact: use win32-compatible named temp file See merge request BuildStream/buildstream!1440
| * _artifact.py: use utils._tempnamedfile_nameAngelos Evripiotis2019-07-091-4/+3
| | | | | | | | | | We are only using the filename of the temporary file here, so use the wrapper for this use-case.
| * utils: add _tempnamedfile_name for win32 happinessAngelos Evripiotis2019-07-091-0/+60
| | | | | | | | | | | | | | | | Avoid a restriction of Windows that prevents us from using both the file descriptor and the file name of tempfile.NamedTemporaryFile. Provide a wrapper that only returns the temporary filename, and makes it easier to be windows-compatible.
| * utils: fix yield type of _tempnamedfileAngelos Evripiotis2019-07-091-1/+1
| |
| * utils: indent 'with' continuation lineAngelos Evripiotis2019-07-091-1/+1
|/
* Merge branch 'jjardon/aarch64_fedora30' into 'master'bst-marge-bot2019-07-091-8/+2
|\ | | | | | | | | .gitlab-ci.yml: Use fedora30 for aarch64 overnigth tests See merge request BuildStream/buildstream!1327
| * .gitlab-ci.yml: Use fedora30 for aarch overnigth testsjjardon/aarch64_fedora30Javier Jardón2019-07-091-8/+2
|/
* Merge branch 'juerg/yaml-synthetic-file-index' into 'master'bst-marge-bot2019-07-081-2/+2
|\ | | | | | | | | | | | | _yaml.pyx: Fix file index checks for synthetic nodes Closes #1051 See merge request BuildStream/buildstream!1457
| * _yaml.pyx: Fix file index checks for synthetic nodesjuerg/yaml-synthetic-file-indexJürg Billeter2019-07-081-2/+2
|/ | | | Fixes #1051.
* Merge branch 'raoul/1038-source-cache-proto' into 'master'bst-marge-bot2019-07-0813-66/+662
|\ | | | | | | | | | | | | Proto based source cache service Closes #1038 See merge request BuildStream/buildstream!1435
| * Source cache uses new proto methodsRaoul Hidalgo Charman2019-07-087-56/+212
| | | | | | | | | | | | | | | | | | This changes the location of source refs from `cache/cas/refs` to `cache/sources_protos` and fixes tests that looked in the old reference place. Source cache now uses the new protocol buffer and grpc methods defined, for storing locally, and pushing and pulling to remotes. Part of #1038
| * capabilities: Expand to include source serviceRaoul Hidalgo Charman2019-07-083-9/+66
| | | | | | | | Part of #1038
| * casserver.py: Add source serviceRaoul Hidalgo Charman2019-07-081-1/+39
| | | | | | | | Part of #1038
| * protos: Update generated grpc filesRaoul Hidalgo Charman2019-07-082-0/+284
| | | | | | | | Part of #1038
| * Add new source protoRaoul Hidalgo Charman2019-07-081-0/+61
|/ | | | Part of #1038
* 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