| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | _scheduler/scheduler.py: Enforce SafeChildWatcher | Chandan Singh | 2019-12-24 | 1 | -0/+6 |
| | | | | | | In Python 3.8, `ThreadedChildWatcher` is the default watcher that causes issues with our scheduler. Enforce use of `SafeChildWatcher`. | ||||
| * | _state: remove unused add_maximum_progresstraveltissues/remove-unused | Darius Makovsky | 2019-12-24 | 1 | -3/+0 |
| | | |||||
| * | _sourcecache: remove unused _update_mtime | Darius Makovsky | 2019-12-24 | 1 | -6/+0 |
| | | |||||
| * | _sourcecache: remove unused _reachable_directories | Darius Makovsky | 2019-12-24 | 1 | -9/+0 |
| | | |||||
| * | _sourcecache: remove unused _remove_source | Darius Makovsky | 2019-12-24 | 1 | -3/+0 |
| | | |||||
| * | _sourcecache: remove unused list_sources | Darius Makovsky | 2019-12-24 | 1 | -10/+0 |
| | | |||||
| * | sandbox: remove unused _issue_warning | Darius Makovsky | 2019-12-24 | 1 | -10/+0 |
| | | |||||
| * | sandbox: remove unused _callback | Darius Makovsky | 2019-12-24 | 1 | -20/+0 |
| | | |||||
| * | _casbaseddirectory: remove unused _copy_link_from_filesystem | Darius Makovsky | 2019-12-24 | 1 | -3/+0 |
| | | |||||
| * | _platform/platform.py: Add alias for IBM AIX 7 powerpc | Chandan Singh | 2019-12-23 | 1 | -3/+11 |
| | | | | | | | | | | | | * `uname -m` is unusable in case of IBM AIX 7 as it reports the serial number of the machine. As a workaround, special case it and use the reported processor identifier. * tests/format/optionos.py: Don't use AIX for unsupported architecture `AIX` is special-cased in BuildStream, so use a different system for testing unsupported architectures. | ||||
| * | _platform/platform.py: Add alias for sun4v | Chandan Singh | 2019-12-23 | 1 | -0/+1 |
| | | | | | | | | | | | | Some Solaris 11 servers report `uname -m` as `sun4v`. It uses the same SPARC v9 processor architecture so add an alias for it as we already support `sparc-v9`. `uname -a` output for reference: $ uname -a SunOS sundev1 5.11 11.3 sun4v sparc sun4v Solaris | ||||
| * | job.py: Do not call Process.close() | Jürg Billeter | 2019-12-19 | 1 | -1/+0 |
| | | | | | | | | | | | | As we handle subprocess termination by pid with an asyncio child watcher, the multiprocessing.Process object does not get notified when the process terminates. And as the child watcher reaps the process, the pid is no longer valid and the Process object is unable to check whether the process is dead. This results in Process.close() raising a ValueError. Fixes: 9c23ce5c ("job.py: Replace message queue with pipe") | ||||
| * | _platform/platform.py: Add powerpc64 and powerpc64le | Javier Jardón | 2019-12-17 | 1 | -0/+2 |
| | | |||||
| * | tests: source_determinism.py: Skip flaky test with buildbox-run | Jürg Billeter | 2019-12-17 | 1 | -0/+4 |
| | | | | | | The tests are flaky due to non-deterministic timestamps in the output of `ls -l`. See https://gitlab.com/BuildStream/buildstream/issues/1218 | ||||
| * | testing/_utils/site.py: Add BUILDBOX_RUN variable | Jürg Billeter | 2019-12-17 | 1 | -0/+9 |
| | | |||||
| * | testing/runcli.py: Add BST_CAS_STAGING_ROOT environment variable | Jürg Billeter | 2019-12-17 | 1 | -0/+7 |
| | | | | | | This is required for testing with userchroot to create staging directories in a system-specific prefix. | ||||
| * | utils.py: Use `onerror` in `_force_rmtree` | Tristan Maat | 2019-12-17 | 1 | -11/+16 |
| | | | | | | | | | | If we don't, and encounter a file we don't own, but have permission to delete, we'll fail with EPERM, since we won't be able to change permissions but will be able to delete it. Instead, we now try to change permissions and remove a file *after* we realize we couldn't at first. | ||||
| * | sources/git.py: Document that checkout-submodules is recursivetmewett/recursive-git | Tom Mewett | 2019-12-13 | 1 | -2/+6 |
| | | |||||
| * | _gitsourcebase.py: Rename and refactor _ignore_submodule | Tom Mewett | 2019-12-13 | 1 | -11/+12 |
| | | | | | | "Ignore submodule" sounds like it could be an action, so this changes the name to more clearly be a predicate. | ||||
| * | _gitsourcebase.py: Manage submodules recursively | Tom Mewett | 2019-12-13 | 1 | -56/+65 |
| | | | | | | | | | | | | Previously, GitSourceBase would only consider immediate submodules of the superproject. It now fetches and stages recursively. To achieve this, this commit somewhat refactors the relationship between GitMirror and GitSourceBase. Enumerating GitMirrors for the submodules is now done in GitMirror itself. GitSourceBase recursively iterates these mirror classes with _recurse_submodules and applies the source configuration with _configure_submodules. | ||||
| * | _gitsourcebase.py: Add and update some comments on _GitMirror | Tom Mewett | 2019-12-13 | 1 | -3/+14 |
| | | |||||
| * | element.py: Only cache sources if some had to be fetchedbschubert/cleanup-element-fetch | Benjamin Schubert | 2019-12-13 | 1 | -1/+1 |
| | | |||||
| * | element.py: Remove temporary variable | Benjamin Schubert | 2019-12-13 | 1 | -2/+2 |
| | | | | | | This variable is used only once, when the original is used multiple times. This only increases the cognitive load | ||||
| * | job.py: Replace message queue with pipejuerg/job-pipe | Jürg Billeter | 2019-12-12 | 1 | -44/+40 |
| | | | | | | | | | A lightweight unidirectional pipe is sufficient to pass messages from the child job process to its parent. This also avoids the need to access the private `_reader` instance variable of `multiprocessing.Queue`. | ||||
| * | tests: Drop buildbox xfails | Jürg Billeter | 2019-12-10 | 2 | -7/+0 |
| | | |||||
| * | Drop buildbox sandbox | Jürg Billeter | 2019-12-10 | 2 | -275/+0 |
| | | | | | Replaced by buildbox-run. | ||||
| * | _platform: Support experimental buildbox-run sandbox on all platforms | Jürg Billeter | 2019-12-10 | 2 | -3/+25 |
| | | | | | | The buildbox-run sandbox is used only if BST_FORCE_SANDBOX is set to buildbox-run. | ||||
| * | Add buildbox-run sandbox | Benjamin Schubert | 2019-12-10 | 1 | -0/+148 |
| | | |||||
| * | _sandboxreapi.py: Pass sandbox flags to _execute_action() | Jürg Billeter | 2019-12-10 | 2 | -3/+3 |
| | | |||||
| * | _project.py: Allow junctions to use parent remote | Thomas Coldrick | 2019-12-10 | 1 | -3/+3 |
| | | | | | | | | | | | | | At present it doesn't seem to be possible to use ignore-remote-caches and also cache cross-junction artifacts in one's own cache. By passing the parent caches to the junction we ensure that things get cached in the parent cache. For a motivating purpose, consider that one may have a (patched) junction which specifies a cache incompatible with master. This will throw warnings at every invokation of bst, or you won't cache cross-junction artifacts. | ||||
| * | _remote: ignore unused args | Darius Makovsky | 2019-12-09 | 1 | -1/+1 |
| | | |||||
| * | _profile: ignore unused args | Darius Makovsky | 2019-12-09 | 1 | -1/+1 |
| | | |||||
| * | resources: remove [un]register_exclusive_interest() | Darius Makovsky | 2019-12-09 | 1 | -50/+0 |
| | | |||||
| * | _project: remove create_artifact_element() | Darius Makovsky | 2019-12-09 | 1 | -13/+0 |
| | | |||||
| * | _pipeline: remove subtract_elements() | Darius Makovsky | 2019-12-09 | 1 | -15/+0 |
| | | |||||
| * | _pipeline: remove targets_include() | Darius Makovsky | 2019-12-09 | 1 | -17/+0 |
| | | |||||
| * | _context: remove set_artifact_directories_optional() | Darius Makovsky | 2019-12-09 | 1 | -10/+0 |
| | | |||||
| * | casserver: remove _digest_from_*_resource_name() | Darius Makovsky | 2019-12-09 | 1 | -45/+0 |
| | | |||||
| * | casserver: remove ArtifactStatus() | Darius Makovsky | 2019-12-09 | 1 | -4/+0 |
| | | |||||
| * | cascache: remove update_tree_mtime() | Darius Makovsky | 2019-12-09 | 1 | -4/+0 |
| | | |||||
| * | _artifactcache: remove _reachable_digests() | Darius Makovsky | 2019-12-09 | 1 | -18/+0 |
| | | |||||
| * | _artifactcache: remove _reachable_directories() | Darius Makovsky | 2019-12-09 | 1 | -18/+0 |
| | | |||||
| * | _artifactcache: remove get_artifact_logs() | Darius Makovsky | 2019-12-09 | 1 | -16/+0 |
| | | |||||
| * | _basecache: remove has_open_grpc_channels() | Darius Makovsky | 2019-12-09 | 1 | -12/+0 |
| | | |||||
| * | _workspaces: remove get_key() | Darius Makovsky | 2019-12-09 | 1 | -38/+0 |
| | | |||||
| * | _workspaces: remove invalidate_key() | Darius Makovsky | 2019-12-09 | 1 | -8/+0 |
| | | |||||
| * | element: remove _is_required()/__required | Darius Makovsky | 2019-12-09 | 1 | -8/+0 |
| | | |||||
| * | element: Remove unused method (__reset_cache_data) | Darius Makovsky | 2019-12-09 | 1 | -18/+0 |
| | | |||||
| * | scheduler.py: Only run thread-safe code in callbacks from watchersbschubert/stricter-asyncio-handling | Benjamin Schubert | 2019-12-07 | 2 | -2/+12 |
| | | | | | | | | | Per https://docs.python.org/3/library/asyncio-policy.html#asyncio.AbstractChildWatcher.add_child_handler, the callback from a child handler must be thread safe. Not all our callbacks were. This changes all our callbacks to schedule a call for the next loop iteration instead of executing it directly. | ||||
| * | job.py: Only start new jobs in a `with watcher:` block | Benjamin Schubert | 2019-12-07 | 1 | -26/+5 |
| | | | | | | | | | The documentation (https://docs.python.org/3/library/asyncio-policy.html#asyncio.AbstractChildWatcher) is apparently missing this part, but the code mentions that new processes should only ever be called inside a with block: https://github.com/python/cpython/blob/99eb70a9eb9493602ff6ad8bb92df4318cf05a3e/Lib/asyncio/unix_events.py#L808 | ||||
