summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* tests/integration/sandbox-bwrap.py: Test distinguishing sandbox exit code ↵richardmaw/distinguish-sandboxing-build-failRichard Maw2018-11-084-1/+58
| | | | from command
* tests/testutils/site.py: Check for bwrap supporting --json-status-fdRichard Maw2018-11-081-1/+3
|
* buildstream/sandbox/_sandboxbwrap.py: Distinguish sandbox failure from ↵Richard Maw2018-11-082-20/+49
| | | | | | | | | | | command failure If `bwrap` fails to set up the sandbox and start the payload command it won't write an exit-code in --json-status-fd, so we can report if it was a sandboxing failure if we don't get exit-code status and a payload command failure if we do and it's non-zero. Closes https://gitlab.com/BuildStream/buildstream/issues/286
* _platform/linux.py: Move get_bwrap_version into _site.pyRichard Maw2018-11-082-20/+23
| | | | | It's inconvenient to have to create a Linux platform to parse the bwrap version and we want to get the version in a consistent manner.
* Merge branch 'valentindavid/fix-script-install-root' into 'master'Valentin David2018-11-086-2/+88
|\ | | | | | | | | | | | | Fix bug with root mounted as non-artifact in script plugin. Closes #756 and #749 See merge request BuildStream/buildstream!941
| * Fix bug with root mounted as non-artifact in script plugin.Valentin David2018-11-086-2/+88
|/ | | | The issue was introduced by 6ccfab0b1b25990e406446d5cbe5aee83a5e158a.
* Merge branch 'bschubert/tests-no-chroot-linux' into 'master'Benjamin Schubert2018-11-088-49/+134
|\ | | | | | | | | | | | | test behavior when there is no sandbox on Linux Closes #696 and #736 See merge request BuildStream/buildstream!921
| * Test that helpful messages are raised when missing dependenciesBenjamin Schubert2018-11-085-1/+97
| | | | | | | | | | This adds a `reason` to the SandboxEror thrown in sandboxdummy to be able to understand where the error comes from
| * conftest.py: Ensure platform is not maintained between testsBenjamin Schubert2018-11-081-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | This removes the `_instance` on the platform object that we use for caching and not recreating the object everytime at the start of every test. This is to ensure our tests share the least amount of state. The performance penalty is from 5 to 10% accross the whole test suite. The readings were done 5 times for each before and after the change and on the same computer.
| * Move bwrap checks in platform/linux.pyBenjamin Schubert2018-11-082-48/+30
|/ | | | | | | | Remove the bwraps checks from _site.py and put them in platform.linux which is the only place where they are run. This allows the removal of a double level of caching, making reasoning about tests easier
* Merge branch 'valentindavid/fix-recursive-strip-debug' into 'master'Valentin David2018-11-084-3/+8
|\ | | | | | | | | | | | | Fix infinite recursion in default strip debug command Closes #645 See merge request BuildStream/buildstream!918
| * Fix infinite recursion in default strip debug commandValentin David2018-11-084-3/+8
|/ | | | Fixes #645.
* Merge branch 'valentindavid/script-artifact-corruption' into 'master'richardmaw-codethink2018-11-076-7/+70
|\ | | | | | | | | | | | | Fix cache corruption by scripts when layout and integration commands are used Closes #749 See merge request BuildStream/buildstream!934
| * Fix cache corruption by scripts when layout and integration commands are usedValentin David2018-11-076-7/+70
|/ | | | | | | | Root directory was marked as a non-artifact mount, so not using SafeHardLink. However integration commands executed with write access to the root directory. Fixes #749
* Merge branch 'jmac/make_writable_combination' into 'master'Jim MacArthur2018-11-071-10/+3
|\ | | | | | | | | | | | | Use _force_rmtree instead of custom code. Closes #735 See merge request BuildStream/buildstream!927
| * element.py: Use _force_rmtree instead of custom code.jmac/make_writable_combinationJim MacArthur2018-11-071-10/+3
|/ | | | | There are arguments for and against using onerror - see issue #735 for details.
* Merge branch 'jennis/docs_patch' into 'master'richardmaw-codethink2018-11-073-67/+81
|\ | | | | | | | | Update our instructions/examples regarding how we declare remote caches See merge request BuildStream/buildstream!932
| * using_configuring_artifact_server.rst: Remove examples and redirect to user ↵James Ennis2018-11-071-47/+7
| | | | | | | | config/project config
| * format_project.rst: Update instructions regarding how we declare remote ↵James Ennis2018-11-071-5/+20
| | | | | | | | caches in project.conf
| * using_config.rst: Update our instructions for how we declare caches in user ↵James Ennis2018-11-072-15/+54
|/ | | | config
* Merge branch 'jmac/remote-sandbox-errors' into 'master'Jim MacArthur2018-11-061-4/+1
|\ | | | | | | | | | | | | _sandboxremote.py: Use the standard SandboxError Closes #746 See merge request BuildStream/buildstream!931
| * _sandboxremote.py: Use the standard SandboxError.jmac/remote-sandbox-errorsJim MacArthur2018-11-061-4/+1
|/ | | | | Replaces the custom one which was erroneously added during development. Fixes #746.
* Merge branch 'Qinusty/unit-test-utils' into 'master'richardmaw-codethink2018-11-063-3/+78
|\ | | | | | | | | Fix issue with _pretty_size with large numbers of bytes See merge request BuildStream/buildstream!799
| * Add regression test for _pretty_sizeJosh Smith2018-11-062-0/+74
| |
| * utils: Fix _pretty_size() for sizes > 1024TJosh Smith2018-11-061-3/+4
|/
* Merge branch 'juerg/cas' into 'master'Jürg Billeter2018-11-0514-429/+572
|\ | | | | | | | | | | | | Split up artifact cache and CAS cache Closes #659 See merge request BuildStream/buildstream!922
| * Split up artifact cache and CAS cacheJürg Billeter2018-11-059-403/+550
| | | | | | | | | | | | | | | | This changes CASCache from a subclass to a delegate object of ArtifactCache. As the lower layer, CASCache no longer deals with elements or projects. Fixes #659.
| * element.py: Do not include type name of artifact cache in cache keyJürg Billeter2018-11-051-1/+1
| | | | | | | | | | | | | | The artifact cache backend does not affect build outputs and we anyway no longer have pluggable artifact cache backends. This hardcodes CASCache instead of removing the entry completely to avoid cache key changes.
| * _project.py: Remove unused artifacts parameter from load_elements()Jürg Billeter2018-11-054-9/+8
| |
| * element.py: Remove unused artifacts parameter from _new_from_meta()Jürg Billeter2018-11-053-6/+5
| |
| * _project.py: Remove unused artifacts parameter from create_element()Jürg Billeter2018-11-052-3/+2
| |
| * _elementfactory.py: Remove unused artifacts parameter from create()Jürg Billeter2018-11-052-4/+3
| |
| * element.py: Remove artifacts parameter from constructorJürg Billeter2018-11-052-3/+3
|/ | | | Get the artifact cache from the context instead.
* Merge branch 'richardmaw/pytest-dep-update' into 'master'richardmaw-codethink2018-11-051-1/+1
|\ | | | | | | | | dev-requirements: Update pytest dependency to 3.8 See merge request BuildStream/buildstream!930
| * dev-requirements: Update pytest dependency to 3.8Richard Maw2018-11-051-1/+1
|/ | | | | "_frontend/app.py: Set correct element-path in interactive bst-init" added a dependency on the tmp_path test fixture, which was added by 3.8.
* Merge branch 'valentindavid/limit_fetchers_in_overnight_build' into 'master'Javier Jardón2018-11-051-0/+6
|\ | | | | | | | | | | | | Use less fetchers in overnight build to work-around limitations from servers. Closes #742 See merge request BuildStream/buildstream!929
| * Use less fetchers in overnight build to work-around limitations from servers.Valentin David2018-11-051-0/+6
|/ | | | | | Issue happens with sourceware.org server. Fixes #742
* Merge branch 'juerg/remote-execution' into 'master'Jürg Billeter2018-11-051-0/+1
|\ | | | | | | | | element.py: Pass bare_directory also to SandboxRemote() See merge request BuildStream/buildstream!928
| * element.py: Pass bare_directory also to SandboxRemote()juerg/remote-executionJürg Billeter2018-11-031-0/+1
|/ | | | Fixes: 825963b5 ("element: Make "--sysroot" take a bare directory")
* Merge branch 'chiaratolentino/fix-pip-source-regex' into 'master'Chandan Singh2018-11-029-32/+203
|\ | | | | | | | | plugins/sources/pip.py: Accomodate characters '-','.','_' for packages See merge request BuildStream/buildstream!914
| * tests/integration/project/files: Remove pypi-repoctolentino82018-11-024-16/+0
| |
| * plugins/sources/pip.py: Accomodate characters '-','.','_' for packagesctolentino82018-11-025-16/+203
|/
* Merge branch 'danielsilverstone-ct/improve-chainmap-get' into 'master'Tristan Van Berkom2018-11-011-0/+6
|\ | | | | | | | | _yaml.py: Implement `get()` for `ChainMap` See merge request BuildStream/buildstream!919
| * _yaml.py: Implement `get()` for `ChainMap`Daniel Silverstone2018-11-011-0/+6
|/ | | | | | | | | | | | Since the core Python `ChainMap.get()` implements with: self[key] if key in self else default The double-chain-lookup is expensive. This simple change solves that for our ChainMap derived structure. As such it improves matters for #466 somewhat. Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
* Merge branch 'tristan/empty-manual-element' into 'master'Tristan Van Berkom2018-11-013-20/+7
|\ | | | | | | | | | | | | BREAK: manual.yaml: don't set any default env vars Closes #718 See merge request BuildStream/buildstream!916
| * BREAK: manual.yaml: don't set any default env varsAngelos Evripiotis2018-11-013-20/+7
|/ | | | | | | | | | | | | | | | Remove the 'MAKEFLAGS' and 'V' defaults. Now that there is a specialised 'make' element, these make-specific defaults don't make sense here. This element is meant to be a blank slate for folks to build on. Note that this is a breaking change, that will require some users to make changes to their .bst files if they are expecting these environment variable to be set. _versions.py: BST_FORMAT_VERSION bumped to 18. This fixes issue #718
* Merge branch 'bschubert/remove-pytest-runner' into 'master'Benjamin Schubert2018-11-011-1/+40
|\ | | | | | | | | Remove dependency on pytest-runner See merge request BuildStream/buildstream!886
| * Remove dependency on pytest-runnerBenjamin Schubert2018-11-011-1/+40
|/ | | | | | | | This includes a new command mimicking pytest-runner so that we can drop this dependency This was the only setup_requires dependency that we had and will make like easier for people behind proxies
* Merge branch 'chiaratolentino/bst-init-interactive-elementpath' into 'master'Tristan Van Berkom2018-11-012-1/+33
|\ | | | | | | | | _frontend/app.py: Set correct element-path in interactive bst-init See merge request BuildStream/buildstream!912
| * _frontend/app.py: Set correct element-path in interactive bst-initchiaratolentino/bst-init-interactive-elementpathctolentino82018-10-312-1/+33
|/