Commits on Source (58)
-
Jonathan Maw authored
We shouldn't need it to persist now that we cache failed build dirs. This change breaks the test `tests/integration/shell.py::test_sysroot_workspace_visible`. I can no longer see a use-case for this test. AIUI, it tested that the failed build sysroot stored in the builddir has the workspace's files in, despite the workspace being unmounted. I believe this behaviour is made redundant by cached buildtrees. This fixes part of #539
-
Jonathan Maw authored
This includes changes in app.py: * Interactive failure shell no longer uses the failed build sysroot, defaulting to the cached build tree. Changes in element.py are: * Errors caused by building don't store the failed build sysroot, instead storing that a sandbox can be created to debug the error. * When staging sources, will stage the element's cached build tree if it exists. Changes in _exceptions.py: * BstError.sandbox is now a flag of whether a sandbox can be opened up to debug the error. Changes in widget.py: * Don't try to print any information about the sandbox. Changes in _message.py: * Fix documentation so Message.sandbox is not a directory any more. This is part of #539
-
Jonathan Maw authored
-
Jonathan Maw authored
This is related to #539
-
Jonathan Maw authored
-
Jonathan Maw authored
i.e. instead of taking a directory that must contain "root" and "scratch", and treating "root" as the root, use the directory directly. In element.py: * __sandbox takes the `bare_sandbox` arg, to pass into the sandbox's constructor In sandbox.py: * If bare_sandbox, `_root` is the passed-in directory, and `__scratch` is None. * Trying to use `__scratch` when bare_sandbox is True is a bug. In _mount.py: * Don't get the value of `__scratch` if it's not needed. This is part of #539
-
Jonathan Maw authored
-
Jonathan Maw authored
This is related to #539
-
Jonathan Maw authored
Jonathan/debug remote failed builds See merge request !869
-
-
Tristan Van Berkom authored
_frontend/app.py: Set correct element-path in interactive bst-init See merge request !912
-
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
-
Benjamin Schubert authored
Remove dependency on pytest-runner See merge request !886
-
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
-
Tristan Van Berkom authored
BREAK: manual.yaml: don't set any default env vars Closes #718 See merge request !916
-
Daniel Silverstone authored
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>
-
Tristan Van Berkom authored
_yaml.py: Implement `get()` for `ChainMap` See merge request !919
-
-
-
Chandan Singh authored
plugins/sources/pip.py: Accomodate characters '-','.','_' for packages See merge request !914
-
Jürg Billeter authored
Fixes: 825963b5 ("element: Make "--sysroot" take a bare directory")
-
Jürg Billeter authored
element.py: Pass bare_directory also to SandboxRemote() See merge request !928
-
Valentin David authored
Issue happens with sourceware.org server. Fixes #742
-
Javier Jardón authored
Use less fetchers in overnight build to work-around limitations from servers. Closes #742 See merge request !929
-
"_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.
-
richardmaw-codethink authored
dev-requirements: Update pytest dependency to 3.8 See merge request !930
-
Jürg Billeter authored
Get the artifact cache from the context instead.
-
Jürg Billeter authored
-
Jürg Billeter authored
-
Jürg Billeter authored
-
Jürg Billeter authored
-
Jürg Billeter authored
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.
-
Jürg Billeter authored
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.
-
Jürg Billeter authored
Split up artifact cache and CAS cache Closes #659 See merge request !922
-
-
-
richardmaw-codethink authored
Fix issue with _pretty_size with large numbers of bytes See merge request !799
-
Jim MacArthur authored
Replaces the custom one which was erroneously added during development. Fixes #746.
-
Jim MacArthur authored
_sandboxremote.py: Use the standard SandboxError Closes #746 See merge request !931
-
-
-
-
richardmaw-codethink authored
Update our instructions/examples regarding how we declare remote caches See merge request !932
-
Jim MacArthur authored
There are arguments for and against using onerror - see issue #735 for details.
-
Jim MacArthur authored
Use _force_rmtree instead of custom code. Closes #735 See merge request !927
-
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
-
richardmaw-codethink authored
Fix cache corruption by scripts when layout and integration commands are used Closes #749 See merge request !934
-
richardmaw-codethink authored
-
richardmaw-codethink authored
This commit introduces BST_GRANULAR_STAGE as a compatibility flag, so Elements can assert that calling stage_dependency_artifacts, integrate_dependencies and post_integration_staging is equivalent to calling stage. This will be needed to implement staging multiple elements, since the integration commands for all elements need to be called after all dependencies are staged.
-
richardmaw-codethink authored
This makes it prefer to call stage_dependency_artifacts, integrate_dependencies and post_integration_staging in-turn if BST_GRANULAR_STAGE is set, so the implementation of Element.stage may be omitted. The prepare_sandbox implementation looks a little convoluted because for Scope.BUILD and self.BST_GRANULAR_STAGE we prefer to run the granular methods, but we also run most of them for Scope.RUN except the extra parts of stage() that were post-integration.
-
richardmaw-codethink authored
This makes the __layout check per-method and makes ScriptElement.stage call the methods in turn. stage_dependency_artifacts falls-back to the default implementation for everything except Scope.BUILD since Element.stage was only called for Scope.BUILD, so layout handling shouldn't be consulted for other scopes for compatibility with existing behaviour.
-
richardmaw-codethink authored
This is mostly just marking which elements work as expected from changes to their base class. Junction and Filter elements expect overriding stage to be sufficient to prevent it doing anything in those contexts, and since Element.stage is going to be hanging around there's no pressing need to port everything.
-
richardmaw-codethink authored
There's redundancy in pre-staging sandbox creation logic with Element._sandbox doing something similar, but hopefully not too much.
-
richardmaw-codethink authored
-
richardmaw-codethink authored
-
richardmaw-codethink authored
-
richardmaw-codethink authored
-
richardmaw-codethink authored
Showing
- .gitlab-ci.yml 6 additions, 0 deletions.gitlab-ci.yml
- NEWS 18 additions, 0 deletionsNEWS
- buildstream/_artifactcache/artifactcache.py 286 additions, 60 deletionsbuildstream/_artifactcache/artifactcache.py
- buildstream/_artifactcache/cascache.py 224 additions, 313 deletionsbuildstream/_artifactcache/cascache.py
- buildstream/_artifactcache/casserver.py 9 additions, 11 deletionsbuildstream/_artifactcache/casserver.py
- buildstream/_context.py 1 addition, 2 deletionsbuildstream/_context.py
- buildstream/_elementfactory.py 2 additions, 3 deletionsbuildstream/_elementfactory.py
- buildstream/_exceptions.py 12 additions, 4 deletionsbuildstream/_exceptions.py
- buildstream/_frontend/app.py 2 additions, 2 deletionsbuildstream/_frontend/app.py
- buildstream/_frontend/cli.py 14 additions, 4 deletionsbuildstream/_frontend/cli.py
- buildstream/_frontend/widget.py 0 additions, 11 deletionsbuildstream/_frontend/widget.py
- buildstream/_loader/loader.py 1 addition, 1 deletionbuildstream/_loader/loader.py
- buildstream/_message.py 1 addition, 1 deletionbuildstream/_message.py
- buildstream/_pipeline.py 1 addition, 1 deletionbuildstream/_pipeline.py
- buildstream/_project.py 5 additions, 7 deletionsbuildstream/_project.py
- buildstream/_stream.py 109 additions, 7 deletionsbuildstream/_stream.py
- buildstream/_versions.py 1 addition, 1 deletionbuildstream/_versions.py
- buildstream/_yaml.py 6 additions, 0 deletionsbuildstream/_yaml.py
- buildstream/buildelement.py 4 additions, 3 deletionsbuildstream/buildelement.py
- buildstream/element.py 196 additions, 210 deletionsbuildstream/element.py
This diff is collapsed.
This diff is collapsed.