| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
This is no longer needed now that we support caching buildtrees in CAS.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* "min-version" is specified as a <major>.<minor> point version
and uses the installed BuildStream version instead of having
a separate versioning number for the format.
* The presence of "format-version" is now used to indicate
that we might be loading a BuildStream 1 project.
* For now, where parsing the version at startup is concerned, and
also where `bst init` is concerned, we artificially bump the
detected BuildStream version to 2.0 if we detect a version < 2.0,
these exceptions can be removed once 2.0 is tagged and released.
Summary of changes:
_project.py: Now parse "min-version" and detect "format-version" to
warn about loading a BuildStream 1 project
_versions.py: Remove obsolete BST_FORMAT_VERSION numbers from here
data/projectconfig.yaml: Remove old "format-version" from defaults
utils.py: Added new private _parse_version() helper function, and another
_get_bst_api_version() to get an adjusted API version.
frontend/app.py, frontend/cli.py: Updated `bst init` implementation
testing (buildstream.testing): Updated testing utilities to generate
and use projects with min-version instead of format-version.
tests and examples: Updated to use min-version across the board.
|
|
|
|
| |
CI runners sometimes need more time under load.
|
|
|
|
| |
CI runners sometimes need more time under load.
|
|
|
|
|
|
|
| |
This ensures we do not leak resources during our tests and that we close
everything nicely.
This removes multiple warnings that is thrown by our code.
|
|
|
|
| |
This removes a warning around resources leaks
|
|
|
|
|
| |
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
|