summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add `bst source push/pull` commandstlater/source-pushllTristan Maat2019-08-236-1/+193
|
* Merge branch 'jennis/add_project_to_proto' into 'master'bst-marge-bot2019-08-1943-376/+393
|\ | | | | | | | | Cache key calculation changes: add project name and name of dependencies See merge request BuildStream/buildstream!1548
| * NEWS: Add NEWS entry following change in cache key calculationjennis/add_project_to_protoJames Ennis2019-08-191-0/+7
| |
| * artifact.proto: Add the project name to the build dependency informationJames Ennis2019-08-1941-369/+378
| | | | | | | | | | | | | | | | | | We also need to store the project name of dependencies in the proto in order to reconstruct the graph. This also means that we must include the project name of the dependencies in the cache key, otherwise the proto and the cache keys may fall out of sync.
| * element.py: Cache the project nameJames Ennis2019-08-191-2/+2
| |
| * element.py: Add the build dependency names to the cache key dictJames Ennis2019-08-198-8/+9
| | | | | | | | | | We store the build dependency names in the artifact proto. This should be reflected in the cache key dict.
| * tests/frontend/buildcheckout.py: Stop using explicit cache keysJames Ennis2019-08-191-5/+5
|/ | | | | | Only our tests/cachekey tests should test explicit cache keys. Tests outside of here should determine cache keys using the appropriate methods.
* Merge branch 'aevri/spawn' into 'master'bst-marge-bot2019-08-167-37/+217
|\ | | | | | | | | Support the 'spawn' method of starting processes See merge request BuildStream/buildstream!1511
| * .gitlab-ci.yml: Add a test with job spawning onAngelos Evripiotis2019-08-161-0/+6
| | | | | | | | Add a GitLab test with the 'spawn' method of starting processes forced.
| * _frontend/cli: support 'BST_FORCE_START_METHOD'Angelos Evripiotis2019-08-161-0/+13
| | | | | | | | | | | | Allow users to force the start method via a 'BST_FORCE_START_METHOD' environment variable. This enables testing of the 'spawn' and 'forkserver' methods on platforms that don't require them.
| * Support pickling jobs if the platform requires itAngelos Evripiotis2019-08-163-8/+106
| | | | | | | | | | | | | | | | Add support for using `multiprocessing.Manager` and the associated queues. Downgrade the queue event callback guarantees accordingly. In later work we may be able to support callbacks in all scenarios. Pickle and unpickle the child job if the platform requires it.
| * Abstract mp Queue usage, prep to spawn processesAngelos Evripiotis2019-08-164-25/+89
| | | | | | | | | | | | | | Pave the way to supporting starting processes by the 'spawn' method, by abstracting our usage of `multiprocessing.Queue`. This means we can easily switch to using a multiprocessing.Manager() and associated queues instead when necessary.
| * utils: uppercase global _MAIN_PID, move to topAngelos Evripiotis2019-08-161-6/+5
|/ | | | This is consistent with the other global vars in the module.
* Merge branch 'becky/artifact_list_contents' into 'master'bst-marge-bot2019-08-167-0/+158
|\ | | | | | | | | Addition of bst artifact list-contents See merge request BuildStream/buildstream!1529
| * Addition of bst artifact list-contents:Rebecca Grayson2019-08-167-0/+158
|/ | | | | | | this commit introduces the bst artifact list-contents command. When used it provides the user with a list of the contents within the artifact. Tests and a NEWS entry have also been added for the command.
* Merge branch 'danielsilverstone-ct/fix-node-provenance' into 'master'bst-marge-bot2019-08-168-2/+59
|\ | | | | | | | | | | | | Improve node provenance in error reporting Closes #1059 See merge request BuildStream/buildstream!1551
| * tests: Include testing provenance through options and includesDaniel Silverstone2019-08-165-3/+25
| | | | | | | | Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
| * invalid_keys.py: Test compositied nodes are reported back usefullydanielsilverstone-ct/fix-node-provenanceJames Ennis2019-08-153-0/+28
| | | | | | | | | | | | | | | | | | | | | | Test that we get the correct provenance from a node which has been compositied. This tests asserts that if we forget to include one of the local plugin's essential keys, we fail and see the appropriate error message. Tests issue described in #1059.
| * node: Support clobbering provenance of MappingNode itselfDaniel Silverstone2019-08-152-2/+9
|/ | | | | | | | In order to better composite things, sometimes we may want to clobber the provenance of the MappingNode itself. This means that error reporting for sources and elements might be somewhat better. Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
* Merge branch 'coldtom/move-qmake' into 'master'bst-marge-bot2019-08-156-103/+3
|\ | | | | | | | | Move qmake plugin to bst-plugins-experimental See merge request BuildStream/buildstream!1545
| * Move qmake plugin to bst-plugins-experimentalcoldtom/move-qmakeThomas Coldrick2019-08-146-103/+3
|/
* Merge branch 'jennis/push_unbuilt_artifact' into 'master'bst-marge-bot2019-08-142-20/+120
|\ | | | | | | | | | | | | Ensure push fails when trying to push an unbuilt element Closes #1095 See merge request BuildStream/buildstream!1524
| * _stream.py: Ensure push does not fail if artifact not cachedjennis/push_unbuilt_artifactJames Ennis2019-08-142-6/+120
| | | | | | | | A test for this has also been added to tests/frontend/push.py
| * _stream.py: Remove FIXMEJames Ennis2019-08-141-14/+0
|/
* Merge branch 'coldtom/move-modulebuild' into 'master'bst-marge-bot2019-08-146-101/+3
|\ | | | | | | | | Move modulebuild plugin to bst-plugins-experimental See merge request BuildStream/buildstream!1539
| * Move modulebuild plugin to bst-plugins-experimentalThomas Coldrick2019-08-146-101/+3
|/ | | | Continuing moving plugins over to bst-plugins-experimental.
* Merge branch 'danielsilverstone-ct/missing-sh-fix' into 'master'bst-marge-bot2019-08-148-18/+63
|\ | | | | | | | | | | | | Cache failed builds caused by missing-command Closes #1101 See merge request BuildStream/buildstream!1543
| * workspace: Add test to ensure we can show logs from a workspaced builddanielsilverstone-ct/missing-sh-fixBenjamin Schubert2019-08-142-0/+43
| |
| * tests: Verify that a missing-command causes a cached failureDaniel Silverstone2019-08-141-0/+1
| | | | | | | | Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
| * sandbox/_sandbox*.py: Ensure missing-command is a SandboxCommandErrorDaniel Silverstone2019-08-144-16/+16
| | | | | | | | | | | | | | | | So that, should a sandbox be missing a command such as `sh`, we cache failures to build, ensure that each sandbox which checks for the command raises SandboxCommandError instead of SandboxError. Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
| * sandbox/sandbox.py: Allow SandboxCommandError to have different reasonsDaniel Silverstone2019-08-141-2/+3
|/ | | | | | | | | In order to properly support caching failures to build when a sandbox is missing a command, we need to permit SandboxCommandError to take a reason parameter. We default that to that which it previously forced in order to reduce the need to add a reason code to every raise. Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
* Merge branch 'jennis/fix_failed_workspaces' into 'master'bst-marge-bot2019-08-133-3/+47
|\ | | | | | | | | | | | | Don't reset a failed (but cached) workspaced Element Closes #1096 See merge request BuildStream/buildstream!1536
| * element.py: Don't reset a failed (but cached) workspaced Elementjennis/fix_failed_workspacesJames Ennis2019-08-133-3/+47
|/ | | | | | | | | | | A workspaced element can fail to build, if this happens, we cache the result as a failure. This patch ensures that we do not reset the cache data if a workspace has failed to build. An integration test has also been added which ensures that we are able to get the log of a failed workspace build. Closes #1096
* Merge branch 'tmewett/report-weird-return-codes' into 'master'bst-marge-bot2019-08-121-1/+5
|\ | | | | | | | | | | | | Report error when job process unexpectedly dies Closes #1089 See merge request BuildStream/buildstream!1531
| * job.py: Report error when job process unexpectedly dies (#1089)tmewett/report-weird-return-codesTom Mewett2019-08-121-1/+5
|/
* Merge branch 'coldtom/move-makemaker' into 'master'bst-marge-bot2019-08-126-101/+3
|\ | | | | | | | | Move makemaker plugin to bst-plugins-experimental See merge request BuildStream/buildstream!1538
| * Move makemaker plugin to bst-plugins-experimentalThomas Coldrick2019-08-126-101/+3
|/ | | | Continuing moving plugins to bst-plugins-experimental.
* Merge branch 'coldtom/move-make' into 'master'bst-marge-bot2019-08-115-100/+2
|\ | | | | | | | | Move make plugin to bst-plugins-experimental See merge request BuildStream/buildstream!1535
| * Move make plugin to bst-plugins-experimentalcoldtom/move-makeThomas Coldrick2019-08-095-100/+2
|/
* Merge branch 'jennis/fix_artifact_log' into 'master'bst-marge-bot2019-08-096-25/+52
|\ | | | | | | | | Fix artifact log See merge request BuildStream/buildstream!1533
| * Frontend: Fix bst artifact logJames Ennis2019-08-094-23/+14
| | | | | | | | | | | | | | | | This command now fetches the absolute paths of the log files in the local CAS cache and opens a pager for each path. The test has also been updated to ensure that a log file is actually obtained.
| * artifact.py,element.py: Add get_logs() methodsJames Ennis2019-08-092-0/+24
| |
| * cascache.py: Add new contains_file() methodJames Ennis2019-08-091-0/+12
| |
| * cascache.py: Fix typoJames Ennis2019-08-091-1/+1
| |
| * _artifact.py: Fix typo in doc comment of _get_field_digest()James Ennis2019-08-091-1/+1
|/
* Merge branch 'tpollard/initfix' into 'master'bst-marge-bot2019-08-091-1/+1
|\ | | | | | | | | | | | | _frontend/app.py: Fixup node._assert_symbol_name() positional args Closes #1100 See merge request BuildStream/buildstream!1534
| * _frontend/app.py: Fixup node._assert_symbol_name() positional argsTom Pollard2019-08-091-1/+1
|/ | | | | bst init was failing due to project_name_proc() incorrectly passing args to the method, remove erroneous None.
* Merge branch 'coldtom/move-meson' into 'master'bst-marge-bot2019-08-084-152/+1
|\ | | | | | | | | Move meson element to bst-plugins-experimental See merge request BuildStream/buildstream!1532
| * Move meson element to bst-plugins-experimentalThomas Coldrick2019-08-084-152/+1
|/
* Merge branch 'danielsilverstone-ct/load-reject-duplicates' into 'master'bst-marge-bot2019-08-0811-4/+121
|\ | | | | | | | | | | | | Reject elements which have duplicated dependencies Closes #1077 See merge request BuildStream/buildstream!1528