summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Adding timeout and retries to cascachecascache_timeoutsPhillip Smyth2018-10-091-10/+22
| | | | _artifactcache/cascache.py: Adding timeout and retries to server requests
* CONTRIBUTING.rst: Added a note that public API objects should be exposed ↵Tristan Van Berkom2018-10-081-0/+3
| | | | from __init__.py
* CONTRIBUTING.rst: Correcting `Context` example in the "imports" sectionTristan Van Berkom2018-10-081-2/+2
| | | | | | This example is very outdated and comes from pre 1.0 when the Context object was going to be public API. Just corrected the example made about imports to import the `Context` object from `._context` instead of `.context`.
* CONTRIBUTING.rst: Added section on file naming conventionTristan Van Berkom2018-10-081-0/+19
|
* CONTRIBUTING.rst: Added section about minimizing API surfacesTristan Van Berkom2018-10-081-8/+52
| | | | | And modified some titles so that the titles in CONTRIBUTING.rst actually follow the documentation guidelines for naming of section titles.
* Merge branch 'aevri/fixup-contributing-typos' into 'master'Angelos Evripiotis2018-10-071-1/+1
|\ | | | | | | | | contributing.rst: fix typos See merge request BuildStream/buildstream!865
| * contributing.rst: fix typoAngelos Evripiotis2018-10-071-1/+1
|/
* CONTRIBUTING.rst: Some fixes in grammer and minor correctionsTristan Van Berkom2018-10-071-75/+73
|
* CONTRIBUTING.rst: Updating CONTRIBUTING guidelinesTristan Van Berkom2018-10-061-168/+994
| | | | | | | | | | | | | | | | | | | | This is almost a complete rewrite of the CONTRIBUTING guide. * The patch submission guidelines have become less ambiguous and more strict * Some general restructuring and reordering of the file took place * The codeing guidelines have changed completely. o There is much less room for ambiguity here now o More emphasis on consistency in the codebase o Added some more abstract points which should be considered when writing and reviewing patches * The policy on public/private symbols has been greatly clarified * Added new section about adding new core plugins and what needs to be done as a consequence of that
* Merge branch 'juerg/remote' into 'master'Jonathan Maw2018-10-051-5/+8
|\ | | | | | | | | element.py: Prepare local sandbox for bst checkout and bst shell See merge request BuildStream/buildstream!860
| * element.py: Prepare local sandbox for bst checkout and bst shellJürg Billeter2018-10-051-5/+8
|/ | | | A remote execution sandbox is not suitable for these commands.
* Merge branch 'chandan/bst-docker-import' into 'master'Jonathan Maw2018-10-051-0/+102
|\ | | | | | | | | Add contrib script to generate Docker images from bst checkout See merge request BuildStream/buildstream!857
| * Add contrib script to generate Docker images from bst checkoutChandan Singh2018-10-051-0/+102
|/ | | | | | | | This script can be useful to generate a Docker image from `bst checkout` of an element as a single command. While this script does not eliminate the need for a proper Docker/OCI element plugin that would probably also support layering, it provides a cheap way to export the element into a Docker image.
* Merge branch 'valentindavid/rmtree_oserror' into 'master'Valentin David2018-10-041-1/+1
|\ | | | | | | | | | | | | Catch correct exception from shutil.rmtree Closes #153 See merge request BuildStream/buildstream!849
| * Catch correct exception from shutil.rmtreevalentindavid/rmtree_oserrorValentin David2018-10-041-1/+1
|/ | | | | | | | | | | | | Python documentation is not clear on what shutil.rmtree is supposed to raise. However from the source code, it is obvious that OSError are raised, but never shutil.Error. It is not easy to test in normal condition because issues happen usually in combination with a FUSE filesystem, a probably a race condition where `fstatat` returns an error just before the filesystem being unmounted. Fixes #153.
* Merge branch 'Qinusty/634-workspace-failed-builds' into 'master'Tristan Van Berkom2018-10-042-5/+29
|\ | | | | | | | | | | | | Do not save workspace on failed build Closes #634 See merge request BuildStream/buildstream!812
| * testing: Add regression test for workspace bugJosh Smith2018-10-041-1/+23
| |
| * element.py: Do not save workspace on failed buildJosh Smith2018-10-041-4/+6
|/ | | | | This fixes #634, BuildStream no longer saves workspace configuration on a failed build.
* Merge branch 'danielsilverstone-ct/bwrap-check-runtime-only' into 'master'Jürg Billeter2018-10-045-36/+53
|\ | | | | | | | | | | | | Make bwrap check runtime only Closes #644 See merge request BuildStream/buildstream!847
| * setup.py: Change bwrap assertion to a warningDaniel Silverstone2018-10-041-9/+11
| | | | | | | | | | | | | | | | | | | | Since there are use-cases where BuildStream could be installed onto systems which do not have BubbleWrap (e.g. for remote-build-only scenarios) it is not correct to assert a dependency on bwrap during installation. This patch makes the assertion a warning, and also clarifies the message somewhat. This should fix #644 Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
| * _site.py: Reduce complexity of bwrap version comparisonDaniel Silverstone2018-10-041-11/+1
| | | | | | | | | | | | | | | | Instead of an if/else ladder which is quite complex, this patch uses the fact that Python supports by-component tuple comparison to simply compare two (major, minor, patch) tuples Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
| * _site.py: Protect against failure running `bwrap --version`Daniel Silverstone2018-10-041-1/+5
| | | | | | | | | | | | | | | | On some potentially broken systems, running `bwrap --version` might fail with an error code. This patch corrects the oversight ensuring that we cleanly return False for version checking in such cases. Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
| * _platform/linux.py: Refactor checks for sandboxingDaniel Silverstone2018-10-041-14/+31
| | | | | | | | | | | | | | | | | | | | To better report issues in the absence of a suitable bwrap, or the FUSE devices, this refactors the checks for sandboxing in the Linux platform to cover the various possibilities. The reasons are then collated and passed to the dummy sandbox for later reporting to the user if a local build is attempted. Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
| * _platform/darwin.py: Give reason for use of dummy sandboxDaniel Silverstone2018-10-041-0/+3
| | | | | | | | | | | | | | | | | | Since Darwin is limited to the dummy sandbox for now due to OSXFUSE being unsupported as yet, and there being no suitable sandboxing option for use on OSX, give this as the reason so that it can be reported if the user attempts a local build. Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
| * sandbox/_sandboxdummy.py: Take a reason for useDaniel Silverstone2018-10-041-1/+2
|/ | | | | | | | | Since the SandboxDummy sandbox is only used in very specific circumstances and with good reason, this adjusts the SandboxDummy class to take a reason and to return it if `.run()` has to raise an exception because this is a dummy sandbox. Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
* Merge branch 'jmac/temporaries-inside-cachedir' into 'master'Jim MacArthur2018-10-031-4/+4
|\ | | | | | | | | Move the temporary staging directory to artifactdir See merge request BuildStream/buildstream!856
| * element.py: Put the temporary staging directory in artifactdirjmac/temporaries-inside-cachedirJim MacArthur2018-10-031-4/+4
|/
* Merge branch 'tristan/fix-cache-size-race' into 'master'Tristan Van Berkom2018-10-032-4/+8
|\ | | | | | | | | fix cache size race See merge request BuildStream/buildstream!854
| * utils.py: Document _get_dir_size() expectations.Tristan Van Berkom2018-10-031-0/+3
| | | | | | | | | | This function assumes that files do not disappear while walking the given directory.
| * _artifactcache/cascache.py: Don't create temporary files in the CAS storageTristan Van Berkom2018-10-031-1/+1
| | | | | | | | | | | | | | | | | | | | Use the designated tempdir when creating refs, we expect that temporary files are not created in the storage directory ever, they should be only ever created in the designated temporary directory. This fixes race conditions where utils._get_dir_size() throws an unhandled exception when attempting to stat the file which inadvertantly disappears.
| * utils.py: Give save_file_atomic() a tempdir argumentTristan Van Berkom2018-10-031-3/+4
|/ | | | Allow callers to decide where the temporary file will be created.
* Merge branch 'tristan/fix-double-terminate-prompt' into 'master'Tristan Van Berkom2018-10-031-0/+9
|\ | | | | | | | | | | | | _scheduler/scheduler.py: Ignore interrupt events while terminating. Closes #693 See merge request BuildStream/buildstream!852
| * _scheduler/scheduler.py: Ignore interrupt events while terminating.Tristan Van Berkom2018-10-031-0/+9
|/ | | | | | | | | For some reason, we now receive a SIGINT from the main loop even when the SIGINT occurred with the handler disconnected in an interactive prompt. This patch simply ignores any received SIGINT events from the main loop in the case that we are already in the process of terminating. This fixes issue #693
* Merge branch 'jonathan/source-mirror-project-refs' into 'master'Jonathan Maw2018-10-031-0/+76
|\ | | | | | | | | tests: Add regression test for mirroring with project.refs See merge request BuildStream/buildstream!823
| * tests: Add regression test for mirroring with project.refsJonathan Maw2018-10-031-0/+76
|/
* Merge branch 'tristan/fix-terminated-jobs' into 'master'Tristan Van Berkom2018-10-032-10/+22
|\ | | | | | | | | | | | | _scheduler: Fix bookkeeping of terminated jobs Closes #479 See merge request BuildStream/buildstream!850
| * _scheduler: Fix bookkeeping of terminated jobsTristan Van Berkom2018-10-032-10/+22
|/ | | | | | | | | | | * Enhanced the base Job class to bookkeep which jobs have been terminated, and to consider them as `skipped` when asked via the `skipped` property. * Enhanced the base Queue class to bookkeep the job statuses more carefully. This fixes #479
* Merge branch 'tristan/fix-status-messages' into 'master'Tristan Van Berkom2018-10-032-21/+49
|\ | | | | | | | | fix status messages See merge request BuildStream/buildstream!845
| * source.py: Silence messages while consuming source fetcherstristan/fix-status-messagesTristan Van Berkom2018-10-031-17/+37
| | | | | | | | | | | | | | | | | | The source fetchers might be a list or a generator, when it is a generator (like the git source does), then we want to ensure that we silence the status messages which might occur as a result of consuming a source fetcher from the generator. This fixes the logs to be less verbose.
| * git.py: Added timed activity around fetching, displaying the URL being fetched.Tristan Van Berkom2018-10-031-4/+12
|/ | | | This will take care of silencing the status messages while checking submodules.
* Merge branch 'juerg/dummy-sandbox' into 'master'Jürg Billeter2018-10-031-0/+4
|\ | | | | | | | | _platform/linux.py: Accept all configs for dummy sandbox See merge request BuildStream/buildstream!843
| * _platform/linux.py: Accept all configs for dummy sandboxJürg Billeter2018-10-031-0/+4
|/ | | | | | | If Sandbox.run() is never called, sandbox config is irrelevant. If it is called, the build will fail anyway with the dummy sandbox. This matches the logic in the Darwin platform.
* Merge branch 'docs_Search_not_working' into 'master'Phillip Smyth2018-10-021-1/+2
|\ | | | | | | | | | | | | Fixing: Search functionality in the Documentation has stopped working Closes #681 See merge request BuildStream/buildstream!848
| * Forcing CI to install Sphinx 1.7.9docs_Search_not_workingPhillip Smyth2018-10-021-1/+2
|/ | | | | | | .gitlab-ci.yml: forced pip3 install Sphinx 1.7.9 The theme we use in our docs "sphinx_rtd_theme" Does not support the latest version of Sphinx (>1.8) This results in search functionality failing
* Merge branch 'juerg/sandbox' into 'master'Jürg Billeter2018-10-021-9/+5
|\ | | | | | | | | sandbox/_sandboxremote.py: Use helpers to set up cwd and env See merge request BuildStream/buildstream!841
| * sandbox/_sandboxremote.py: Use helpers to set up cwd and envJürg Billeter2018-10-021-9/+5
|/ | | | This matches the other sandbox implementations.
* Merge branch 'juerg/cas-batch' into 'master'Jürg Billeter2018-10-012-6/+117
|\ | | | | | | | | | | | | CAS: Implement BatchUpdateBlobs support Closes #677 and #676 See merge request BuildStream/buildstream!839
| * _artifactcache/cascache.py: Use BatchUpdateBlobsJürg Billeter2018-10-011-4/+74
| | | | | | | | | | | | | | This uses BatchUpdateBlobs instead of individual blob upload to speed up artifact pushing, if the server supports it. Fixes #677.
| * _artifactcache/casserver.py: Implement BatchUpdateBlobsJürg Billeter2018-10-011-2/+43
|/ | | | Fixes #676.
* Merge branch 'tiagogomes/ci-minor-tweaks' into 'master'Tiago Gomes2018-10-011-5/+5
|\ | | | | | | | | Minor CI tweaks See merge request BuildStream/buildstream!842