Commits on Source (67)
-
_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
-
Chandan Singh authored
`bst source-checkout` command was recently added in !820. Add a NEWS entry for the new command.
-
Chandan Singh authored
NEWS: Add entry for the new source-checkout command See merge request !960
-
The Context was only used to obtain a reference to the CASCache and set the unused cas_directory field.
-
Jürg Billeter authored
The fake context did not set the cache quota, triggering an error. With CASCache now separate from ArtifactCache, we can instantiate a CASCache without context.
-
Jürg Billeter authored
-
Jürg Billeter authored
The default values are in userconfig.yaml, together with the documentation. The default values should not be duplicated in _context.py.
-
Jürg Billeter authored
_context.py: Drop duplicated default values for user configuration See merge request !953
-
Angelos Evripiotis authored
-
Angelos Evripiotis authored
Enable this option of 'terminate', which is mentioned in userconfig.yaml and handled in _frontend/app.py:_handle_failure(). It appears to have been left out of the valid_actions as an oversight. Originally introduced in 2622d5da
-
Angelos Evripiotis authored
Use a new helper function to simplify working with nodes that can only accept certain strings. This will be used when adding the prompt.* config options. In later work we can see if this function would be useful elsewhere, and could be added to '_yaml.py'.
-
Angelos Evripiotis authored
Provide an option in buildstream.conf to disable the 'Would you like to ...' prompt when we cannot resolve a project. Some users prefer not to be interrupted by such prompts, so pave the way to creating options to disable all those that might get in the way. Follow the example of the advice.* options 'git-config', and create a namespace for these UI options grouped by behaviour, rather than an over-reaching 'ui.*' namespace. In later work perhaps we'll also add 'advice.*' options. Add a NEWS item for this.
-
Angelos Evripiotis authored
Provide options in project.conf to disable the 'Are you sure ...' prompts when making destructive changes: - Add prompt.really-workspace-close-remove-dir - Add prompt.really-workspace-reset-hard Add a NEWS item for these.
-
Angelos Evripiotis authored
Add 'prompt.*' config options to buildstream.conf See merge request !887
-
-
Jürg Billeter authored
_sandboxremote.py: Add sigterm handler that sends CancelOperation Closes #725 See merge request !900
-
This patch ensures that we receive an appropriate error message if we specify an absolute path that leads within the project.
-
Jürg Billeter authored
Fix warning when using an absolute path which exists inside the project See merge request !956
-
Benjamin Schubert authored
-
Benjamin Schubert authored
This doesn't change the test behavior and enable for better composability of tests
-
Benjamin Schubert authored
This will allow for further de-duplication of work.
-
Benjamin Schubert authored
The unix-logs is always empty, there is therefore no reasons of keeping it there
-
Benjamin Schubert authored
This makes all tests use the same template, which makes reasoning about them simpler
-
Benjamin Schubert authored
-
Benjamin Schubert authored
This allows us to make sure that tests behave nicely while missing brwap and ostree.
-
Benjamin Schubert authored
This removes the need of having it synchronized in multiple places
-
Benjamin Schubert authored
Add tests for fedora with no bubblewrap available See merge request !949
-
Benjamin Schubert authored
This is to be coherent with the rest of the codebase
-
Benjamin Schubert authored
-
Benjamin Schubert authored
Followup on MR 938, addressing additional comments See merge request !958
-
Tom Pollard authored
create_pipeline was passing no config parameter to context.load, leading to _context.py loading in the host's buildstream user conf when running tests locally, potentially leading to unwanted errors.
-
Jürg Billeter authored
tests/plugin/pipeline.py: Avoid using host user conf See merge request !961
-
The Refactor now makes it possible to test for the forth coming multi element workspace open commands and to test for failure.
-
This is to update the workspace CLI to as agreed on the mailing list https://mail.gnome.org/archives/buildstream-list/2018-September/msg00046.html This patch also introduces the default workspace directory.
-
-
William Salmon authored
Updated Workspace CLI See merge request !897
-
Valentin David authored
-
Javier Jardón authored
Bump version of fd.o SDK and bst_external in overnight tests See merge request !962
-
Jim MacArthur authored
-
Jim MacArthur authored
Docs: Add remote execution architecture documentation. See merge request !923
-
Valentin David authored
f_bfree space might not be usable. In practice we see failures in big disks because f_bfree is over 2GB and f_bavail is 0. We get ENOSPC if writing on disk then.
-
Valentin David authored
We plan to make cache incomplete. That is some blobs are missing. For most of cases we will delete references when requested if they are incomplete. But there will be corner cases where objects are removed after the reference is requested.
-
Valentin David authored
-
Valentin David authored
The file is already a temporary file and does not need copy. ENOSPC is thrown during that copy in issue #609. Fixes #678.
-
Valentin David authored
This locks the temporary object file so that cleanup does not need to be done for every write.
-
Valentin David authored
This also remove references when some objects are missing. This is in preparation for the move from reference to object garbage collection.
-
Valentin David authored
-
Valentin David authored
When there is less than 2GB left, it cleans up have 10GB available. These values are configurable.
-
Valentin David authored
Cleaning up in parallel might slow down the cleaning process
Showing
- .gitlab-ci.yml 55 additions, 50 deletions.gitlab-ci.yml
- NEWS 24 additions, 2 deletionsNEWS
- buildstream/_artifactcache/artifactcache.py 28 additions, 4 deletionsbuildstream/_artifactcache/artifactcache.py
- buildstream/_artifactcache/cascache.py 149 additions, 41 deletionsbuildstream/_artifactcache/cascache.py
- buildstream/_artifactcache/casserver.py 173 additions, 73 deletionsbuildstream/_artifactcache/casserver.py
- buildstream/_context.py 89 additions, 24 deletionsbuildstream/_context.py
- buildstream/_frontend/app.py 6 additions, 4 deletionsbuildstream/_frontend/app.py
- buildstream/_frontend/cli.py 40 additions, 19 deletionsbuildstream/_frontend/cli.py
- buildstream/_pipeline.py 28 additions, 1 deletionbuildstream/_pipeline.py
- buildstream/_stream.py 184 additions, 69 deletionsbuildstream/_stream.py
- buildstream/_yaml.py 8 additions, 1 deletionbuildstream/_yaml.py
- buildstream/data/userconfig.yaml 38 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/_sandboxremote.py 31 additions, 4 deletionsbuildstream/sandbox/_sandboxremote.py
- buildstream/sandbox/sandbox.py 1 addition, 1 deletionbuildstream/sandbox/sandbox.py
- buildstream/storage/_casbaseddirectory.py 4 additions, 6 deletionsbuildstream/storage/_casbaseddirectory.py
- buildstream/utils.py 43 additions, 0 deletionsbuildstream/utils.py