| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Currently, with multiple targets, we would go through all the elements
in the target and sort them, even though they might already be sorted.
This ensures we sort every element only once.
|
|\
| |
| |
| |
| | |
introduce cross-repo standardized source tests
See merge request BuildStream/buildstream!1757
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
This is not part of the test running itself, but more handling
afterwards
|
| |
| |
| |
| |
| | |
These tests don't do anything, as they have no plugins registered at
all.
|
| | |
|
| |
| |
| |
| | |
This stops the tests from being interlinked for BuildStream itself.
|
| | |
|
|/ |
|
|\
| |
| |
| |
| | |
_sandboxreapi.py: Improve batch command logging
See merge request BuildStream/buildstream!1793
|
| |
| |
| |
| |
| | |
When commands are batched, the failure message can't include the command
group label with buildbox-run.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This adds a timed activity message to bring batch command logging for
REAPI-based sandboxes in line with the default sandbox as far as
possible.
Thix fixes 3 xfails with buildbox-run.
|
|/
|
|
| |
This will be used to improve batch command logging with REAPI.
|
|\
| |
| |
| |
| |
| |
| | |
scheduler.py: Handle exceptions that are caught under the event loop
Closes #1245
See merge request BuildStream/buildstream!1788
|
|/
|
|
|
|
| |
The default exception handler of the async event loop bypasses
our custom global exception handler. Ensure that isn't the case,
as these exceptions are BUGS & should cause bst to exit.
|
|\
| |
| |
| |
| |
| |
| | |
_frontend/widget.py: show_pipeline() Don't show buildable for junction
Closes #1205
See merge request BuildStream/buildstream!1764
|
|/
|
|
|
| |
Instead output "junction" in magenta for info. Also include test
in format/junctions.py
|
|\
| |
| |
| |
| |
| |
| | |
Make PipelineSelection a proper enum type
Closes #1135
See merge request BuildStream/buildstream!1787
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PipelineSelection is one of the few stringy types that weren't
converted to FastEnum, presumably because we lacked a mechanism for
only allowing a sub-set of options as CLI arguments.
We've re-designed this since, and as part of the UI/UX refactor we'd
like to generally clean this, but that is probably still a while out.
Since that hasn't happened, for now, this adds a feature to the
FastEnumType that allows specifying only a subset of values is allowed
for a specific command, so that we can use the type as a proper
enum.
We also get rid of a number of accidental uses of strings, and move
PipelineSelection to buildstream.types so that we don't have a
significant import overhead for it.
|
|\
| |
| |
| |
| | |
tests/artifactcache/config.py: Cast our tmpdir to a string
See merge request BuildStream/buildstream!1790
|
|/
|
|
| |
Monkeypatch is *really* scared of non-str values. Let's calm it down.
|
|\
| |
| |
| |
| | |
setup.py: Remove check for bubblewrap
See merge request BuildStream/buildstream!1789
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bubblewrap is not a hard requirement for BuildStream now that it
supports other sandboxing mechanisms, i.e. buildbox-run and remote
execution.
Aside from that, this check is already a bit misplaced in `setup.py`.
Bubblewrap is a runtime requirement, so warning about it at build time
isn't quite right. It makes sense when BuildStream is being installed
from source, but not when it is installed from any binary distribution.
Note that the corresponding sandbox implementation already does this
check at runtime.
|
|\
| |
| |
| |
| | |
Prepare NEWS for 1.91.3 development snapshot release
See merge request BuildStream/buildstream!1784
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
_platform: Don't use psutil.Process.cpu_affinity on unsupported platforms
Closes #1244
See merge request BuildStream/buildstream!1786
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
`psutil.Process.cpu_affinity` is not available on many non-Linux
platforms, like AIX and Solaris. We already have such a case with Darwin
where we need to resort to using `os.cpu_count()`.
Rather than adding more subclasses and overrides, add that logic as a
fallback in the main `Process` class. `os.cpu_count()` should generally
always be available, so hopefully we will only need to override this in
future too much or at all.
Fixes #1244.
|
|\
| |
| |
| |
| | |
Drop chroot sandboxing backend
See merge request BuildStream/buildstream!1777
|
| | |
|
| |
| |
| |
| |
| | |
The chroot sandboxing backend didn't work across platforms and has been
replaced by the buildbox-run sandboxing backend.
|
| | |
|
|/
|
|
| |
The chroot sandboxing backend will be dropped.
|
|\
| |
| |
| |
| | |
requirements: Add dependency on ruamel.yaml.clib
See merge request BuildStream/buildstream!1783
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Python3.8, when `ruamel.yaml.clib` is not installed, BuildStream ends
up throwing a stack trace on any and all operations. This manifests
itself in the following form:
$ bst show hello.bst
Error loading user configuration:
/venv/lib/python3.8/site-packages/buildstream/data/userconfig.yaml:
Severely malformed YAML:
'NoneType' object is not callable
This is also the root cause of downstream issues like
https://gitlab.com/BuildStream/bst-plugins-container/issues/19.
The fix is simple - to add a hard dependency on `ruamel.yaml.clib`, since
we explicitly import `yaml.Cparser` -
https://gitlab.com/BuildStream/buildstream/blob/master/src/buildstream/_yaml.pyx#L298
- that doesn't come from the main `ruamel.yaml` package.
This works fine on Python < 3.8 because `ruamel.yaml` itself has a hard
dependency on `ruamel.yaml.clib` for those versions. The Python 3.8 CI
pipeline also works because our requirements were frozen using a Python
3.7 interpreter and hence already have this requirement.
|
|\
| |
| |
| |
| |
| |
| | |
Add test environment for Python 3.8
Closes #1173
See merge request BuildStream/buildstream!1647
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Bump the testsuite image versions in order to get the latest Python
3.8 image, as we need at least Python 3.8.1. Python 3.8.0 suffers from
an issue that causes recursion errors when using `shutil.copytree`.
See upstream issue (https://bugs.python.org/issue38688) for more
details on that.
* Add partial support for running tests on Python 3.8. Coverage still
doesn't play well with our tests on 3.8.
https://gitlab.com/BuildStream/buildstream/issues/1173 is tracking
that.
|
| | |
|
| |
| |
| |
| |
| | |
In Python 3.8, `ThreadedChildWatcher` is the default watcher that causes
issues with our scheduler. Enforce use of `SafeChildWatcher`.
|
|/
|
|
|
|
| |
The command for running external tests only had the `-external`
qualifier for one of the tests, so it ended up duplicating the first
command for the first two environments.
|
|\
| |
| |
| |
| |
| |
| | |
Fix running tests without `--develop` flag
Closes #1121
See merge request BuildStream/buildstream!1782
|
| |
| |
| |
| |
| |
| | |
This is to prevent us from breaking `*-nocover` environments, and in
general, ensure that we can run tests correctly without `--develop`
flag.
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
Generally we don't have any tests in the `src` directory so we don't
need to collect anything from that directory. The only exception to this
are the `sourcetests`, but they add their own collection hook so they
are not affected by this.
This fixes an issue where pytest gets confused upon finding two
different `conftest.py` modules - one in the `src` directory and one in
the virtual environment.
Fixes #1121.
|
|\
| |
| |
| |
| | |
Remove unused functions 2
See merge request BuildStream/buildstream!1781
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|