summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* loader.py: Optimize sorting of elements when they are multiple targetsbschubert/optimize-loading-multiple-targetsBenjamin Schubert2020-01-142-3/+16
| | | | | | | 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.
* Merge branch 'bschubert/standardized-tests' into 'master'Benjamin Schubert2020-01-1327-351/+62
|\ | | | | | | | | introduce cross-repo standardized source tests See merge request BuildStream/buildstream!1757
| * tox.ini: Add a external plugins environment test and run it in CIBenjamin Schubert2020-01-134-9/+57
| | | | | | | | | | | | | | | | | | | | | | 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.
| * tox.ini: Move coverage handling in commands_post.Benjamin Schubert2020-01-131-2/+3
| | | | | | | | | | This is not part of the test running itself, but more handling afterwards
| * tox.ini: Remove external plugins testsBenjamin Schubert2020-01-133-91/+3
| | | | | | | | | | These tests don't do anything, as they have no plugins registered at all.
| * tests: Remove some ostree stuffThomas Coldrick2020-01-132-2/+0
| |
| * Tests: Remove bst-plugins-experimental dependencyThomas Coldrick2020-01-1314-99/+2
| | | | | | | | This stops the tests from being interlinked for BuildStream itself.
| * Remove integration tests for moved pluginsThomas Coldrick2020-01-137-150/+0
| |
| * tox.ini: Remove duplicated move of the coverage fileBenjamin Schubert2020-01-131-1/+0
|/
* Merge branch 'juerg/batch-command-logging' into 'master'Jürg Billeter2020-01-135-7/+17
|\ | | | | | | | | _sandboxreapi.py: Improve batch command logging See merge request BuildStream/buildstream!1793
| * tests/integration/workspace.py: Relax assert for buildbox-runjuerg/batch-command-loggingJürg Billeter2020-01-131-2/+2
| | | | | | | | | | When commands are batched, the failure message can't include the command group label with buildbox-run.
| * _sandboxreapi.py: Improve batch command loggingJürg Billeter2020-01-133-5/+9
| | | | | | | | | | | | | | | | 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.
| * sandbox.py: Add combined_label() method to batch itemsJürg Billeter2020-01-131-0/+6
|/ | | | This will be used to improve batch command logging with REAPI.
* Merge branch 'tpollard/loop_exception' into 'master'traveltissues/mr5Tom Pollard2020-01-102-2/+25
|\ | | | | | | | | | | | | scheduler.py: Handle exceptions that are caught under the event loop Closes #1245 See merge request BuildStream/buildstream!1788
| * scheduler.py: Handle exceptions that are caught under the event looptpollard/loop_exceptionTom Pollard2020-01-102-2/+25
|/ | | | | | 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.
* Merge branch 'tpollard/showjunction' into 'master'Tom Pollard2020-01-094-2/+20
|\ | | | | | | | | | | | | _frontend/widget.py: show_pipeline() Don't show buildable for junction Closes #1205 See merge request BuildStream/buildstream!1764
| * _frontend/widget.py: show_pipeline() Don't show buildable for junctionTom Pollard2020-01-094-2/+20
|/ | | | | Instead output "junction" in magenta for info. Also include test in format/junctions.py
* Merge branch 'tlater/pipeline-enums' into 'master'Tristan Maat2020-01-085-120/+162
|\ | | | | | | | | | | | | Make PipelineSelection a proper enum type Closes #1135 See merge request BuildStream/buildstream!1787
| * _pipeline.py: Refactor if/elif/else usageTristan Maat2020-01-081-16/+15
| |
| * Make PipelineSelection a proper enum typeTristan Maat2020-01-085-110/+153
|/ | | | | | | | | | | | | | | | | | 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.
* Merge branch 'tlater/fix-monkeypatch-warning' into 'master'Tristan Maat2020-01-081-1/+1
|\ | | | | | | | | tests/artifactcache/config.py: Cast our tmpdir to a string See merge request BuildStream/buildstream!1790
| * tests/artifactcache/config.py: Cast our tmpdir to a stringtlater/fix-monkeypatch-warningTristan Daniël Maat2020-01-081-1/+1
|/ | | | Monkeypatch is *really* scared of non-str values. Let's calm it down.
* Merge branch 'chandan/no-warn-bwrap' into 'master'Javier Jardón2020-01-081-51/+0
|\ | | | | | | | | setup.py: Remove check for bubblewrap See merge request BuildStream/buildstream!1789
| * setup.py: Remove check for bubblewrapchandan/no-warn-bwrapChandan Singh2020-01-071-51/+0
|/ | | | | | | | | | | | | | 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.
* Merge branch 'chandan/tag-1.91.3' into 'master'1.91.3Chandan Singh2020-01-021-0/+18
|\ | | | | | | | | Prepare NEWS for 1.91.3 development snapshot release See merge request BuildStream/buildstream!1784
| * Prepare NEWS for 1.91.3 development snapshot releasechandan/tag-1.91.3Chandan Singh2020-01-021-0/+18
|/
* Merge branch 'chandan/fix-cpu-count' into 'master'Chandan Singh2020-01-022-9/+9
|\ | | | | | | | | | | | | _platform: Don't use psutil.Process.cpu_affinity on unsupported platforms Closes #1244 See merge request BuildStream/buildstream!1786
| * _platform: Don't use psutil.Process.cpu_affinity on unsupported platformschandan/fix-cpu-countChandan Singh2019-12-312-9/+9
|/ | | | | | | | | | | | | `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.
* Merge branch 'juerg/drop-chroot-sandbox' into 'master'Chandan Singh2019-12-319-407/+0
|\ | | | | | | | | Drop chroot sandboxing backend See merge request BuildStream/buildstream!1777
| * tests: Drop chroot xfail/skipifJürg Billeter2019-12-316-12/+0
| |
| * sandbox: Drop chroot sandboxing backendJürg Billeter2019-12-311-354/+0
| | | | | | | | | | The chroot sandboxing backend didn't work across platforms and has been replaced by the buildbox-run sandboxing backend.
| * _platform: Drop support for chroot sandboxJürg Billeter2019-12-311-21/+0
| |
| * .gitlab-ci.yml: Drop unix CI jobJürg Billeter2019-12-311-20/+0
|/ | | | The chroot sandboxing backend will be dropped.
* Merge branch 'chandan/dependon-yaml.clib' into 'master'Chandan Singh2019-12-301-0/+1
|\ | | | | | | | | requirements: Add dependency on ruamel.yaml.clib See merge request BuildStream/buildstream!1783
| * requirements: Add dependency on ruamel.yaml.clibchandan/dependon-yaml.clibChandan Singh2019-12-301-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Merge branch 'chandan/python3.8' into 'master'Chandan Singh2019-12-253-21/+42
|\ | | | | | | | | | | | | Add test environment for Python 3.8 Closes #1173 See merge request BuildStream/buildstream!1647
| * .gitlab-ci.yml: Add test environment for Python 3.8chandan/python3.8Chandan Singh2019-12-241-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * tox.ini: Add python3.8 to default environment listChandan Singh2019-12-241-17/+17
| |
| * _scheduler/scheduler.py: Enforce SafeChildWatcherChandan Singh2019-12-241-0/+6
| | | | | | | | | | In Python 3.8, `ThreadedChildWatcher` is the default watcher that causes issues with our scheduler. Enforce use of `SafeChildWatcher`.
| * .gitlab-ci.yml: Fix command for randomized external testsChandan Singh2019-12-241-1/+1
|/ | | | | | 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.
* Merge branch 'chandan/fix-nocover-tests' into 'master'Chandan Singh2019-12-242-1/+9
|\ | | | | | | | | | | | | Fix running tests without `--develop` flag Closes #1121 See merge request BuildStream/buildstream!1782
| * .gitlab-ci.yml: Add CI job to run tests without `--develop` flagChandan Singh2019-12-241-0/+8
| | | | | | | | | | | | This is to prevent us from breaking `*-nocover` environments, and in general, ensure that we can run tests correctly without `--develop` flag.
| * setup.cfg: Don't collect tests from src directoryChandan Singh2019-12-241-1/+1
|/ | | | | | | | | | | | | 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.
* Merge branch 'traveltissues/remove-unused' into 'master'Darius Makovsky2019-12-244-64/+0
|\ | | | | | | | | Remove unused functions 2 See merge request BuildStream/buildstream!1781
| * _state: remove unused add_maximum_progresstraveltissues/remove-unusedDarius Makovsky2019-12-241-3/+0
| |
| * _sourcecache: remove unused _update_mtimeDarius Makovsky2019-12-241-6/+0
| |
| * _sourcecache: remove unused _reachable_directoriesDarius Makovsky2019-12-241-9/+0
| |
| * _sourcecache: remove unused _remove_sourceDarius Makovsky2019-12-241-3/+0
| |
| * _sourcecache: remove unused list_sourcesDarius Makovsky2019-12-241-10/+0
| |
| * sandbox: remove unused _issue_warningDarius Makovsky2019-12-241-10/+0
| |