summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* silly way to get grpc errorswillsalmon/reproduce_grpcWilliam Salmon2020-05-281-0/+5
|
* Merge branch 'juerg/node-properties' into 'master'bst-marge-bot2020-05-2715-264/+386
|\ | | | | | | | | Field-based node properties See merge request BuildStream/buildstream!1918
| * .gitlab-ci.yml: Update BuildBox components to 0.0.8juerg/node-propertiesJürg Billeter2020-05-271-5/+5
| |
| * Update node property support to match proto changesJürg Billeter2020-05-279-59/+87
| |
| * _protos: Update local_cas.protoJürg Billeter2020-05-252-54/+53
| |
| * _protos: Update remote_execution.protoJürg Billeter2020-05-253-146/+241
|/
* Merge branch 'tristan/loader-api-fixup' into 'master'bst-marge-bot2020-05-242-197/+197
|\ | | | | | | | | _loader/loader.py: Reoganized public/private methods See merge request BuildStream/buildstream!1936
| * _loader/loader.py: Reoganized public/private methodstristan/loader-api-fixupTristan van Berkom2020-05-242-197/+197
|/ | | | | | | | | | | | | * This file had `clean_caches()` documented as public but the function was actually private `_clean_caches()`: Moved this to the end of the class in the private section. * The `_get_loader()` was marked as private but is in fact public, and used by the project to load cross junction include files. This patch also updates `_includes.py` to call the public `get_loader()` method instead of sneaking in and calling the private `_get_loader()` method (while also removing one redundant line of code from the same function).
* Merge branch 'tristan/improve-frontend-crash-handling' into 'master'bst-marge-bot2020-05-192-6/+29
|\ | | | | | | | | | | | | Improve handling of frontend crashes Closes #1312 See merge request BuildStream/buildstream!1933
| * _scheduler/scheduler.py: Reset the schedule handler at the beginning of ↵Tristan Van Berkom2020-05-191-3/+15
| | | | | | | | | | | | | | | | | | | | real_schedule() In case queuing jobs results in jobs completing, we need to reset the schedule handler at the beginning of the function and not after queueing the jobs. This fixes the failure to exit the main loop in #1312
| * _scheduler: Fix order of launching jobs and sending notifications.Tristan Van Berkom2020-05-192-3/+14
|/ | | | | | | | | | | | | | | | | | | | | | | Sending notifications causes potentially large bodies of code to run in the abstracted frontend codebase, we are not allowed to have knowledge of the frontend from this code. Previously, we were adding the job to the active jobs, sending the notification, and then starting the job. This means that if a BuildStream frontend implementation crashes, we handle the excepting in an inconsistent state and try to kill jobs which are not running. In addition to making sure that active_jobs list adjustment and job starting does not have any code body run in the danger window in between these, this patch also adds some fault tolerance and assertions around job termination so that: o Job.terminate() and Job.kill() do not crash with None _process o Job.start() raises an assertion if started after being terminated This fixes the infinite looping aspects of frontend crashes at job_start() time described in #1312.
* Merge branch 'bschubert/ensure-composite-works-with-variables' into 'master'bst-marge-bot2020-05-196-2/+42
|\ | | | | | | | | node.pyx: Deep clone ScalarNode too See merge request BuildStream/buildstream!1929
| * node.pyx: Deep clone ScalarNode toobschubert/ensure-composite-works-with-variablesBenjamin Schubert2020-05-196-2/+42
|/ | | | | This ensures that when resolving variables, we do not overwrite the values for a different element in the case we were using composition.
* Merge branch 'chandan/fix-subst-non-greedy' into 'master'bst-marge-bot2020-05-182-1/+21
|\ | | | | | | | | | | | | _frontend/profile: Use non-greedy search to substitute variables Closes #1307 See merge request BuildStream/buildstream!1932
| * _frontend/profile: Use non-greedy search to substitute variablesChandan Singh2020-05-182-1/+21
|/ | | | | | | | Use non-greedy search to ensure that we stop at the next closing brace. Otherwise, for a string like `%{variable} {variable}`, the second variable will also get substituted. Fixes #1307.
* Merge branch 'chandan/duplicate-format-deps' into 'master'bst-marge-bot2020-05-183-8/+32
|\ | | | | | | | | | | | | Ensure there are no duplicates in Elements.dependencies() Closes #1308 See merge request BuildStream/buildstream!1931
| * Ensure there are no duplicates in Elements.dependencies()Chandan Singh2020-05-183-8/+32
|/ | | | | | | | | | | | | | When we are not recursing, `Element.dependencies()` uses a much more light weight codepath since it just needs to print the direct dependencies. However, this simple codepath was not accounting for duplicates, in case something is both a build time and run time dependency. One way this manifested itself was in `bst show --format %{deps}`, but it would also affect anything that was using this method to iterate on the dependencies. Fixes #1308.
* Merge branch 'ctolentino/check-casd-process' into 'master'bst-marge-bot2020-05-151-0/+3
|\ | | | | | | | | | | | | Check that buildbox-casd process is not a zombie Closes #1311 See merge request BuildStream/buildstream!1930
| * casdprocessmanager.py: Check that buildbox-casd process is not a zombiectolentino/check-casd-processctolentino82020-05-151-0/+3
|/
* Merge branch 'chandan/cli-deps-2' into 'master'bst-marge-bot2020-05-1436-54/+196
|\ | | | | | | | | CLI: Add support for `--deps build` and `--deps run` in more commands See merge request BuildStream/buildstream!1904
| * Regenerate man pageschandan/cli-deps-2Chandan Singh2020-05-1324-30/+37
| |
| * _frontend/cli: Support "build" and "run" values for `artifact push --deps`Chandan Singh2020-05-133-13/+30
| |
| * _frontend/cli: Support "build" and "run" values for `artifact pull --deps`Chandan Singh2020-05-133-9/+27
| |
| * _frontend/cli: Support "build" and "run" values for `source fetch --deps`Chandan Singh2020-05-139-1/+81
| |
| * _frontend/cli: Support "build" value for `bst build --deps`Chandan Singh2020-05-133-1/+21
|/ | | | | | This can be quite handy when one is preparing to open a build shell. This originally came up in https://gitlab.com/BuildStream/buildstream/-/issues/685#note_105460896.
* Merge branch 'tristan/plugin-min-version-fault-tolerance' into 'master'bst-marge-bot2020-05-1310-7/+74
|\ | | | | | | | | Improve fault tolerance for plugin defined BST_MIN_VERSION See merge request BuildStream/buildstream!1928
| * tests/plugins/loading.py: Added tests for various malformed BST_MIN_VERSIONTristan Van Berkom2020-05-139-3/+70
| |
| * utils.py: Improve error handling of _parse_version().Tristan Van Berkom2020-05-131-4/+4
|/ | | | | | | This was not reporting errors if not given a string, since we don't only pass strings parsed from project.conf but also pass plugin defined Plugin.BST_MIN_VERSION definitions, we should be more fault tolerant here.
* Merge branch 'juerg/no-logs-capture' into 'master'Jürg Billeter2020-05-131-0/+4
|\ | | | | | | | | _sandboxbuildboxrun.py: Pass --no-logs-capture to buildbox-run See merge request BuildStream/buildstream!1927
| * _sandboxbuildboxrun.py: Pass --no-logs-capture to buildbox-runjuerg/no-logs-captureJürg Billeter2020-05-121-0/+4
|/ | | | | | buildbox-common master no longer forwards stdout/stderr of the action command by default. The buildbox-run capabilities mechanism is used to support old and new versions.
* Merge branch 'bschubert/allow-source-variables-access' into 'master'bst-marge-bot2020-05-1212-21/+78
|\ | | | | | | | | | | | | Resolve source's config with the element's variable Closes #1127 See merge request BuildStream/buildstream!1924
| * source.py: Allow access to element's variableBenjamin Schubert2020-05-1210-7/+71
| | | | | | | | | | This automatically expands the variables from the element into the sources config
| * source.py: Don't re-declare __init__ in source implementationsBenjamin Schubert2020-05-122-14/+7
|/ | | | | | | We explicitely ask plugin authors not to do this in our documentation, we should therefore also not do it unless there is a real need. For this cases, just pass the default values as class variables.
* Merge branch 'chandan/builddir-cachekey' into 'master'bst-marge-bot2020-05-125-4/+65
|\ | | | | | | | | | | | | buildelement: Ensure command-subdir is part of the cache key Closes #1295 See merge request BuildStream/buildstream!1920
| * NEWS: Add note about breaking cache key changechandan/builddir-cachekeyChandan Singh2020-05-121-0/+4
| |
| * buildelement: Ensure command-subdir is part of the cache keyChandan Singh2020-05-124-4/+61
|/ | | | | | | | | | `command-subdir` was previously missing from the cache key. This patch makes it a part of the cache key _if_ it was specified. It means that the cache key will not change for elements that had not defined a `command-subdir`. However, it will change for every element that did define it. Fixes #1295.
* Merge branch 'bschubert/resolve-variables' into 'master'bst-marge-bot2020-05-1213-72/+68
|\ | | | | | | | | Always resolve variables in elements See merge request BuildStream/buildstream!1919
| * option.py: Remove 'transform' flag. It is not needed anymoreBenjamin Schubert2020-05-126-21/+10
| | | | | | | | | | Now that we handle variable transformation more globally, we don't need the transform value anymore
| * element.py: Always expand all variables at element creationBenjamin Schubert2020-05-128-52/+59
|/ | | | | This will allow all users to not have to care about whether the option is expanded or not, making it easier to use variables everywhere
* Merge branch 'bschubert/cache-key-helper' into 'master'bst-marge-bot2020-05-126-179/+243
|\ | | | | | | | | Add a new helper function to test cache key stability See merge request BuildStream/buildstream!1915
| * testing.py: Add a new `check_cache_key_stability` helperbschubert/cache-key-helperBenjamin Schubert2020-05-126-179/+243
|/ | | | | This allows plugin authors to implement cache keys tests more easily
* Merge branch 'chandan/fix-manual-test' into 'master'bst-marge-bot2020-05-121-3/+3
|\ | | | | | | | | tests/integration/manual.py: Fix assertion for CLI invocation See merge request BuildStream/buildstream!1921
| * tests/integration/manual.py: Fix assertion for CLI invocationchandan/fix-manual-testChandan Singh2020-05-111-3/+3
|/ | | | | | | The result of `bst artifact checkout` invocation was not correctly assigned to the result object in a few places. Hence the assertion on the next line was really testing the same thing as the previous assertion, i.e. the result of `bst build`.
* Merge branch 'bschubert/update-requirements' into 'master'bst-marge-bot2020-05-1117-55/+62
|\ | | | | | | | | Update packages requirements See merge request BuildStream/buildstream!1906
| * Update all packages requirementsBenjamin Schubert2020-05-1113-48/+52
| | | | | | | | Also fix linting errors coming with new version of pylint
| * lint: Stop using mutable objects for default argumentsBenjamin Schubert2020-05-114-7/+10
|/
* Merge branch 'bschubert/remove-pip-element' into 'master'bst-marge-bot2020-05-115-205/+6
|\ | | | | | | | | pip.py: Remove the pip element, it is in experimental See merge request BuildStream/buildstream!1911
| * pip.py: Remove the pip element, it is in experimentalBenjamin Schubert2020-05-115-205/+6
|/ | | | | The pip element was copied already to bst-plugins-experimental. We don't need to have two copies of it.
* Merge branch 'traveltissues/grpccodes' into 'master'Darius Makovsky2020-05-113-11/+15
|\ | | | | | | | | Return names of grpc errors See merge request BuildStream/buildstream!1916
| * Return names of grpc errorstraveltissues/grpccodesDarius Makovsky2020-05-113-11/+15
|/