Commits on Source (13)
-
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
-
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.
Showing
- buildstream/_artifactcache/cascache.py 5 additions, 10 deletionsbuildstream/_artifactcache/cascache.py
- buildstream/_frontend/cli.py 27 additions, 0 deletionsbuildstream/_frontend/cli.py
- buildstream/_pipeline.py 28 additions, 1 deletionbuildstream/_pipeline.py
- buildstream/_stream.py 97 additions, 27 deletionsbuildstream/_stream.py
- buildstream/element.py 97 additions, 96 deletionsbuildstream/element.py
- 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/utils.py 37 additions, 0 deletionsbuildstream/utils.py
- conftest.py 5 additions, 1 deletionconftest.py
- tests/completions/completions.py 1 addition, 0 deletionstests/completions/completions.py
- tests/frontend/buildtrack.py 1 addition, 0 deletionstests/frontend/buildtrack.py
- tests/frontend/project/elements/checkout-deps.bst 10 additions, 0 deletionstests/frontend/project/elements/checkout-deps.bst
- tests/frontend/project/files/etc-files/etc/buildstream/config 1 addition, 0 deletions...s/frontend/project/files/etc-files/etc/buildstream/config
- tests/frontend/source_checkout.py 121 additions, 0 deletionstests/frontend/source_checkout.py
- tests/integration/cachedfail.py 39 additions, 0 deletionstests/integration/cachedfail.py
- tests/utils/movedirectory.py 88 additions, 0 deletionstests/utils/movedirectory.py
tests/frontend/source_checkout.py
0 → 100644
tests/utils/movedirectory.py
0 → 100755