| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
--long or -l will provide the user with extra information about the
contents of the artifacts, including permission mode, file type, size
and name. In order for this to work, the way in which list-contents
works has been modified.
A test and NEWS entry have also been added within this commit
|
|\
| |
| |
| |
| | |
Cleanup: splitting artifact.py into separate test files
See merge request BuildStream/buildstream!1570
|
|/
|
|
|
|
|
| |
Artifact.py consists of multiple tests for the different artifact
subcommands all grouped together. This MR splits the tests relevant to
each subcommand up into separate test files, making it easier to find
the relevant test.
|
|\
| |
| |
| |
| |
| |
| | |
Support strict build dependencies
Closes #254
See merge request BuildStream/buildstream!1542
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This is in order to keep the door open to allowing the project.conf
set the default of dependency 'strict'-ness which might be useful
for projects which use mostly static linking and the like, in which
case we can later interpret explicitly non-strict dependencies
as an override of the project default.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This tests that the target which depends on a common dependency
strictly in non strict mode needs to be rebuilt after this common
dependency changes, while it is not the case when depending on the
same common target non strictly.
This is a regression test for #254
|
| | |
|
| |
| |
| |
| |
| |
| | |
This adds documentation on the new keyword `strict` in dependency
declarations, and adds a link to the strict mode user config
section.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch allows specifying a dependency as `strict`, e.g.:
build-depends:
- filename: element.bst
strict: true
This allows finer tuning of projects which want to leverage
the non-strict build mode; dependencies which are statically
linked to, or who's content is otherwise included verbatim in
the resulting output, should be marked `strict` to ensure these
bits get reassembled if necessary when building in non-strict
mode.
This fixes #254
Change summary:
o _loader/loadelement.pyx: Added 'strict' attribute to Dependency
o _loader/types.pyx: Added 'strict' attribute to Dependency
do the parsing work.
o _loader/metaelement.py: Added 'strict_dependencies' list
o _loader/loader.py: Resolve the 'strict_dependencies' list
o element.py: Added __strict_dependencies list, and use this
to conditionally use weak cache keys in place of names for
the purpose of building the weak cache key (in the case of
dependencies which are marked as strict).
|
|/
|
|
|
|
|
|
| |
As discussed with Jürg on gitlab[0], it makes more sense to store the
recursive element names and record the shape of the dependencies for
non strict cache keys as well as strict ones.
[0]: https://gitlab.com/BuildStream/buildstream/merge_requests/1542#note_205598556
|
|\
| |
| |
| |
| |
| |
| | |
Add in_subprocess pytest mark and modify tests which run in another process to use it
Closes #1108
See merge request BuildStream/buildstream!1557
|
| |
| |
| |
| |
| |
| |
| |
| | |
In changing the tests to use in_subprocess, they were modified to do
parametrization over both variables instead of looping over one in the
test itself. The purpose of the original code was to reduce the number
of test cases printed in the output. I have hence attempted to remove
superfluous test cases.
|
| |
| |
| |
| |
| |
| |
| | |
Additionally, test code that was previous executed by a subfunction (in
the forked process) has been folded into the test function itself, as
separating it is now redundant. This removes some duplicate code for
setting up the context and project, etc.
|
| | |
|
|/ |
|
|\
| |
| |
| |
| | |
Cache quota configuration fixes
See merge request BuildStream/buildstream!1566
|
| |
| |
| |
| |
| |
| | |
test_invalid_cache_quota was marked as xfail as part of the migration to
buildbox-casd. This reactivates the test but removes the checks for too
large quotas as that aspect is better handled by buildbox-casd.
|
| |
| |
| |
| |
| |
| | |
If the quota is configured as percentage of total disk space, we need to
make sure that _get_volume_size() does not fail if the cas directory
does not exist yet.
|
|/
|
|
|
|
| |
Relative paths don't make sense in user configuration. The exception is
workspacedir where `.` is useful as it will be combined with the name
specified on the command line.
|
|\
| |
| |
| |
| | |
tests: Set HOME environment variable and work around bzr race condition
See merge request BuildStream/buildstream!1571
|
| |
| |
| |
| |
| | |
This works around a TOCTTOU race condition in bzr's creation of
~/.bazaar in ensure_config_dir_exists() when running tests in parallel.
|
| |
| |
| |
| | |
This fixes host contamination for tools that use HOME, e.g., bzr.
|
| |
| |
| |
| |
| | |
Merge `os.environ` and `GIT_ENV` instead of replacing the existing
(tox) environment variables such as HOME and XDG_CONFIG_HOME.
|
|/
|
|
|
| |
Merge `os.environ` and `BZR_ENV` instead of replacing the existing
(tox) environment variables such as HOME and XDG_CONFIG_HOME.
|
|\
| |
| |
| |
| |
| |
| | |
Addition of --out option to bst artifact log
Closes #1106
See merge request BuildStream/buildstream!1552
|
|/
|
|
|
|
|
|
| |
A --out option has been added, allowing an artifact log to be
written to a logfile. This is particularly useful when more
than one artifact's log is wanting to be read; It will write
a file for each log.
A test and NEWS entry have also been added.
|
|\
| |
| |
| |
| | |
Remove code duplication in casremote.py
See merge request BuildStream/buildstream!1567
|
| |
| |
| |
| | |
This removes code duplication with _CASBatchRead.
|
|/
|
|
| |
_ensure_blob() was the only caller of _fetch_blob().
|
|\
| |
| |
| |
| |
| |
| | |
Remove build --all flag in favour of --deps all/plan
Closes #1078
See merge request BuildStream/buildstream!1559
|
|/ |
|
|\
| |
| |
| |
| | |
Introduce `bst artifact show`
See merge request BuildStream/buildstream!1560
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
If remotes exist, each remote will be checked for the target
artifacts. If an artifact is cached remotely, we make a
record of this.
|
| |
| |
| |
| |
| | |
Seeing as we always call get_local_cas() in CasRemote.init()
this assertion will be asserted there
|
|/
|
|
|
|
| |
bst artifact show can be used to determine which element names,
artifact refs (also by glob expression) are present within the
artifact cache.
|
|\
| |
| |
| |
| | |
Add the ability to load (build) deps from an artifact ref
See merge request BuildStream/buildstream!1553
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
This method explicitly adds a build dependency to an Element
instance's __build_dependency list. This is required when
determining the build dependencies of an artifact
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Add a getter for Element's __artifact (Artifact object).
This is required by ArtifactElement. The ArtifactElement should
have access to its Artifact.
|
|/ |
|
|\
| |
| |
| |
| | |
testing/sources: Automatically register plugin sources
See merge request BuildStream/buildstream!1537
|
| |
| |
| |
| |
| |
| |
| |
| | |
We need to keep the project configuration to use the expected
plugins as configured by the `kind` fixture.
This adds a utility method `update_project_configuration` that
allows updated part of the project.conf.
|