summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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.
| * tests/sourcecache/fetch.py: Extract logic to move local cas to remoteBenjamin Schubert2019-10-101-10/+9
|/ | | | This method can be reused and shared, and makes the tests more readable.
* Merge branch 'traveltissues/strictxfail' into 'master'bst-marge-bot2019-10-0911-18/+19
|\ | | | | | | | | setup.cfg: make xfails strict by default See merge request BuildStream/buildstream!1632
| * setup.cfg: make xfail marks strict by defaulttraveltissues/strictxfailDarius Makovsky2019-10-099-16/+17
| | | | | | | | tests: remove strict kwargs from xfail marks
| * tests: unmark tests passing with buildboxDarius Makovsky2019-10-092-2/+2
|/
* Merge branch 'bschubert/fuse-permissions' into 'master'bst-marge-bot2019-10-091-14/+35
|\ | | | | | | | | | | | | _fuse/mount.py: Monitor the fuse process while waiting for the mount Closes #1158 See merge request BuildStream/buildstream!1634
| * _fuse/mount.py: Monitor the fuse process while waiting for the mountbschubert/fuse-permissionsBenjamin Schubert2019-10-091-14/+35
|/ | | | | | | | | | | In some cases, users might not have permissions to use fuse, or fuse might crash. This was previously leading to a hanged process and, with chance an error message on the UI, which could be overwritten. This ensures we are explicitely monitoring the fuse process while waiting and adds better reporting of the fuse errors.
* Merge branch 'bschubert/fix-overnight' into 'master'Javier Jardón2019-10-091-3/+3
|\ | | | | | | | | | | | | .gitlab-ci.yml: Bump versions for overnight tests Closes #1090 See merge request BuildStream/buildstream!1631
| * .gitlab-ci.yml: Bump versions for overnight testsBenjamin Schubert2019-10-091-3/+3
|/ | | | | This fixes the overnight tests by updating the freedesktop-sdk and the bst-plugins-experimental version
* Merge branch 'bschubert/fix-empty-buildtree' into 'master'bst-marge-bot2019-10-083-2/+47
|\ | | | | | | | | | | | | _artifactcache.py: Don't push artifact blobs when no files are present Closes #1145 See merge request BuildStream/buildstream!1630
| * _artifactcache.py: Don't push artifact blobs when no files are presentBenjamin Schubert2019-10-083-2/+47
|/ | | | | | | | | | Previously, if an artifact proto had no files at all in it, we would fail at pushing it, making BuildStream crash. When no files are part of an artifact proto, we can short-circuit the call and avoid pushing them unecessarily. - Add a test to ensure this doesn't come back.
* Merge branch 'bschubert/casd-listen-failures' into 'master'bst-marge-bot2019-10-083-2/+44
|\ | | | | | | | | | | | | Listen for casd failures and abort the run when they happen Closes #1157 See merge request BuildStream/buildstream!1620