| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, include a directory result in an error like this:
mydir is a directory. bst command expects a .bst file.
Note that the file containing the include was not mentioned.
Now we get an error like this instead:
element.bst [line 12 column 0]: Include block references a
directory instead of a file: 'mydir'.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, a missing include would result in an error like this:
Could not find file at not-a-file.include
Note that the file containing the include was not mentioned.
Now we get an error like this instead:
element.bst [line 7 column 5]: Include block references a file that
could not be found: 'not-a-file.include'.
|
|
|
|
| |
Use the provenance of the include block, instead of the whole node.
|
|\
| |
| |
| |
| | |
contributing: snakeviz replaces pyflame+flamegraph
See merge request BuildStream/buildstream!1129
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the instructions for pyflame+flamegraph with simpler ones for
snakeviz. For our general use-case this seems to be easier and better.
Usage of this tool was demonstrated at the 2019 BuildStream Gathering in
January by Daniel Silverstone, when presenting the aggregate results of
profiling on many target environments.
Here is the relevant mailing list thread:
"Profiling before the gathering"
https://mail.gnome.org/archives/buildstream-list/2019-January/msg00057.html
|
|\
| |
| |
| |
| | |
Symlink fixes
See merge request BuildStream/buildstream!1138
|
| | |
|
| |
| |
| |
| |
| |
| | |
This matches the change in utils.list_relative_paths() that now sorts
all symlinks as files, instead of following the broken behavior of
os.walk().
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
os.walk() resolves symlinks to check whether they point to a directory
even when followlinks is set to False. We already work around that
broken behavior by extracting symlinks from `dirnames`. However, the
sort order was still incorrect as we returned symlinks in dirnames
before files and other symlinks. This change fixes this, sorting all
files and symlinks in a single list.
|
| |
| |
| |
| |
| |
| |
| |
| | |
list_dirs was always True in the BuildStream code base. There was also a
bug in the list_dirs=False code path as it did not return symlinks in
`dirnames`.
This is an API break, however, there are no known external callers.
|
| |
| |
| |
| | |
This is required to ensure symlinks are not resolved on the host.
|
|/
|
|
|
| |
isdir() follows symlinks on the host, resulting in potential host
contamination. This change reorders the file checks to avoid this issue.
|
|\
| |
| |
| |
| |
| |
| | |
import.py: Validate config node
Closes #662
See merge request BuildStream/buildstream!1141
|
|/
|
|
| |
Fixes #662.
|
|\
| |
| |
| |
| | |
.gitlab-ci.yml: Remove testing on Fedora 27
See merge request BuildStream/buildstream!1136
|
|/
|
|
|
|
| |
Fedora 27 is EOL since 2018-11-30
See https://fedoraproject.org/wiki/End_of_life
|
|\
| |
| |
| |
| |
| |
| | |
Use artifact cache specs from the parent project before those defined in junctions
Closes #618 and #401
See merge request BuildStream/buildstream!1113
|
| |
| |
| |
| |
| |
| |
| | |
This makes a junction use the artifact cache of the parent project
before the ones defined for the junction
Fixes #401
|
|/
|
|
|
|
|
| |
the code for initializing remotes added the project specific remote
caches to the global list instead of making a copy.
Fixes #618
|
|\
| |
| |
| |
| |
| |
| | |
Expose basic api for testing external plugins.
Closes #847
See merge request BuildStream/buildstream!1075
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We want external plugins to be able to make use of the core testing utils.
This commit exposes the basic utilities which are currently in use in
bst-external plugins. If necessary, more utilities could be exposed in the
future.
Moves the following files from tests/testutils/ to
buildstream/plugintestingutils/:
o runcli.py
o integration.py
As part of this, this commit makes the following changes to runcli.py
and integration.py:
o runcli.py: Fix linting errors
o runcli.py: Add user facing documentation
o Integration.py: Add user facing documentation
|
|\
| |
| |
| |
| | |
Add more log formatting options
See merge request BuildStream/buildstream!1125
|
|/
|
|
| |
The 'wallclock-us' is a option that we thought we already had.
|
|\
| |
| |
| |
| |
| |
| | |
loadelement.py: Switch from roaringbitmap to pyroaring
Closes #899
See merge request BuildStream/buildstream!1133
|
| | |
|
|/
|
|
|
|
|
|
| |
The licence for roaringbitmap was not compatible. pyroaring is
a similar project which is MIT licensed and is slightly better on
memory too.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
|\
| |
| |
| |
| |
| |
| | |
Add pre-merge tests that use a WSL runner
Closes #852
See merge request BuildStream/buildstream!1108
|
| |
| |
| |
| |
| |
| | |
The unix specification for unix sockets only allocates ~100 characters
for the length of the path. This may be longer than the path for a CI
runner, or the path to a user's buildstream directory.
|
| | |
|
|/ |
|
|\
| |
| |
| |
| | |
Switch to roaring bitmaps for the loader dependency caches
See merge request BuildStream/buildstream!1128
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The dependency cache in LoadElement causes the peak RAM consumption of
the loader to be exceedingly large, upwards of 25GB for a test of a
Debian stack. By switching from the old dict cache to a roaring bitmap
based cache, we reduce the cost of the loader cache in RAM terms to
around 5.5GB for the same stack, which makes it plausible for the short
term.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
|/
|
|
|
|
|
| |
In order to support use of roaring bitmaps in the loader, we need to
depend on it here.
Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
|
|\
| |
| |
| |
| | |
Add --remote, -r option to bst build, inline with pull & push
See merge request BuildStream/buildstream!1119
|
|/
|
|
|
|
| |
Providing a remote will limit build's pull/push remote actions to
the given remote specifically, ignoring those defined via user or
project configuration.
|
|\
| |
| |
| |
| | |
Fail when we explictly try to include/exclude non-existent domains in a filter element
See merge request BuildStream/buildstream!1117
|
|/
|
|
|
|
|
|
|
| |
This patch also uncovered the fact that our test_filter_deps_ok() test
has been inaccurate. Thus the element built in this test
(deps-permitted.bst) has been modified so that it build depends on the
input.bst element, as it should.
tests/filter.py: Ensure deps_ok test passes
|
|\
| |
| |
| |
| |
| |
| | |
Improve our filter documentation
Closes #278
See merge request BuildStream/buildstream!1112
|
| | |
|
|/ |
|
|\
| |
| |
| |
| | |
tests/cachekey: Test cache keys are independent of target elements
See merge request BuildStream/buildstream!1123
|
|/ |
|
|\
| |
| |
| |
| | |
Cleanup loader by linking LoadElements sooner
See merge request BuildStream/buildstream!1122
|
| |
| |
| |
| | |
This simplifies the loading
|
|/
|
|
|
|
| |
This removes the need for the 'Dependency' list to then be matched
with the corresponding LoadElement and will allow iterating the
graph more easily
|
|\
| |
| |
| |
| | |
testutils/site.py: Support parsing more exotic git versions
See merge request BuildStream/buildstream!1118
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We use output of `git --version` to determine if we can run some tests
that rely on features from newer git versions. Usually, we expect the
output to be like:
git version 2.17.2
On some platforms, like MacOS, there could be a suffix after the version
string, so that it looks something like:
git version 2.17.2 (Apple Git-113)
This causes things to fail like so:
ValueError: invalid literal for int() with base 10: '2 (Apple Git-113)\n'
Fix logic around `HAVE_OLD_GIT` such that we split the output of
`git --version` without limit on how many times we split. Previously we
used to split only twice so the suffixes like `(Apple Git-113)` are not
part of the parsed version.
|
|\
| |
| |
| |
| | |
tox.ini: Specify minimum version of click-man
See merge request BuildStream/buildstream!1120
|
|/
|
|
|
|
|
|
|
|
|
| |
`click-man` versions < 0.3.0 do not properly support multiple
entrypoints. Since this was added to `tox` after `0.3.0` was released,
`tox` should never be pulling older versions. But, let's add it here for
documentation purposes.
See
https://gitlab.com/BuildStream/buildstream/merge_requests/1107#note_135187046
for some background on this.
|
|\
| |
| |
| |
| |
| |
| | |
filter.py: don't recurse when staging dependencies
Closes #883
See merge request BuildStream/buildstream!1110
|