Commits on Source (50)
-
Fixes #755
-
-
-
-
Valentin David authored
-
Javier Jardón authored
Run tests on aarch64 Closes #369 and #755 See merge request !948
-
richardmaw-codethink authored
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.
-
richardmaw-codethink authored
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 #286
-
richardmaw-codethink authored
-
richardmaw-codethink authored
-
richardmaw-codethink authored
Distinguish between bubblewrap sandboxing failure and command failure Closes #286 See merge request !868
-
Decrease uncertainty around whether unit tests are welcome in the project or not.
-
Jürg Billeter authored
contributing: add guidance on unit tests See merge request !943
-
_context.py: Add pull_buildtrees global user context, the default of which is set to False via the addition of pull-buildtrees to userconfig.yaml cache group. _frontend/app.py & cli.py: Add --pull-buildtrees as a bst main option, which when passed will override the default or user defined context for pull_buildtrees. tests/completions/completions.py: Update for the added flag.
-
The addition of cached build trees being included in element artifacts has led to mostly redundant download overheads when pulling from a remote artifact server. As such the default behaviour of pull shouldn't fetch the build tree object if available. element.py: extend relevant pull logic for specified subdir consideration and ensure push logic does not lead to partial artifact pushes. Change assumption that the buildtree can be extracted if artifact is cached. __cached_buildtree() and __pull_directories() helpers added. _artifactcache/: artifactcache.py & cascache.py inclusion of helper functions for subdir artifact checking & fetching, fetch logic extended to only pull required artifact directories. extract & checkout updated to handle full/partial operation. tests/: addition of integration test pullbuildtrees.py, buildtrees.py adapted cli options, testutils/artifactshare.py has_artifact changed to return artifact digest on true condition.
-
Jürg Billeter authored
Don't pull artifact buildtrees by default See merge request !786
-
Benjamin Schubert authored
In some virtual environments, we might not have the binary with the exact python version, which would lead the current pip plugin to fail to find a working pip version. This adds "python" at the start of the list of valid python versions
-
Benjamin Schubert authored
plugins/sources/pip.py: also look for python version named "python" Closes #758 See merge request !942
-
Previously the result of the first call in test_build_track was not checked to be successful, which would lead to potential erros later on that were hard to debug. Let's check it everytime
-
According to the documentation (https://www.unix.com/man-page/POSIX/3posix/rename/), when the directory already is there, either EEXIST or ENOTEMPTY could be thrown. Previously only ENOTEMPTY was checked. Done: - Separated the move into its own function - Check for both errors - Create unit tests for it, covering most test cases
-
Moving atomically a file/directory can be tricky since different errors might be raised for the same underlying problem. Having a utility function to reduce this discrepancies will help in ensuring we have correct behavior
-
-
This uses move_atomic insteand of the manual os.rename and manual error checking and throws a SourceError for consistency with other modules.
-
Benjamin Schubert authored
Fix os.rename in git source element to correctly handle error codes See merge request !938
-
Currently, `Pipeline.assert_consistent()` prints an error message like the one below when certain elements have inconsistent sources: ``` ... Element: hello.bst is inconsistent Source tar source at hello.bst [line 16 column 2] is missing ref ... ``` Drop the word "Source" from the beginning of the message as "Source <source-kind> source ..." is kind of awkward to read.
-
As discussed in https://mail.gnome.org/archives/buildstream-list/2018-September/msg00064.html, add `bst source-checkout` command. This will allow users to checkout sources for a given target. * _frontend/cli.py: Add source-checkout command * _pipeline.py: Add assert_sources_cached() method * _stream.py: Add source_checkout method, abstract out __check_location_writable() method that used to part of checkout()
-
Chandan Singh authored
Add `bst source-checkout` command See merge request !820
-
cmake sometimes misinterprets relative paths as relative to the current directory if this is not specified. See freedesktop-sdk/freedesktop-sdk#431 adjust tests/format/variables.py accordingly.
-
Valentin David authored
plugins/elements/cmake.yaml: always specify variable types Closes #761 See merge request !947
-
Benjamin Schubert authored
Sandbox errors (like missing host tools) are dependent on the host system and rarely on what is actually done. It is therefore better to not cache them as they are subject to change between two runs. Also add test to ensure sandbox failure are not cached
-
Benjamin Schubert authored
Reverse the way we were handling caching by only caching when we know it's a problem with the build or the build is a success in order not to cache transient errors.
-
Benjamin Schubert authored
Don't cache sandbox failures Closes #727 See merge request !895
-
Jonathan Maw authored
i.e. with a given directory and filename, check parent directories until either a directory with the filename is found, or you reach the root of the filesystem.
-
Jonathan Maw authored
WorkspaceLocal contains all the information needed to generate data that's stored within the workspace. Currently this is just a list of project directories.
-
Jonathan Maw authored
-
Jonathan Maw authored
-
Jonathan Maw authored
-
Jonathan Maw authored
-
Jonathan Maw authored
-
Jonathan Maw authored
-
Jonathan Maw authored
-
Jonathan Maw authored
cli: Interactively warn if the user is trying to close the workspace they're using to load the project This involves changes in: * _stream.py: * Add the helper Stream.workspace_is_required() * cli.py: * If buildstream is invoked interactively, prompt the user to confirm that they want to close the workspace they're using to load this project.
-
Jonathan Maw authored
--force will skip confirmation prompts, and removing the workspace you're currently using to load the project will fail without "--force".
-
Jonathan Maw authored
-
Jonathan Maw authored
-
Jonathan Maw authored
-
Jonathan Maw authored
I am not sure if this is worth doing, as it can only guess correctly if you specify neither the element, nor the commands. If you don't specify the element, but do specify the commands, buildstream gets very confused, even if you use "--" to separate the commands.
-
Jonathan Maw authored
This is less than ideal, because the usage string thinks that LOCATION is an optional argument now
-
Jonathan Maw authored
closing workspaces is going to need special treatment when multiple projects open the same workspace. Also, it is currently a nuisance when you reset the workspace you're currently in, because that deletes the directory you're in, requiring you to `cd $CWD`. I do not know a good solution to this, given workspace commands can be called from anywhere inside the workspace, so it's not simply a matter of not deleting the workspace dir.
-
Jonathan Maw authored
I'm not sure source-bundle is working correctly, but I don't think it's my changes which are causing it to behave oddly.
Showing
- .gitlab-ci.yml 21 additions, 7 deletions.gitlab-ci.yml
- CONTRIBUTING.rst 18 additions, 0 deletionsCONTRIBUTING.rst
- NEWS 12 additions, 2 deletionsNEWS
- buildstream/_artifactcache/artifactcache.py 28 additions, 4 deletionsbuildstream/_artifactcache/artifactcache.py
- buildstream/_artifactcache/cascache.py 66 additions, 22 deletionsbuildstream/_artifactcache/cascache.py
- buildstream/_context.py 13 additions, 3 deletionsbuildstream/_context.py
- buildstream/_frontend/app.py 20 additions, 2 deletionsbuildstream/_frontend/app.py
- buildstream/_frontend/cli.py 124 additions, 21 deletionsbuildstream/_frontend/cli.py
- buildstream/_pipeline.py 28 additions, 1 deletionbuildstream/_pipeline.py
- buildstream/_platform/linux.py 5 additions, 20 deletionsbuildstream/_platform/linux.py
- buildstream/_project.py 28 additions, 11 deletionsbuildstream/_project.py
- buildstream/_site.py 21 additions, 0 deletionsbuildstream/_site.py
- buildstream/_stream.py 123 additions, 27 deletionsbuildstream/_stream.py
- buildstream/_workspaces.py 165 additions, 1 deletionbuildstream/_workspaces.py
- buildstream/data/userconfig.yaml 3 additions, 0 deletionsbuildstream/data/userconfig.yaml
- buildstream/element.py 222 additions, 133 deletionsbuildstream/element.py
- buildstream/plugins/elements/cmake.yaml 1 addition, 1 deletionbuildstream/plugins/elements/cmake.yaml
- buildstream/plugins/sources/git.py 9 additions, 14 deletionsbuildstream/plugins/sources/git.py
- buildstream/plugins/sources/pip.py 8 additions, 7 deletionsbuildstream/plugins/sources/pip.py
- buildstream/sandbox/_sandboxbwrap.py 49 additions, 20 deletionsbuildstream/sandbox/_sandboxbwrap.py