Commits on Source 71
-
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
-
Valentin David authored
Fix cleanup of cache in server when disk is full Closes #678 See merge request !830
-
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.
-
Jim MacArthur authored
_sandboxremote.py: Remove unnecessary tests. Closes #786 See merge request !976
-
Valentin David authored
Fixes #723.
-
Valentin David authored
-
Valentin David authored
Add support for .netrc in remote/tar/zip plugins Closes #723 See merge request !908
-
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.
-
Jürg Billeter authored
man/: update with changes since Apr 2018 See merge request !981
-
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
_stream.py: Ability to pull missing buildtrees outside of pull/build Closes #774 See merge request !978
-
Phillip Smyth authored
-
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
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
-
Jürg Billeter authored
Mandatory .bst suffix See merge request !967
-
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
-
Tristan Van Berkom authored
MANIFEST.in: Include the sources for rebuilding the documentation session HTML Closes #778 See merge request !984
-
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.
-
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.
-
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
-
Tristan Van Berkom authored
Add `--deps build` option to `bst checkout` Closes #670 See merge request !819
-
See #783
-
Tristan Van Berkom authored
git: warn about checkout submodules by default See merge request !983
-
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
-
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.
-
Jürg Billeter authored
_yamlcache.py: Use a project's junction name if present Closes #795 See merge request !980
-
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.
-
Tristan Van Berkom authored
_scheduler/queues/queue.py: Don't call update state outside of error handling harness See merge request !988
-
Valentin David authored
Instead of tag information being fetched which can change with time, they are tracked and saved in the projects.refs/.bst. Then we re-tag automatically the closest tag so that `git describe` works and is reproducible. This new feature is opt-in with the new `track-tags` configuration, and must be used to fix modules which are broken by our new policy of omitting the `.git/` repository when staging git sources. This fixes issue #487
-
Valentin David authored
-
Tristan Van Berkom authored
Track of git tags and save them to reproduce minimum shallow repository Closes #487 See merge request !906
-
Raoul Hidalgo Charman authored
-
Raoul Hidalgo Charman authored
In element, platform asks for host os and architecture to default to when SandboxConfig is initialised. This changes element cache keys so those have been updated in the tests.
-
Raoul Hidalgo Charman authored
Also update tests to be consistent with this
-
Raoul Hidalgo Charman authored
These are contained within the platform field.
-
Raoul Hidalgo Charman authored
-
Raoul Hidalgo Charman authored
Same format as OptionArch tests, but with OS's.
-
Raoul Hidalgo Charman authored
-
Raoul Hidalgo Charman authored
o _platform/linux.py: Add linux32 flag to send to sandbox bwrap when the build arch is x86-32 and the machines arch is x86-64 or similarly with aarch32 and aarch64. o sandbox/_sandboxbwrap.py: Use flag passed to start bwrap command with linux32 if set. -
Raoul Hidalgo Charman authored
-
Raoul Hidalgo Charman authored
-
Raoul Hidalgo Charman authored
-
Jürg Billeter authored
Execution environment reqs Closes #775 See merge request !969
-
Raoul Hidalgo Charman authored
Get cascache.py to use this
-
Raoul Hidalgo Charman authored
Stops unneccesary pushing of builds that have already been built, just checks the action cache to begin with. Fixes #628
-
Raoul Hidalgo Charman authored
The endpoint may not necessarily be the same as execution-service endpoint. Part of #628
-
Raoul Hidalgo Charman authored
Part of #628
-
Raoul Hidalgo Charman authored
Remote-execution client flow optimisation Closes #628 See merge request !982
-
Tristan Van Berkom authored
Instead of duplicating the whole test body, run it twice while checking for a warning or an error depending on the parameter.
-
Tristan Van Berkom authored
This also ensures it is exposed via the main buildstream __init__.py file, fixes the imports of CoreWarnings, and adjusts the documentation links to point to the right place.
-
Tristan Van Berkom authored
Now the commands have documentation linkability so we can link to them when referring to them anywhere in the docs. This reference was previously referring to a bogus non-existent `build-stream track`, maybe this dates way back to the days before we named the frontend `bst`.
-
Tristan Van Berkom authored
Fixes the configurable warning part of this to properly link to the project.conf documentation describing what configurable warnings actually are. Also fix the plugin raise the actual configurable warning which it advertizes that it raises; which is 'inconsistent-submodule', not 'inconsistent-submodules'.
-
Tristan Van Berkom authored
Change 'INCONSISTENT_SUBMODULE' for 'WARN_INCONSISTENT_SUBMODULE' to make things a bit more readable and comprehensive.
-
Tristan Van Berkom authored
Misc cleanups See merge request !993
-
Jim MacArthur authored
-
Jim MacArthur authored
-
Jim MacArthur authored
-
Jim MacArthur authored
-
Jim MacArthur authored
-
Jim MacArthur authored