summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* data/userconfig.yaml: Document valid symbols for format stringschandan/fix-utils-495Chandan Singh2020-08-041-0/+15
| | | | | | | | Document the valid symbols that can be used as part of the `message-format`. And, in case of `element-format`, redirect to `bst show --help` to avoid duplicating the help text in two places. Fixes #510.
* Merge branch 'dwinship/reintroduce-install-instructions-to-docs' into 'master'bst-marge-bot2020-08-042-0/+341
|\ | | | | | | | | Reintroduce install instructions to docs See merge request BuildStream/buildstream!1999
| * Remove install instructions to ostree and deb pluginsdwinship/reintroduce-install-instructions-to-docsJavier Jardón2020-08-031-49/+5
| | | | | | | | They are not part of core anymore
| * Reintroduce install instructions to docsDouglas Winship2020-08-032-0/+385
|/ | | | | | | | | | This is mostly a copy of the install from source instructions from https://buildstream.build/install.html. Edits have been made to focus more on Buildstream 2. Sections for tarball installation and package installation have been removed, as they cannot currently be used for BuildStream 2. Docker section has been moved to the docker-image repository. Docs have been reduced down to a single page.
* Merge branch 'tristan/increase-timeout-variables-test' into 'master'bst-marge-bot2020-08-031-1/+1
|\ | | | | | | | | tests/format/variables.py: Increase timeout See merge request BuildStream/buildstream!2008
| * tests/format/variables.py: Increase timeoutTristan van Berkom2020-08-031-1/+1
|/ | | | | | | With sometimes very slow runners, this test has been found to timeout more often after the recent refactoring. Double the timeout to avoid erronously failing CI.
* Merge branch 'abderrahim/cached-failure' into 'master'bst-marge-bot2020-07-296-54/+45
|\ | | | | | | | | | | | | Rework handling of cached failures Closes #967 See merge request BuildStream/buildstream!1970
| * tests/integration/interactive_build.py: make a new test for retrying failed ↵abderrahim/cached-failureAbderrahim Kitouni2020-07-291-1/+16
| | | | | | | | | | | | builds The old one tested that retrying the failed build doesn't actually retry
| * element.py: allow re-scheduling failed buildsAbderrahim Kitouni2020-07-291-2/+1
| |
| * Rework handling of cached failuresAbderrahim Kitouni2020-07-294-41/+23
| |
| * element.py: move printing the build environment from elementjob.pyAbderrahim Kitouni2020-07-292-10/+5
|/
* Merge branch 'tristan/options-order' into 'master'bst-marge-bot2020-07-2927-5/+192
|\ | | | | | | | | Append lists when merging conditional statements See merge request BuildStream/buildstream!2002
| * tests/format/include.py: Test preservation of conditionals at include timetristan/options-orderTristan van Berkom2020-07-2926-0/+179
| | | | | | | | | | | | Added tests to ensure that conditional statements don't get overwritten when performing composition of one dictionary on top of another due to include processing.
| * node.pyx: Support merging of conditional sequencesTristan van Berkom2020-07-291-5/+13
|/ | | | | | | | | | | | | | | | | | | | | | | | | | During composition of project.conf, it can happen that we are including and composing node hierarchies before options are resolved and before we are ready to evaluate conditional statements. Without this patch, conditional statements are treated like regular sequences, causing existing conditional statements to be overwritten by subsequently composited conditional statements without ever having been resolved. This patch introduces a special case for composing sequences, when composing a sequence that is a conditional statement, the sequence is appended instead of overwriting the underlying list. Note that precedence of declarations in including vs included yaml fragments did raise some concern, and a test in the following commit is added to cover this case. Composition of conditional lists on top of other conditional lists are unconditionally appended, however the semantics of includes ensures that the including fragment's conditionals is always composited *on top* over the included fragment, ensuring that we have the correct pecedence even when compositing yet to be resolved conditional directives.
* Merge branch 'willsalmon/overnightcache' into 'master'bst-marge-bot2020-07-271-0/+14
|\ | | | | | | | | | | | | Add a remote cache to overnight builds Closes #897 See merge request BuildStream/buildstream!2004
| * Add a remote cache to overnight buildswillsalmon/overnightcacheWilliam Salmon2020-07-241-0/+14
|/ | | | | This means the over nights will also push and pull when they did not in the past.
* Adding CODEOWNERSTristan van Berkom2020-07-242-38/+4
| | | | | | | | | As per this announcement regarding formalizing committers: https://mail.gnome.org/archives/buildstream-list/2020-May/msg00023.html We are now using a CODEOWNERS file to ensure only maintainers can greenlight patches for protected branches in gitlab.
* Merge branch 'tristan/partial-variables' into 'master'bst-marge-bot2020-07-2315-202/+755
|\ | | | | | | | | Variables non-recursive and lazy resolution refactor See merge request BuildStream/buildstream!1973
| * tests/format/variables.py: Adding new test for lazy variable resolutiontristan/partial-variablesTristan van Berkom2020-07-226-0/+30
| | | | | | | | | | | | Check that lazy variable resolution allows using variables in junction definitions which would not successfully resolve if we needed to resolve synchronously.
| * _variables.pyx, element.py: Lazy variable resolutionTristan van Berkom2020-07-222-5/+2
| | | | | | | | | | | | | | | | Variables are resolved on demand until Variables.check() is explicitly called, allowing junctions to use variables without requiring that they be completely resolved. Approach is courtesy of Valentin David.
| * tests/frontend/overlaps.py: Test undefined variablesTristan van Berkom2020-07-222-1/+27
| | | | | | | | | | Ensure that we get the expected provenance when expanding a variable included in an overlap whitelist entry.
| * tests/format/variables.py: Added some new testsTristan van Berkom2020-07-225-12/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Test scenarios where a junction needs to resolve variables in order to configure a subproject, but where some other variables may be derived from the same subproject. In this scenario we allow partial resolution of variables for junction elements. * Enhanced the undefined variables and circular reference tests to also check for the expected provenances. * Test for deep variable resolution Test variable indirection with 50, 500 and 5000 variables: * 50 - tests generally large indirections in the recursive algorithm, which is limited to 200 recursions * 500 - tests that the non-recursive algorithm works for successful outcomes and not only for error resolution * 5000 - tests that the iterative algorithm works and ensures it is not discarded, as a recursive algorithm cannot be implemented to support this depth with python (which limits itself to merely 1000 stack frames).
| * _variables.pyx: Rewrite Variables code.Tristan van Berkom2020-07-224-190/+603
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Main enhancements here include: * Support for deeply nested variable declarations, removing the limitations of the recursive variable resolution algorithm. We were unable to achieve equal performance with the iterative resolution algorithm, so we now have the recursive approach as the fast path and only support 200 recursions with this approach before falling back on the iterative code path, which will support deep variable resolution and take care of error reporting. * Better error reporting for undefined variables. Variables.subst() now requires a ScalarNode and not a simple `str`, making it more difficult for the core to substitute an undefined variable without providing the provenance of where that value expression was declared. Code changes: * _variables.pyx: Complete rewrite * exceptions.py: Added new LoadErrorReason.CIRCULAR_REFERENCE_VARIABLE * element.py: Pass ScalarNode to Variable.subst() when substituting overlap whitelists.
* Merge branch 'abderrahim/timed' into 'master'bst-marge-bot2020-07-181-13/+11
|\ | | | | | | | | element.py: don't use timed activity for staging every artifact See merge request BuildStream/buildstream!1968
| * element.py: don't use timed activity for staging every artifactabderrahim/timedAbderrahim Kitouni2020-07-171-13/+11
|/ | | | | Staging now takes very little time, so we have two lines per artifact with no benefit. Use a STATUS line instead.
* Merge branch 'sotk/update-artifact-server-docs' into 'master'bst-marge-bot2020-07-171-3/+3
|\ | | | | | | | | Remove the suggestion that BuildGrid can be used as an artifact server See merge request BuildStream/buildstream!1998
| * Remove the suggestion that BuildGrid can be used as an artifact serversotk/update-artifact-server-docsAdam Coldrick2020-07-171-3/+3
|/ | | | | | | | | | BuildGrid's CAS can be used as artifact storage, but BuildGrid no longer supports being used as an Artifact Cache, since it doesn't implement the new proto-based approach to artifacts. This commit makes this current situation clear in the docs, rather than incorrectly suggesting the use of BuildGrid for the `index` and `both` cache types.
* Merge branch 'chandan/spring-clean' into 'master'bst-marge-bot2020-07-171-3/+1
|\ | | | | | | | | .gitlab-ci.yml: Minor spring cleaning See merge request BuildStream/buildstream!1996
| * .gitlab-ci.yml: Run missing-deps as a normal userChandan Singh2020-07-171-1/+1
| | | | | | | | The buildstream user was previously created but was not used.
| * .gitlab-ci.yml: Remove undefined PLUGINS_TESTS_COMMANDChandan Singh2020-07-171-2/+0
|/ | | | | This variable is undefined, and was probably missed during some previous cleanup. At present, this acts as a no-op.
* Merge branch 'dwinship/remove-Aarch64-from-overnights' into 'master'bst-marge-bot2020-07-171-11/+0
|\ | | | | | | | | Remove Aarch64 from overnights See merge request BuildStream/buildstream!1994
| * Remove Aarch64 from overnightsWilliam Salmon2020-07-171-11/+0
|/ | | | This stage has been removed as we dont have docker images for it any more.
* Merge branch 'abderrahim/loader-workspace' into 'master'bst-marge-bot2020-07-162-3/+6
|\ | | | | | | | | loader.py: use the full name of the element when looking up a workspace See merge request BuildStream/buildstream!1971
| * loader.py: use the full name of the element when looking up a workspaceAbderrahim Kitouni2020-07-162-3/+6
|/ | | | | This fixes a bug where buildstream would ignore the opened workspace on a cross-junction element.
* Merge branch 'chandan/remove-outdated-comment' into 'master'bst-marge-bot2020-07-151-1/+0
|\ | | | | | | | | _platform/platform.py: Remove outdated comment See merge request BuildStream/buildstream!1995
| * _platform/platform.py: Remove outdated commentChandan Singh2020-07-151-1/+0
|/ | | | | | | | "Preferred" sandboxes used to be a thing when we had sandbox implementations in BuildStream Core. This should probably have been removed at the same time as dropping the notion of preferred sandboxes, but that was likely an oversight.
* Merge branch 'tristan/fix-juncle-include-link' into 'master'Tristan Van Berkom2020-07-1518-3/+79
|\ | | | | | | | | | | | | Fix including of files across linked junction boundaries Closes #1359 See merge request BuildStream/buildstream!1993
| * tests/format/link.py: Added test for including files across linked junction ↵tristan/fix-juncle-include-linkTristan van Berkom2020-07-1515-0/+62
| | | | | | | | boundaries
| * _loader: Treat `link` elements like junctionsTristan van Berkom2020-07-152-3/+3
| | | | | | | | | | | | | | link elements need to be treated the same way as junctions in the load process. This fixes issue #1359
| * _project.py: Documenting why ensure_fully_loaded() is reentrant.Tristan van Berkom2020-07-151-0/+14
|/
* Merge branch 'dwinship/overnight-freedesktop-sdk-buildstream2' into 'master'bst-marge-bot2020-07-151-1/+1
|\ | | | | | | | | | | | | Test freedesktop-sdk against buildstream2 in CI Closes celduin/bsps/bst-boardconsumption#21 and #1334 See merge request BuildStream/buildstream!1987
| * Update overnight tests for freedesktop-sdkdwinship/overnight-freedesktop-sdk-buildstream2Douglas Winship2020-07-141-1/+1
|/ | | | | | Use the current 'main' bst2 branch of freedesktop-sdk, and use tag 1.93.4 of bst-plugins-experimental (contains an important fix for flatpak_image.py)
* Merge branch 'chandan/minor-formatting-fix' into 'master'bst-marge-bot2020-07-141-2/+2
|\ | | | | | | | | doc/main_glossary.rst: Fix formatting of .bst file reference See merge request BuildStream/buildstream!1974
| * doc/main_glossary.rst: Fix formatting of .bst file referencechandan/minor-formatting-fixChandan Singh2020-07-141-2/+2
|/ | | | | One of the references to the "`.bst` file" term was formatted incorrectly, and was missing a period.
* Merge branch 'bschubert/update-plugins' into 'master'Chandan Singh2020-07-142-5/+5
|\ | | | | | | | | Update bst-plugins-experimental to 1.93.4 See merge request BuildStream/buildstream!1991
| * Update bst-plugins-experimental to 1.93.4bschubert/update-pluginsBenjamin Schubert2020-07-142-5/+5
|/ | | | This removes the 'ostree' extra and some build dependencies
* Merge branch 'dwinship/fix-tab-completion' into 'master'bst-marge-bot2020-07-141-13/+1
|\ | | | | | | | | fix tab-completion: hardcode default min version See merge request BuildStream/buildstream!1989
| * fix tab-completion: hardcode default min versiondwinship/fix-tab-completionDouglas Winship2020-07-141-13/+1
|/ | | | | | | Hardcodes the default min version as "2.0", instead of using a function. (The function was causing an ImportError during tab completion, because it attempts to import "__version__", which isn't available at tab completion time.)
* Merge branch 'dwinship/dont-strip-bst-from-user-supplied-checkout-dir' into ↵bst-marge-bot2020-07-101-2/+2
|\ | | | | | | | | | | | | | | | | 'master' Don't strip '.bst' from user-supplied checkout dir Closes #1361 See merge request BuildStream/buildstream!1992
| * Don't strip '.bst' from user-supplied checkout dirDouglas Winship2020-07-101-2/+2
|/ | | | | | | | Allows user to supply a directory name ending in '.bst' for "bst artifact checkout", without buildstream removing '.bst' from the end. (It's only supposed to remove '.bst' if the user didn't supply a directory name, and buildstream is auto-generating a name based on the target name.)