summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* use casdirtraveltissues/tmp2Darius Makovsky2019-10-182-11/+15
|
* local.py: use extended source api for stagingDarius Makovsky2019-10-181-13/+2
|
* workspace.py: use extended source api for stagingDarius Makovsky2019-10-181-25/+3
|
* Extend Source APIDarius Makovsky2019-10-182-0/+26
| | | | | | | Add `stage_into_directory()` and `stage_into_cas()` public methods. `stage_into_directory` reimplements `LocalSource.stage()` to import the source path on the specified directory object. `stage_into_cas()` calls this after obtaining a `CasBasedDirectory` for the import.
* Merge branch 'bschubert/bump-bst-experimental-version' into 'master'bst-marge-bot2019-10-182-2/+2
|\ | | | | | | | | | | | | .gitlab-ci.yml: Update bst-plugins-experimental version Closes #1174 See merge request BuildStream/buildstream!1656
| * .gitlab-ci.yml: Update bst-plugins-experimental versionbschubert/bump-bst-experimental-versionBenjamin Schubert2019-10-182-2/+2
|/ | | | Update to the plugins to work with the new YAML updates.
* Merge branch 'traveltissues/notes' into 'master'bst-marge-bot2019-10-183-48/+21
|\ | | | | | | | | workspaces via sourcecache MR2.5 See merge request BuildStream/buildstream!1653
| * Remove special loading for workspacestraveltissues/notesDarius Makovsky2019-10-173-48/+21
|/ | | | | WorkspaceSource.init_workspace raises an exception so it is no longer necessary to retain the original source objects of the loaded element.
* Merge branch 'traveltissues/1172' into 'master'bst-marge-bot2019-10-171-1/+1
|\ | | | | | | | | | | | | tox.ini: pin mypy 0.730 Closes #1172 See merge request BuildStream/buildstream!1649
| * tox.ini: pin mypy 0.730traveltissues/1172Darius Makovsky2019-10-171-1/+1
|/
* Merge branch 'traveltissues/1140-softreset' into 'master'bst-marge-bot2019-10-167-54/+101
|\ | | | | | | | | | | | | Workspaces via sourcecache MR 2 Closes #1140 See merge request BuildStream/buildstream!1640
| * tests: add test for soft workspace resettraveltissues/1140-softresetDarius Makovsky2019-10-161-0/+52
| |
| * Use workspace_close and workspace_open to reset workspacesDarius Makovsky2019-10-164-46/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | * tracking not needed in reset * support workspace opening for already open workspaces remove existing files to preserve behaviour Add ignore_workspaces kwarg to element loading via Stream().load Setting this to true will ignore special handling of sources for open workspaces and load the sources specified rather than a workspace source. This avoids having to reload elements when re-opening workspaces.
| * _basecache.py: early return if remotes are setupDarius Makovsky2019-10-161-1/+3
| |
| * workspace.py: raise AssertionError on init_workspaceDarius Makovsky2019-10-161-7/+4
|/
* Merge branch 'bschubert/1.91.1' into 'master'1.91.1bst-marge-bot2019-10-161-0/+8
|\ | | | | | | | | NEWS: update release notes for version 1.91.1 See merge request BuildStream/buildstream!1646
| * NEWS: update release notes for version 1.91.1Benjamin Schubert2019-10-161-0/+8
|/
* Merge branch 'bschubert/yaml-tidying' into 'master'bst-marge-bot2019-10-1616-86/+77
|\ | | | | | | | | Some tidying up of our yaml API See merge request BuildStream/buildstream!1644
| * NEWS: add info about new YAML breaking changesBenjamin Schubert2019-10-161-0/+11
| |
| * node.pyx: Make 'strip_node_info' publicBenjamin Schubert2019-10-168-31/+31
| | | | | | | | | | 'strip_node_info' would be useful for multiple plugins. We should therefore allow users to use it.
| * element.py: Rework 'node_subst_list' to take the sequence directlyBenjamin Schubert2019-10-162-8/+7
| | | | | | | | Also rename it to 'node_subst_sequence_vars' to mimic 'node_subst_vars'.
| * element.py: remove 'node_subst_member' and replace with 'node_susbst_vars'Benjamin Schubert2019-10-163-37/+7
| |
| * element.py: Remove '_subst_string'Benjamin Schubert2019-10-161-15/+0
| | | | | | | | This is now unused. An alternative is 'node_subst_vars'.
| * _options/option.py: Pass the node instead of the str to 'transform'Benjamin Schubert2019-10-164-6/+9
| | | | | | | | | | | | | | This is in order to consolidate how we substitute variables. _project: use 'node_subst_vars' instead of '_subst_list' as the first one expects a node.
| * element.py: change 'substitute_variables' to take a 'ScalarNode' and renameBenjamin Schubert2019-10-162-7/+30
|/ | | | | | | | | Previously 'substitute_variable' would take a str, which would prevent us from doing nice error reporting. Using a 'ScalarNode' allows us to get our errors nicely. - rename it to 'node_subst_vars'. - add a nicer try-except around it in order to get nicer error reporting to users.
* Merge branch 'aevri/oldgit' into 'master'bst-marge-bot2019-10-161-1/+3
|\ | | | | | | | | testing/.../site: windows-friendly HAVE_OLD_GIT See merge request BuildStream/buildstream!1643
| * testing/.../site: windows-friendly HAVE_OLD_GITaevri/oldgitAngelos Evripiotis2019-10-151-1/+3
|/
* Merge branch 'juerg/prepare-fork' into 'master'bst-marge-bot2019-10-159-61/+45
|\ | | | | | | | | Replace is_fork_allowed() with prepare_fork() See merge request BuildStream/buildstream!1641
| * workspace.py: Do not close gRPC channelsJürg Billeter2019-10-152-5/+0
| | | | | | | | This is now handled in Context.prepare_fork().
| * _remote.py: Do not use subprocess to check remoteJürg Billeter2019-10-151-37/+6
| | | | | | | | This is no longer required as gRPC connections are closed before fork.
| * _context.py: Replace is_fork_allowed() with prepare_fork()Jürg Billeter2019-10-152-13/+10
| |
| * scheduler.py: Call is_fork_allowed() right before spawning jobsJürg Billeter2019-10-151-2/+7
| | | | | | | | | | gRPC channels might be opened after the scheduler has already been started. Make sure channels are closed right before spawning jobs.
| * _basecache.py: Add close_grpc_channels() methodJürg Billeter2019-10-151-3/+10
| |
| * cascache.py: Rename close_channel() to close_grpc_channels()Jürg Billeter2019-10-153-5/+5
| | | | | | | | This aligns the method name with has_open_grpc_channels().
| * cascache.py: Reset _casd_cas in close_channel()Jürg Billeter2019-10-151-0/+1
| |
| * _remote.py: Reset _initialized in close()Jürg Billeter2019-10-151-0/+2
| |
| * _sourcecache.py: Reset source_service in SourceRemote.close()Jürg Billeter2019-10-151-0/+4
| |
| * _artifactcache.py: Reset artifact_service in ArtifactRemote.close()Jürg Billeter2019-10-151-0/+4
|/
* Merge branch 'aevri/platform_win32' into 'master'bst-marge-bot2019-10-142-0/+63
|\ | | | | | | | | win32: _platform/win32: add support for win32 See merge request BuildStream/buildstream!1624
| * win32: _platform/win32: add support for win32Angelos Evripiotis2019-10-142-0/+63
|/ | | | | | Copy the approach of 'Darwin' and provide a SandboxDummy. This enables us to run 'bst workspace list' on Windows.
* Merge branch 'tlater/progress-tests' into 'master'bst-marge-bot2019-10-1011-59/+204
|\ | | | | | | | | | | | | Improve assertions around element loading progress reporting Closes #1094 See merge request BuildStream/buildstream!1608
| * Improve progress testsTristan Maat2019-10-106-44/+149
| |
| * Remove XXX comment about missing progressTristan Maat2019-10-101-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | This should be safe now - this particular point turned out to be involved in loading dependencies of junction elements, rather than anything in their projects. This meant that, yes, we were missing progress, however junction elements are not allowed to have dependencies in the first place, so we simply short-circuit their load and avoid the problem altogether. We also added more explicit progress opt-outs, since it's far too easy to end up with spurious Nones.
| * testutils/context.py: Mock tasks instead of accepting NonesTristan Maat2019-10-104-12/+27
| | | | | | | | | | | | | | | | | | | | | | | | To ensure that we only disable element loading task progress reporting for very specific code paths, we need to teach the test suite to be a bit smarter. For this reason we now mock a _Task object and return it in our mock context's relevant method invocations. Other code paths that deliberately invoke the loader without task reporting now mark their loads with NO_PROGRESS.
| * loader.py: Avoid loading deps of junction metaelementsTristan Maat2019-10-102-2/+20
|/ | | | | | | | | | | | | By avoiding this, loading metaelements of junctions becomes cheap even for junctions with erroneous dependencies, and we can ignore their task reporting. Task reporting for junction metaelement loading is confusing, since the junction element itself will never be part of the pipeline, so we'd rather not have this show up as an actual loaded element. Elements loaded from the junction are loaded separately, therefore this does not affect their progress display.
* Merge branch 'bschubert/partial-source-cache' into 'master'bst-marge-bot2019-10-102-95/+111
|\ | | | | | | | | Gracefully fallback to fetching source if remote doesn't have every blob cached See merge request BuildStream/buildstream!1635
| * _sourcecache: Fallback to fetch source when remote has missing blobsBenjamin Schubert2019-10-102-0/+52
| | | | | | | | | | | | If a remote has some missing blobs for a source, we should not fail abruptly but instead continue to the next remote, and, in the worst case, fetch the source again.
| * tests/sourcecache/fetch.py: Extract configuration of bstBenjamin Schubert2019-10-101-48/+26
| | | | | | | | | | | | | | | | Extract the configuration of the BuildStream cli as it is every time the same into a separate function. This helps seeing what is setup of the tests and what is the actual test itself.
| * tests/sourcecache/fetch.py: Extract element's creation to a functionBenjamin Schubert2019-10-101-30/+17
| | | | | | | | | | | | All tests in this file use the same method for creating an element. It is easier to write new tests to have this factored out.
| * tests/sourcecache/fetch.py: Don't hardcode the element nameBenjamin Schubert2019-10-101-7/+7
| | | | | | | | | | This removes the need of having a hardcoded element name, by simply reusing the 'element_name' variable.