summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* _pipeline.py: Add task progress to check_remote()jennis/tasksJames Ennis2019-09-041-1/+5
|
* _pipeline.py: Add task progress to resolve_elements()James Ennis2019-09-041-1/+8
| | | | | | | Resolving the initial cached state of Elements could potentially take a while, especially for large projects or local caches which are on a latent filesystem. We should report progress.
* _loader.py: Cache how many Elements we loadJames Ennis2019-09-042-5/+7
|
* _messenger.py: Don't display subtask information before 3 secondsJames Ennis2019-09-041-3/+10
| | | | | | | Prior to this patch, subtask information was always displayed, regardless of how long it took. Now, I've implemented a _DISPLAY_LIMIT of 3 seconds. If a task takes longer than 3 seconds, the subtask information will be printed.
* Merge branch 'traveltissues/1118' into 'master'bst-marge-bot2019-09-041-2/+2
|\ | | | | | | | | | | | | Fix typo in node attribute Closes #1118 See merge request BuildStream/buildstream!1582
| * Fix typo in node attributeDarius Makovsky2019-09-041-2/+2
|/ | | | closes #1118
* Merge branch 'juerg/synthetic-file-index' into 'master'bst-marge-bot2019-09-044-16/+33
|\ | | | | | | | | node.pyx: _SYNTHETIC_FILE_INDEX must not be module-private See merge request BuildStream/buildstream!1576
| * tests: Add autouse fixture to reset global state in node.pyxjuerg/synthetic-file-indexJürg Billeter2019-09-043-3/+8
| |
| * node.pyx: Add _reset_global_state() methodJürg Billeter2019-09-041-0/+12
| | | | | | | | | | This will be used by the test suite to improve isolation between tests running in the same process.
| * node.pyx: _SYNTHETIC_FILE_INDEX must not be module-privateJürg Billeter2019-09-041-13/+13
|/ | | | | | | | | | | | | | | | | | | | It's declared in node.pxd and used by _yaml.pyx. This fixes the following error when running individual tests: src/buildstream/testing/runcli.py:563: in run_project_config base_config = _yaml.load_data(config) src/buildstream/_yaml.pyx:293: in buildstream._yaml.load_data cpdef MappingNode load_data(str data, int file_index=node._SYNTHETIC_FILE_INDEX, str file_name=None, bint copy_tree=False): src/buildstream/_yaml.pyx:324: in buildstream._yaml.load_data node._set_root_node_for_file(file_index, contents) > f_info = <__FileInfo> __FILE_LIST[file_index] E IndexError: list index out of range src/buildstream/node.pyx:1550: IndexError Fixes: 97b8ab7d ("node: Mark module-private functions and classes...")
* Merge branch 'juerg/await-threads' into 'master'bst-marge-bot2019-09-041-3/+15
|\ | | | | | | | | utils.py: Wait for threads to exit in _is_single_threaded() See merge request BuildStream/buildstream!1583
| * utils.py: Wait for threads to exit in _is_single_threaded()Jürg Billeter2019-09-041-3/+15
|/ | | | gRPC threads are not joined when shut down.
* Merge branch 'juerg/http-test-server' into 'master'bst-marge-bot2019-09-031-10/+1
|\ | | | | | | | | tests/testutils/http_server.py: Drop queue to avoid lingering thread See merge request BuildStream/buildstream!1581
| * tests/testutils/http_server.py: Drop queue to avoid lingering threadjuerg/http-test-serverJürg Billeter2019-09-031-10/+1
|/ | | | | | | | | | Some CI jobs still sporadically encounter a thread that wasn't cleaned up in tests that use the HTTP server, despite calling Queue.close() and Queue.join_thread(). As a simple SIGTERM signal should suffice to properly terminate the HTTP server child process, this simply removes the queue and also the extra thread for serving requests.
* Merge branch 'jjardon/badge' into 'master'bst-marge-bot2019-09-031-1/+1
|\ | | | | | | | | README.rst: Point badge to bst-1 branch See merge request BuildStream/buildstream!1580
| * README.rst: Point badge to latest bst 1.x releasejjardon/badgeJavier Jardón2019-09-031-1/+1
|/
* Merge branch 'juerg/fork' into 'master'bst-marge-bot2019-09-0316-150/+268
|\ | | | | | | | | Replace safeguard for fork with multiple threads See merge request BuildStream/buildstream!1577
| * tests: Catch tests that don't shut down background threadsjuerg/forkJürg Billeter2019-09-033-0/+49
| |
| * testing/_forked.py: Update _MAIN_PID for tests running in subprocessesJürg Billeter2019-09-031-0/+6
| | | | | | | | | | This reduces the difference between regular execution and the test environment.
| * cascache.py: Remove fork_disabled mechanismJürg Billeter2019-09-031-12/+0
| | | | | | | | The fork safeguard is now handled by Context.is_fork_allowed().
| * casserver.py: Remove notify_fork_disabled() callJürg Billeter2019-09-031-4/+0
| | | | | | | | The fork safeguard is now handled by Context.is_fork_allowed().
| * _context.py: Remove unused disable_fork() methodJürg Billeter2019-09-031-12/+0
| |
| * _stream.py: Remove disable_fork() callsJürg Billeter2019-09-031-5/+0
| | | | | | | | The fork safeguard is now handled by Context.is_fork_allowed().
| * scheduler.py: Use Context.is_fork_allowed()Jürg Billeter2019-09-031-1/+1
| |
| * _context.py: Add is_fork_allowed() methodJürg Billeter2019-09-031-0/+17
| |
| * _basecache.py: Add has_open_grpc_channels() methodJürg Billeter2019-09-031-0/+12
| |
| * cascache.py: Add has_open_grpc_channels() methodJürg Billeter2019-09-031-0/+8
| |
| * utils.py: Add _is_single_threaded() methodJürg Billeter2019-09-031-0/+20
| | | | | | | | | | This will be used to safeguard against fork issues with multiple threads.
| * tests/testutils/http_server.py: Close queue to stop background threadJürg Billeter2019-09-031-0/+2
| |
| * tests/artifactcache: Use context manager for gRPC channelsJürg Billeter2019-09-031-50/+50
| |
| * _sandboxremote.py: Use context manager for CASRemote instancesJürg Billeter2019-09-031-43/+45
| |
| * _sandboxremote.py: Use context manager for gRPC channelsJürg Billeter2019-09-031-28/+30
| |
| * _context.py: Release artifactcache and sourcecache resourcesJürg Billeter2019-09-031-0/+6
| |
| * _basecache.py: Add release_resources() methodJürg Billeter2019-09-031-0/+10
| |
| * casremote.py: Add close() method to close gRPC channelJürg Billeter2019-09-031-0/+12
| | | | | | | | Also support use as context manager.
| * cascache.py: Close gRPC channel in release_resources()Jürg Billeter2019-09-031-0/+5
| |
| * requirements: Update grpcio to 1.23.0Jürg Billeter2019-09-031-1/+1
|/ | | | | I see aborts and hangs related to gRPC locks with grpcio 1.17.1. Updating grpcio to 1.23.0 fixes these issues.
* Merge branch 'chandan/mypy' into 'master'bst-marge-bot2019-09-0322-330/+567
|\ | | | | | | | | Add type hints to public API code See merge request BuildStream/buildstream!1459
| * .gitlab-ci.yml: Run mypy for validating changeschandan/mypyChandan Singh2019-09-021-0/+8
| |
| * .gitignore: Add mypy cache directoryChandan Singh2019-09-021-0/+3
| |
| * Add initial mypy configuration and typesChandan Singh2019-09-0220-329/+555
| | | | | | | | | | | | | | | | | | | | As a first step, add type hints to variables whose type `mypy` cannot infer automatically. This is the minimal set of type hints that allow running `mypy` without any arguments, and having it not fail. We currently ignore C extensions that mypy can't process directly. Later, we can look into generating stubs for such modules (potentially automatically).
| * buildstream/utils.py: Fix parameter types for calendar.timegmChandan Singh2019-09-021-1/+1
|/ | | | | `calendar.timegm()` accepts a tuple, but we were giving it a list. This was highlighted by `mypy`.
* Merge branch 'coldtom/validate-patch' into 'master'bst-marge-bot2019-09-021-0/+1
|\ | | | | | | | | plugins/sources/patch.py: Validate keys See merge request BuildStream/buildstream!1569
| * plugins/sources/patch.py: Validate keysThomas Coldrick2019-09-021-0/+1
|/ | | | | | Currently we don't validate the keys on a `patch` source, leading to nastier-looking error messages when `path` is missing. This simply makes us validate the yaml, as we do for other plugins.
* Merge branch 'tmewett/cli-defaults' into 'master'bst-marge-bot2019-09-021-35/+35
|\ | | | | | | | | | | | | cli.py: Use Click's show_default for defaults in help text Closes #1110 See merge request BuildStream/buildstream!1572
| * cli.py: Use Click's show_default for defaults in help textTom Mewett2019-09-021-35/+35
|/
* Merge branch 'becky/list_contents_long_option' into 'master'bst-marge-bot2019-09-027-22/+147
|\ | | | | | | | | | | | | Addition of --long option to list-contents Closes #773 See merge request BuildStream/buildstream!1555
| * Addition of --long option to list-contents:becky/list_contents_long_optionRebecca Grayson2019-09-027-22/+147
|/ | | | | | | | | --long or -l will provide the user with extra information about the contents of the artifacts, including permission mode, file type, size and name. In order for this to work, the way in which list-contents works has been modified. A test and NEWS entry have also been added within this commit
* Merge branch 'becky/cleanup_artifact_tests' into 'master'bst-marge-bot2019-09-024-241/+334
|\ | | | | | | | | Cleanup: splitting artifact.py into separate test files See merge request BuildStream/buildstream!1570
| * Splitting up tests/frontend/artifact.pyRebecca Grayson2019-09-024-241/+334
|/ | | | | | | Artifact.py consists of multiple tests for the different artifact subcommands all grouped together. This MR splits the tests relevant to each subcommand up into separate test files, making it easier to find the relevant test.