Commits on Source (48)
-
This can get out of sync with other two cache states, and we can do without it.
-
richardmaw-codethink authored
Simplify element state by removing `__cached` See merge request !784
-
richardmaw-codethink authored
We can't include a socket in a CAS tree, but it's mostly meaningless to do so since there can't possibly be a process serving it.
-
richardmaw-codethink authored
-
richardmaw-codethink authored
Fix: While caching build artifact: "Cannot extract [path to socket file] into staging-area. Unsupported type." See merge request !783
-
Overriding the config with a custom config file on the command-line prevents it merging in the test-specific configuration and can permit it to attempt to initialise the user's cache.
-
They were moving the whole tmpdir to move the project repository. This moves the cache directories etc. as well, meaning cli.run can't find them. This was worked around by setting configure=False, but this has the side-effect of making use of the user's caches, which it should not be doing for reproducibility reasons. By changing the tempdir layout to have the project in a subdirectory we can move the project around for the relative workspace tests without losing track of the configured state directories, so we can leave configure=True and avoid touching the user's caches.
-
richardmaw-codethink authored
Fix tests that attempt to access the home directory See merge request !780
-
Tristan Van Berkom authored
This was previously append_required_artifacts(), which presumed that we knew at startup time what the cache keys of all elements in the loaded pipeline would be. This fixes unexpected deletions of required artifacts when dynamic tracking is enabled with `bst build --track-all target.bst`
-
Tristan Van Berkom authored
This commit renames test_never_delete_dependencies() to test_never_delete_required(), renders the test more readable by renaming some elements and reordering some statements and makes the comments more straight forward and accurate.
-
Tristan Van Berkom authored
These tests were not checking that we fail for the expected reasons. Added `res.assert_task_error(ErrorDomain.ARTIFACT, 'cache-too-full')` where we expect to fail because the cache is too full.
-
Tristan Van Berkom authored
This allows one to modify a file in an existing git repo, as opposed to adding a new one.
-
Tristan Van Berkom authored
* create_element_size() Now uses a git Repo object instead of a local source, and returns the repo. * update_element_size() Added this function which can now resize the expected output of an element generated with create_element_size(), useful to allow testing sized elements with the tracking feature.
-
Tristan Van Berkom authored
Same test as test_never_delete_required(), except that this test ensures that we never delete required artifacts when their cache keys are discovered dynamically during the build.
-
Tristan Van Berkom authored
Don't delete required artifacts when tracking is enabled See merge request !793
-
Tiago Gomes authored
-
Tiago Gomes authored
We want to check if some file is already cached here, not the parent directory.
-
Tiago Gomes authored
Tristan Maat created the original file, so he is added as the author.
-
Tiago Gomes authored
* Rename it to _commit_directory() because… it is what it does; and also for symmetry with _fetch_directory(). * Rename digest to dir_digest to make it clear this is a digest for a directory. A following commit will also reuse the same variable name * Document method.
-
Tiago Gomes authored
* Rename tree to dir_digest to make it clear this is a Digest object, and not a Tree object. * Add documentation
-
Tiago Gomes authored
-
Tiago Gomes authored
Remove unneeded cruft.
-
Tiago Gomes authored
Bunch of cleanups See merge request !798
-
Tristan Van Berkom authored
Somehow I missed this when originally forking the file from the click library, now noticing that we should have followed what was written in: https://github.com/pallets/click/blob/master/LICENSE
-
-
Since we now set PWD in the environment of builds existing builds may behave differently so must cache differently now.
-
The current directory isn't always in the python module search path, so we have to ensure it is for the script to work. Strictly speaking, the user may already have a modified PYTHONPATH at which point PYTHONPATH=".${PYTHONPATH+:$PYTHONPATH}" is necessary, but it's probably premature to overcomplicate the documentation like that before we discover it's a problem.
-
Tristan Van Berkom authored
Address post-merge review of Ensure PWD is set in process environment See merge request !788
-
Adam Jones authored
-
Adam Jones authored
-
Adam Jones authored
-
Tristan Van Berkom authored
Update contributing guide See merge request !801
-
Tristan Van Berkom authored
This ensures that option expressions are resolved in the project level overrides before attempting to composite them on the instantiated elements. Seems this is a regression from introducing the include directive. This fixes issue #658
-
Tristan Van Berkom authored
This is a regression test for issue #658
-
Tristan Van Berkom authored
Fix override options Closes #658 See merge request !802
-
Daniel Silverstone authored
Since ArtifactCache.setup_remotes() can be expensive and should only happen once, this commit will assert() if it is called a second time on an artifact cache instance. Signed-off-by:
Daniel Silverstone <daniel.silverstone@codethink.co.uk>
-
Daniel Silverstone authored
The initialization of remotes is done by ArtifactCache.setup_remotes() and as such it was wrong for these tests to be calling CASCache.initialize_remotes() a second time. Signed-off-by:
Daniel Silverstone <daniel.silverstone@codethink.co.uk>
-
Daniel Silverstone authored
The SandboxRemote used to construct its own CASCache which was considered dangerous. This patch replaces that with acquisition of the cache via the Platform singleton, hopefully eliminating issues from having more than one artifact cache object in a single process. Signed-off-by:
Daniel Silverstone <daniel.silverstone@codethink.co.uk>
-
Tristan Van Berkom authored
sandbox/_sandboxremote.py: Acquire cache via Platform See merge request !797
-
Tristan Van Berkom authored
When configuring a push remote and specifying either the client-cert or the client-key, then both must be specified. This ensures we get an informative error instead of a stack trace and BUG. Fixes issue #625
-
Tristan Van Berkom authored
Test that we get the expected error when configuring a client-cert without client-key, or the inverse.
-
Tristan Van Berkom authored
Fix artifact config crash Closes #625 See merge request !804
-
This fixes all devices being mapped to the non-existant device 0, which prevents being able to use even safe devices like /dev/null through the hardlinks FUSE layer.
-
This is needed to permit access to the device nodes added to /dev on Linux when FUSE is used as root. The chroot sandbox only works with all privileges, so there's no explicit check for being root or having the appropriate capabilities. A check for whether it's running as root isn't needed on Linux with bubblewrap because /dev or its devices are mounted on top of the FUSE layer, so device nodes are accessed directly rather than through the FUSE layer.
-
-
Tristan Van Berkom authored
fix chroot sandbox devices See merge request !781
-
knownexus authored
bst build returns "missing project.conf" when a project.conf is invalid This results in an existing project with malformed yaml being dismissed and attempts to make a new project Added new exception
-
knownexus authored
Showing
- CONTRIBUTING.rst 6 additions, 0 deletionsCONTRIBUTING.rst
- MANIFEST.in 1 addition, 1 deletionMANIFEST.in
- buildstream/_artifactcache/artifactcache.py 57 additions, 23 deletionsbuildstream/_artifactcache/artifactcache.py
- buildstream/_artifactcache/cascache.py 42 additions, 11 deletionsbuildstream/_artifactcache/cascache.py
- buildstream/_context.py 0 additions, 1 deletionbuildstream/_context.py
- buildstream/_frontend/complete.py 17 additions, 2 deletionsbuildstream/_frontend/complete.py
- buildstream/_fuse/hardlinks.py 3 additions, 2 deletionsbuildstream/_fuse/hardlinks.py
- buildstream/_fuse/mount.py 5 additions, 1 deletionbuildstream/_fuse/mount.py
- buildstream/_project.py 7 additions, 1 deletionbuildstream/_project.py
- buildstream/_scheduler/jobs/__init__.py 19 additions, 0 deletionsbuildstream/_scheduler/jobs/__init__.py
- buildstream/_scheduler/jobs/cleanupjob.py 1 addition, 8 deletionsbuildstream/_scheduler/jobs/cleanupjob.py
- buildstream/_scheduler/queues/buildqueue.py 1 addition, 1 deletionbuildstream/_scheduler/queues/buildqueue.py
- buildstream/_scheduler/scheduler.py 2 additions, 3 deletionsbuildstream/_scheduler/scheduler.py
- buildstream/_stream.py 3 additions, 6 deletionsbuildstream/_stream.py
- buildstream/_versions.py 1 addition, 1 deletionbuildstream/_versions.py
- buildstream/element.py 13 additions, 11 deletionsbuildstream/element.py
- buildstream/sandbox/_mount.py 6 additions, 5 deletionsbuildstream/sandbox/_mount.py
- buildstream/sandbox/_sandboxbwrap.py 2 additions, 14 deletionsbuildstream/sandbox/_sandboxbwrap.py
- buildstream/sandbox/_sandboxchroot.py 10 additions, 16 deletionsbuildstream/sandbox/_sandboxchroot.py
- buildstream/sandbox/_sandboxremote.py 7 additions, 12 deletionsbuildstream/sandbox/_sandboxremote.py