| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\
| |
| |
| |
| | |
Cache management logging enhancements
See merge request BuildStream/buildstream!1105
|
| |
| |
| |
| |
| |
| | |
This seems to have been copy/pasted from cascache, and
documents the function to possibly return None if defer_prune
was specified, but this function does not expose defer_prune.
|
| |
| |
| |
| |
| |
| | |
Updates the known cache size in the main process while the cleanup
process is ongoing, so that the status indicators update live
while the cleanup happens.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added some useful status messages when:
* Calculating a new artifact cache usage size
* Starting a cleanup
* Finishing a cleanup
Also enhanced messaging about what was cleaned up so far when
aborting a cleanup.
|
| |
| |
| |
| |
| | |
This also adds some comments around the main status bar heading
rendering function.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
A frontend facing API for obtaining usage statistics.
I would have put this on Stream instead, but the Context
seems to be the de facto place for looking up the artifact cache
in general so let's put it here.
|
| |
| |
| |
| |
| | |
A simple object which creates a snapshot of current
usage statistics for easy reporting in the frontend.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This will benefit from a better UtilError being raised, and
and turns the artifact cache's local function into a one liner.
The loop which finds the first existing directory in the
given path has been removed, being meaningless due to the
call to os.makedirs() in ArtifactCache.__init__().
The local function was renamed to _get_cache_volume_size() and
no longer takes any arguments, which is more suitable for the
function as it serves as a testing override surface for
unittest.mock().
The following test cases which use the function to override
the ArtifactCache behavior have been updated to use the new
overridable function name:
tests/artifactcache/cache_size.py
tests/artifactcache/expiry.py
|
| |
| |
| |
| | |
We can streamline this call to os.statvfs() in a few places.
|
|/
|
|
| |
The artifact cache emits messages, and we want to allow that in preflight.
|
|\
| |
| |
| |
| | |
Cache management fixes
See merge request BuildStream/buildstream!1091
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In order to test when core activities occur by parsing the stderr
in tests, we should make the messages conform more.
At the same time, this restores alignment of columns in core
messages with the element processing related messages.
Also, _scheduler/scheduler.py is updated to make it's activity names
conform to the (current) 5 character limit for the sake of alignment.
The tests/frontend/logging.py test gets it's regexes updated for
the log lines it checks for in stderr.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When running any session that has Queues which require Resource.CACHE,
check if our loaded estimated size exceeds the quota, and if so;
lock the Resource.CACHE resource exclusively right away and run
an exclusive initial cache size job.
This ensures we cleanup first before doing anything which might
add to the cache at startup time, if deemed needed.
This is a partial fix for issue #737
|
|/
|
|
|
|
| |
Don't require the interest to be registered, just discard any interest,
this function just sets a bit in a mask, and is not intended to maintain
a balance like the reserve() function is.
|
|\
| |
| |
| |
| | |
Add support for default targets
See merge request BuildStream/buildstream!925
|
| | |
|
| |
| |
| |
| |
| | |
Test that `bst build` does not fail in a project where the list of
default targets includes a junction (junctions cannot be built).
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Junctions cannot be built, pulled, or pushed. Specifying a junction on
the command line for these commands will result in an error. However,
junctions may be in the list of default targets, so they need to be
ignored for build, pull, and push commands.
|
| |
| |
| |
| | |
This filters out junctions from the list of targets.
|
| |
| |
| |
| |
| |
| | |
_frontend/cli.py: Use new methods.
Based on patches by Phillip Smyth.
|
| |
| |
| |
| | |
_versions.py: Bump format version
|
|/
|
|
| |
There is no reason to disallow guess_element() for bst build --all.
|
|\
| |
| |
| |
| | |
Add tests to cover reinstated support for guessing targets
See merge request BuildStream/buildstream!1042
|
| |
| |
| |
| |
| | |
Previously, there was no way of detecting whether fetching happened, as
an element with an open workspace will not be fetched.
|
|/
|
|
|
| |
Previously, it merely tested that buildstream did not fall other,
rather than whether it did anything useful.
|
|\
| |
| |
| |
| | |
test_track_error_cannot_write_file() fixup
See merge request BuildStream/buildstream!1104
|
|/
|
|
|
|
|
|
|
| |
This tests how BuildStream reacts when it fails to write the tracking
results to the element files or project.refs file, which is an operation
that plugins do not play a part in.
As such, removing the per repo kind parameterization from this test
as multiple runs are redundant here.
|
|\
| |
| |
| |
| | |
Reduce number of calls to `bst show` in tests
See merge request BuildStream/buildstream!1103
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/
|
|
|
| |
Instead of a single target, we can always provide a single target
in a list.
|
|\
| |
| |
| |
| | |
Tristan/insufficient storage error
See merge request BuildStream/buildstream!1102
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is not an error related to loading data, like a parse error
in the quota specification is, but a problem raised by the artifact
cache - this allows us to assert more specific machine readable
errors in test cases (instead of checking the string in stderr, which
this patch also fixes).
This also removes a typo from the error message in the said error.
* tests/artifactcache/cache_size.py
Updated test case to expect the artifact error, which consequently
changes the test case to properly assert a machine readable error
instead of asserting text in the stderr (which is the real, secret
motivation behind this patch).
* tests/artifactcache/expiry.py: Reworked test_invalid_cache_quota()
Now expect the artifact error for the tests which check configurations
which create caches too large to fit on the disk.
|
|/
|
|
| |
Instead of sitting mysteriously alone in internals/utils.py
|
|\
| |
| |
| |
| | |
tox.ini: Unpin sphinx dependency
See merge request BuildStream/buildstream!1093
|
|/
|
|
|
|
| |
https://github.com/rtfd/sphinx_rtd_theme/pull/672 has been fixed
upstream, and the newer versions of `sphinx_rtd_theme` do not break
search functionality with Sphinx >= 1.8.
|
|\
| |
| |
| |
| | |
tests/integration/pullbuildtrees.py: Fix the non-integration case.
See merge request BuildStream/buildstream!1098
|