- Dec 05, 2018
-
-
Tristan Van Berkom authored
_scheduler/queues/queue.py: Don't call update state outside of error handling harness See merge request !988
-
Tristan Van Berkom authored
Commit 3fa79d8d, part of an initiative for caching of the failed builds, introduced a call to Element._update_state() after a job completes and before entering the error handling harness intended for handling plugin raised errors. Element._update_state() can result in triggering plugin code to run, so this is incorrect, and causes raised errors to crash BuildStream if they happen here. After analyzing the code, it appears that this additional call to Element._update_state() is unneeded, and was only added because the state needs to be updated for a failure as well as a success. Instead, we now have the BuildQueue call Element._assemble_done() unconditionally, regardless of whether the build was successful or not, which has the same effect and also reads better. In addition, added a FIXME comment that we are still conditionally updating the artifact cache size from BuildQueue.done() only if the build is successful, which is incorrect because failed builds also increase the local artifact cache size - to fix this we need to communicate the added artifact size through Element._assemble() regardless of whether the build succeeded or failed.
-
- Dec 03, 2018
-
-
Jürg Billeter authored
_yamlcache.py: Use a project's junction name if present Closes #795 See merge request !980
-
Test required to close #795 - We should be able to build a project which refers to the same junction twice, but with two different filenames.
-
Jonathan Maw authored
This is required because if there are projects with the same name loaded, that have elements in the same path, with the same contents, they are considered the same, despite actually belonging to different Projects. This fixes buildstream issue #795
-
Tristan Van Berkom authored
git: warn about checkout submodules by default See merge request !983
-
See #783
-
Tristan Van Berkom authored
Add `--deps build` option to `bst checkout` Closes #670 See merge request !819
-
Benjamin Schubert authored
Before we would have a intricate logics with multiple arguments that might get ignored. This simplifies the design and introduces a bool `shell` instead of having two different variables concerned about scope
-
As discussed in https://mail.gnome.org/archives/buildstream-list/2018-September/msg00064.html, add `--deps build` option to `bst checkout`. This will allow users to checkout the all build dependencies of a given element using a single command. - _frontend/cli.py: Add `--deps build` option for `bst checkout`. - element.py: Support `deps='build'` in Element._prepare_sandbox(). - tests/frontend/buildcheckout.py: Ensure `--deps build` works as expected.
-
Currently, `bst checkout --deps none` command always produces empty output. Fix this issue and add regression test for the same. - element_enums.py: Add Scope.NONE. - element.py: Ensure Scope.NONE works correctly in addition to Scope.RUN/Scope.ALL in Element.dependencies() and Element.search(). - tests/frontend/buildcheckout.py: Fix tests for `--deps none`. Fixes #670.
-
Tristan Van Berkom authored
MANIFEST.in: Include the sources for rebuilding the documentation session HTML Closes #778 See merge request !984
-
Tristan Van Berkom authored
This was previously missing, causing our CI to forget to rebuild the sessions when updating the documentation. This fixes issue #778
-
- Nov 30, 2018
-
-
Jürg Billeter authored
Mandatory .bst suffix See merge request !967
-
Phillip Smyth authored
-
Phillip Smyth authored
buildcheckout.py: Add mandatory .bst suffix tests completions.py: Add test for fail on invalid suffix Added required files for testing integration/source-determinism.py: renamed test elements to end with .bst loader/__init__.py: initialised context properly with load and a message handler
-
Phillip Smyth authored
-
Phillip Smyth authored
_loader/loader.py: Added Suffix check and warning for named elements and add helper function
-
Phillip Smyth authored
-
Phillip Smyth authored
-
Jürg Billeter authored
_stream.py: Ability to pull missing buildtrees outside of pull/build Closes #774 See merge request !978
-
Adds helper function _buildtree_pull_required() to determine if a pullqueue should be constructed, for commands outside of bst pull and build where it is determined that an element's buildtree artifact is to be required given the respective semantics and config. Utilised in push() to attempt to mitigate skipping the push of partial elements without the user having to have preceded it with an explicit pull. cli.py: Add new behaviour to push command description element.py: Move _cached_buildtree() to be non local private method, use _KeyStrength types to reduce duplication. tests/integration/pullbuildtrees.py also updated to cover this use-case.
-
Jürg Billeter authored
man/: update with changes since Apr 2018 See merge request !981
-
It seems that the regenerated man pages haven't been committed for some time. Add them all in one lump now. Had to manually strip the version number from the generated files. Had to manually fix the NAME field of bst.1 to not be 'bst - None'. Oddly had to invoke click-man directly in order to get the changes to be applied, the usual setup.py route mentioned in contributing.rst didn't work. Eyeballed the result of invoking man on each of the commands, seems good.
-
- Nov 29, 2018
-
-
Valentin David authored
Add support for .netrc in remote/tar/zip plugins Closes #723 See merge request !908
-
Valentin David authored
-
Valentin David authored
Fixes #723.
-
Jim MacArthur authored
_sandboxremote.py: Remove unnecessary tests. Closes #786 See merge request !976
-
Jim MacArthur authored
push_message and push_directory will both raise assertion failures if they fail to send the digest to the server. Checking the digest returned by each only tests that the content was hashed locally, which cannot reasonably fail.
-
Valentin David authored
Fix cleanup of cache in server when disk is full Closes #678 See merge request !830
-
- Nov 28, 2018
-
-
Valentin David authored
Cleaning up in parallel might slow down the cleaning process
-
Valentin David authored
When there is less than 2GB left, it cleans up have 10GB available. These values are configurable.
-
Valentin David authored
-
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
This locks the temporary object file so that cleanup does not need to be done for every write.
-
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
-
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
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
setup.py: require ruamel.yaml >= 0.15.41 < 0.15.52 See merge request !975
-