| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Using "" as a directory is invalid starting from pytest 5.4.0, let's
use the __file__ name instead
|
| |
|
|
|
|
|
| |
This is identical to `test_pull_missing_blob` except that it uses
separate servers for artifact proto index and CAS.
|
|
|
|
|
| |
Increase sleep duration in test_casd_redirects_stderr_to_file_and_rotate
from 0.05s to 0.5s to reduce risk of test failure.
|
|
|
|
|
|
| |
Don't recursively add `contents` to the tar file as the order is not
guaranteed. We need to add `elsewhere` before `to_extract` as the latter
references the former in `linkname`.
|
|
|
|
|
| |
Test that a clean build in non-strict mode produces an artifact matching
the strict cache key.
|
|
|
|
|
|
|
|
|
| |
Unfortunately the options from main project cannot always be processed
in the include processing since project configuration might load
option declarations from a separate file. For that reason the result
of `Include.process` should still be passed through the option
processor. But all options files included from junctioned are already
evaluated.
|
| |
|
|
|
|
|
|
| |
otherwise, having an optional list append in theh configuration wouldn't work
This also avoids special casing for element and source overrides
|
|
|
|
| |
buildbox-fuse now supports SubtreeReadOnly.
|
|
|
|
| |
buildbox-run-bubblewrap now supports custom uid/gid.
|
| |
|
|
|
|
|
|
| |
This moves the cas logs outside of the cas directory. Since BuildStream
is responsible for creating and handling the logs, it should not be in
the cas directory.
|
|
|
|
| |
This matches the REAPI platform lexicon.
|
| |
|
|
|
|
| |
also add a test
|
| |
|
| |
|
|
|
|
| |
Verify basic incremental build and proper mtime handling.
|
|
|
|
|
|
| |
This will no longer be used in incremental builds. Successful configure
commands will be recorded with a marker file in the buildtree of the
last build artifact.
|
|
|
|
|
|
| |
This will no longer be used in incremental builds. As source and build
files are separated now, we can trigger a clean rebuild when
dependencies change.
|
|
|
|
|
| |
Do not accept old versions as bst 1.x workspaces do not separate source
and build files.
|
|
|
|
|
| |
Add file to workspace directory to ensure second `bst build` is actually
building the element.
|
|
|
|
| |
Object files are no longer stored in the workspace directory.
|
| |
|
|
|
|
|
|
|
|
|
| |
Use buildbox-worker with buildbox-run-bubblewrap and buildbox-fuse from
the buildbox-nightly docker image instead of the Python buildbox worker
as the latter still uses the obsolete `buildbox` command.
buildbox-worker launch is delayed as it fails if started before the
BuildGrid server is ready.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Avoids testing for file times when testing for umask. These tests are
known to be flaky and are overly specific in that they implicitly test
more than just umask.
|
| |
|
|
|
|
|
| |
When commands are batched, the failure message can't include the command
group label with buildbox-run.
|
| |
|
|
|
|
|
|
|
| |
Adds functions to the `buildstream.testing` package to allow plugins to
dump elements and projects on the fly. Before this plugins were just
accessing the private yaml API for tests and loading/dumping directly. I
also allow access to just `_yaml.load()` from testing.
|
|
|
|
|
|
|
| |
Plugin tests are already accessing this API, but using imports from
private modules. For motivation for this to be exposed publicly, note
that ErrorDomain is an argument for most things in runcli.py, and
LoadErrorReason may be another.
|
|
|
|
|
|
|
| |
Ensure that if a buildtree isn't cached locally, it's only fetched
if --pull and pull-buildtrees config are set. Also, only attempt to
fetch if it's plausible that it could be pulled, with appropriate
messaging based on local cached state.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This removes the early call to get whether sources are locally cached
in `_update_source_state` by delegating it to the call of `is_cached`.
Once it is cached, the element is assumed to stay that way for the
duration of the pipeline, we can therefore cache the result once it is
true.
Also remove `Consistency.IS_CACHED`, which is not used anywhere else.
|
|
|
|
|
| |
This is not needed now that we have 'is_resolved' and 'is_cached'.
We can therefore drop all calling places and implementations of it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes the need to use consistency in Sources, by asking
explicitely whether the source is cached or not.
This introduces a new public method on source: `is_cached` that needs
implementation and that should return whether the source has a local
copy or not.
- On fetch, also reset whether the source was cached or set if as
cached when we know it was.
- Validate the cache's source after fetching it
This doesn't need to be run in the scheduler's process and can be
offloaded to the child, which will allow better multiprocessing
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`get_consistency` is coarse grained and hard to optimize, in addition
to being un-userfriendly.
This adds a new `is_resolved` that has for default implementation
`get_ref() is not None`, which is true for most sources in BuildStream.
Sources for which this is not true can override the method to give a
more accurate description.
Checking for this before looking whether the source is cached can
reduce the amount of work necessary in some pipeline and opens the
door for more optimizations and the removal of the source state check.
|
|
|
|
|
|
| |
'_source_cached' is not explicit enough as it doesn't distinguishes
between sources in their respective caches and sources in the global
sourcecache.
|
|
|
|
|
| |
There are no tests that rely on these plugins anymore, so remove the
corresponding declarations from project.conf.
|
|
|
|
|
|
|
|
|
|
|
| |
This runs two versions of the plugins:
- The latest stable is not allowed failures and is run on every platform
- The master version is allowed failure, and only runs on a single
architecture
This also adds a new entrypoint to register source tests to run against
BuildStream.
|
|
|
|
|
| |
These tests don't do anything, as they have no plugins registered at
all.
|
| |
|
|
|
|
| |
This stops the tests from being interlinked for BuildStream itself.
|