summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* filter.py: Allow dependency on stack elementscoldtom/filter-stacksThomas Coldrick2019-08-161-27/+34
| | | | | | | Staging the artifact of a stack element currently creates an empty filter. This commit changes the logic in a filter element to stage the artifacts of dependencies of stack elements. We recursively expand stack elements into their dependencies.
* 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
| * tests: Add test for DUPLICATE_DEPENDENCY verificationDaniel Silverstone2019-08-089-0/+94
| | | | | | | | Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
| * _loader: Detect and reject duplicated dependenciesDaniel Silverstone2019-08-081-4/+24
| | | | | | | | | | | | | | | | | | | | When loading an element, if it has duplicated dependencies of any kind then we reject the element with a LoadError(DUPLICATE_DEPENDENCY). This means that an element `foo.bst` can only appear once in any given dependency kind, allowing it to be both `runtime` and `build`, but not either of those twice, nor either plus `all`, nor `all` twice. Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
| * _exception: Add DUPLICATE_DEPENDENCY to LoadErrorReasonDaniel Silverstone2019-08-081-0/+3
|/ | | | Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
* Merge branch 'tpollard/messageobject' into 'master'bst-marge-bot2019-08-0821-162/+194
|\ | | | | | | | | Message rework See merge request BuildStream/buildstream!1500
| * _message.py: Use element_name & element_key instead of unique_idtpollard/messageobjectTom Pollard2019-08-0820-156/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | Adding the element full name and display key into all element related messages removes the need to look up the plugintable via a plugin unique_id just to retrieve the same values for logging and widget frontend display. Relying on plugintable state is also incompatible if the frontend will be running in a different process, as it will exist in multiple states. The element full name is now displayed instead of the unique_id, such as in the debugging widget. It is also displayed in place of 'name' (i.e including any junction prepend) to be more informative.
| * plugin.py: cache full_name member in __init__Tom Pollard2019-08-081-7/+22
| | | | | | | | | | | | Once project & type are resolved, the full_name can be computed and cached for efficiency. The accessor for getting the private member should also be moved to the correct section.
| * element.py: Remove redundant second call to _get_cache_key()Tom Pollard2019-08-081-1/+1
|/
* Merge branch 'juerg/artifact-blobs' into 'master'bst-marge-bot2019-08-086-27/+42
|\ | | | | | | | | Artifact blob handling See merge request BuildStream/buildstream!1527
| * cli.py: Require artifact file contents to be present for `bst show`Jürg Billeter2019-08-081-3/+0
| | | | | | | | | | With blob-based expiry in buildbox-casd, the presence of the artifact proto will no longer be sufficient.
| * _artifact.py: Update blob mtimes in cached()Jürg Billeter2019-08-081-1/+1
| | | | | | | | This is in preparation for blob-based expiry as used by buildbox-casd.
| * cascache.py: Add update_mtime parameter to contains_directory()Jürg Billeter2019-08-081-4/+13
| |
| * cascache.py: Fix check_exists in _reachable_refs_dir()Jürg Billeter2019-08-081-0/+3
| | | | | | | | | | If `check_exists` is set, missing directories should raise a FileNotFoundError.
| * _sandboxremote.py: Fetch blobs on artifact creation, not after commandJürg Billeter2019-08-083-19/+23
| | | | | | | | | | | | | | | | | | We need to ensure artifact files are available locally also for elements that don't run any commands (e.g., compose elements). It's also not necessary to fetch file blobs after every command. This moves file blob fetching from SandboxRemote.process_job_output() (part of Sandbox.run()) to a separate fetch_missing_blobs() method, which is invoked by Element._cache_artifact().
| * cascache.py: Add missing remote.init() to fetch_blobs()Jürg Billeter2019-08-081-0/+2
|/
* doc/source/core_plugins.rst: bst-external -> bst-plugins-experimentalJavier Jardón2019-08-081-1/+1
|
* Merge branch 'coldtom/move-cmake' into 'master'1089-reporting-of-unexpected-deaths-of-worker-processes-could-be-betterbst-marge-bot2019-08-087-147/+17
|\ | | | | | | | | Move cmake plugin to bst-plugins-experimental See merge request BuildStream/buildstream!1520
| * Move cmake plugin to bst-plugins-experimentalcoldtom/move-cmakeThomas Coldrick2019-08-087-147/+17
|/ | | | | | | | | | | | It was agreed on the mailing list to move all plugins to a single repository, before moving them into domain-specific repositories. As a result it seems reasonable to move everything to the bst-plugins-experimental repo as this stepping stone, rather than creating a whole new repo. This commit starts the process of moving things over by moving only the cmake plugin to bst-plugins-experimental, and altering the tests to reflect the new location.
* Merge branch 'juerg/buildbox' into 'master'bst-marge-bot2019-08-0724-123/+3
|\ | | | | | | | | Enable integration tests for buildbox sandboxing backend See merge request BuildStream/buildstream!1525