summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* _sandboxbwrap.py: fix typo in the linux32 variableabderrahim/linux32-typoAbderrahim Kitouni2020-12-021-2/+2
| | | | it was self.linux32 in places and self._linux32 in others.
* Merge branch 'nanonyme/news-1.6.1' into 'bst-1'1.6.1bst-marge-bot2020-11-022-0/+8
|\ | | | | | | | | Prepare for 1.6.1 See merge request BuildStream/buildstream!2096
| * Update classifiersnanonyme/news-1.6.1Seppo Yli-Olli2020-11-021-0/+2
| |
| * Release notes for 1.6.1Seppo Yli-Olli2020-11-011-0/+6
|/
* Merge branch 'nanonyme/fix-import' into 'bst-1'bst-marge-bot2020-10-071-1/+1
|\ | | | | | | | | Fix import of BlobNotFound See merge request BuildStream/buildstream!2083
| * Fix import of BlobNotFoundSeppo Yli-Olli2020-10-061-1/+1
|/
* NEWS: Updated for 1.6.0 release1.6.0Tristan van Berkom2020-09-251-0/+6
|
* Merge branch 'bwh/fix-git-remote-name-check-1' into 'bst-1'Tristan Van Berkom2020-08-191-1/+1
|\ | | | | | | | | git source plugin: Fix check for remote existence See merge request BuildStream/buildstream!2030
| * git source plugin: Fix check for remote existencebwh/fix-git-remote-name-check-1Ben Hutchings2020-08-191-1/+1
|/ | | | | | | | | | | | | | | When checking whether a remote exists in the cached git repository, we currently perform a substring match on the output of 'git remote'. This fails when there is an existing remote name that contains the name we're looking for. This was fixed by the rewrite of git fetching in !1808, but that change seems unsuitable for the stable 1.4 branch. Instead, split the command output into a list and check that the remote name is in the list. Closes #1372.
* NEWS: Updating for 1.5.1 snapshot1.5.1Tristan van Berkom2020-08-191-0/+23
|
* Merge branch 'abderrahim/remote-asset-bst1' into 'bst-1'Tristan Van Berkom2020-08-196-29/+1530
|\ | | | | | | | | [bst-1] cascache.py: allow using Remote Asset for storing refs See merge request BuildStream/buildstream!2000
| * cascache.py: allow using Remote Asset for storing refsAbderrahim Kitouni2020-08-191-29/+95
| |
| * Add generated python protobuffer files Remote Asset APISander Striker2020-08-194-0/+990
| |
| * Add Remote Asset API protoSander Striker2020-08-191-0/+445
|/
* Merge branch 'abderrahim/arch' into 'bst-1'bst-marge-bot2020-08-034-10/+40
|\ | | | | | | | | element.py: add configuration for sandbox architecture and os See merge request BuildStream/buildstream!1934
| * sandbox: check for os and architectureAbderrahim Kitouni2020-08-031-1/+26
| | | | | | | | | | | | only allow builds of the same os and architecture and 32-bit on 64-bit based on e5d8c7d8a0ddbee8ff14 and b0603fb014c51660860c
| * element.py: add configuration for sandbox architecture and osAbderrahim Kitouni2020-08-033-9/+14
|/ | | | based on 1ad35fcd1bbb4a89e177da44303cf95e5a3b659d
* Merge branch 'abderrahim/timeout' into 'bst-1'bst-marge-bot2020-07-301-2/+7
|\ | | | | | | | | cascache.py: enable grpc keepalive pings See merge request BuildStream/buildstream!1979
| * cascache.py: enable grpc keepalive pingsAbderrahim Kitouni2020-07-301-2/+7
|/ | | | | This allows bst to detect when connections are dropped instead of hanging indefinitely
* Merge branch 'abderrahim/artifact-cas' into 'bst-1'bst-marge-bot2020-07-3011-363/+398
|\ | | | | | | | | Split up artifact cache and CAS cache See merge request BuildStream/buildstream!1969
| * tests/testutils/artifactshare.py: use CASCache directlyabderrahim/artifact-casAbderrahim Kitouni2020-07-301-6/+2
| |
| * Split up artifact cache and CAS cacheAbderrahim Kitouni2020-07-306-339/+380
| | | | | | | | | | | | | | | | | | | | This changes CASCache from a subclass to a delegate object of ArtifactCache. As the lower layer, CASCache no longer deals with elements or projects. Based on 626d20aefb52d25d987c61f377cc1ce3172da8c3 Fixes #659.
| * element.py: Do not include type name of artifact cache in cache keyJürg Billeter2020-07-301-1/+1
| | | | | | | | | | | | | | The artifact cache backend does not affect build outputs and we anyway no longer have pluggable artifact cache backends. This hardcodes CASCache instead of removing the entry completely to avoid cache key changes.
| * _project.py: Remove unused artifacts parameter from load_elements()Jürg Billeter2020-07-302-3/+2
| |
| * element.py: Remove unused artifacts parameter from _new_from_meta()Jürg Billeter2020-07-303-6/+5
| |
| * _project.py: Remove unused artifacts parameter from create_element()Jürg Billeter2020-07-302-3/+2
| |
| * _elementfactory.py: Remove unused artifacts parameter from create()Jürg Billeter2020-07-302-4/+3
| |
| * element.py: Remove artifacts parameter from constructorJürg Billeter2020-07-302-3/+3
| | | | | | | | Get the artifact cache from the context instead.
| * _artifactcache: Fix ref in update_mtime()Jürg Billeter2020-07-302-3/+5
| | | | | | | | | | get_artifact_fullname() is required to construct the ref. The cache key alone does not suffice.
| * _artifactcache: Rename update_atime() to update_mtime()Jürg Billeter2020-07-302-7/+7
|/ | | | | os.utime() updates both, however, list_artifacts() sorts refs by mtime, i.e., atime is irrelevant.
* Merge branch 'tristan/bst-1/options-order' into 'bst-1'bst-marge-bot2020-07-2927-1/+188
|\ | | | | | | | | Append lists when merging conditional statements (bst-1) See merge request BuildStream/buildstream!2003
| * tests/format/include.py: Test preservation of conditionals at include timetristan/bst-1/options-orderTristan van Berkom2020-07-2426-0/+174
| | | | | | | | | | | | 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.
| * _yaml.py: Support merging of conditional listsTristan van Berkom2020-07-241-1/+14
|/ | | | | | | | | | | | | | | | | | | | | | | | | | 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 lists, 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 lists, 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.
* Adding CODEOWNERSTristan van Berkom2020-07-241-0/+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/bst-1/partial-variables' into 'bst-1'bst-marge-bot2020-07-2219-157/+812
|\ | | | | | | | | Variables non-recursive and lazy resolution refactor (bst-1) See merge request BuildStream/buildstream!2001
| * tests/frontend/overlaps.py: Test undefined variablestristan/bst-1/partial-variablesTristan van Berkom2020-07-223-1/+43
| | | | | | | | | | 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-227-18/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.py: Complete rewriteTristan van Berkom2020-07-2210-138/+651
|/ | | | | | | | | | | | | | | | Rebasing bst-1 variables code on bst-2 cython version, without the cython. This is mostly a drop in replacement, except that: * Now calls to Variables.subst() must provide the passed string's Provenance * Elements must now call Variables.check() explicitly This commit also adds a test to ensure that junctions can use partially resolved variables, even when the calling project would require that all variables be resolved in order to completely be resolved. Resolving variables within junctions is allowed so long as those variable resolutions do not require variable values from the target project they are junctioning.
* Merge branch 'tristan/bst-1/update-mailing-list' into 'bst-1'bst-marge-bot2020-07-034-5/+5
|\ | | | | | | | | Update mailing list (bst-1) See merge request BuildStream/buildstream!1981
| * All: Update references to the new mailing list.Tristan van Berkom2020-07-034-5/+5
|/ | | | | | Next time there is a bst-1 release, the mailing list in related documentation will be updated (also if anyone is browsing the bst-1 branch in git).
* Merge branch 'tristan/bst-1/version-specific-config' into 'bst-1'bst-marge-bot2020-05-293-4/+48
|\ | | | | | | | | Support version specific configuration files See merge request BuildStream/buildstream!1945
| * doc/source/using_config.rst: Document support for version specific config files.tristan/bst-1/version-specific-configTristan van Berkom2020-05-291-0/+11
| |
| * tests/context/context.py: Test correct config file is chosen.Tristan van Berkom2020-05-291-0/+28
| |
| * _context.py: Support parallel installations of BuildStreamTristan van Berkom2020-05-291-4/+9
|/ | | | | | Allow users to keep separate buildstream.conf files in their XDG_CONFIG_HOME for separate BuildStream versions, in case they have BuildStream 1 and 2 installed.
* NEWS: Preparing news for 1.5.0 release1.5.0Tristan Van Berkom2020-05-131-1/+25
|
* Merge branch 'tristan/bst-1/bst-2-detection' into 'bst-1'bst-marge-bot2020-05-1212-3/+261
|\ | | | | | | | | Detect non BuildStream 1 projects and plugins See merge request BuildStream/buildstream!1923
| * tests/plugins/bst2.py: Testing error handling of loading wrong plugin versions.Tristan Van Berkom2020-05-126-1/+163
| |
| * _plugincontext.py: Add plugin version assertion for non BuildStream 1 plugins.Tristan Van Berkom2020-05-122-2/+32
| | | | | | | | | | | | | | From BuildStream 2, we added BST_MIN_VERSION which must be specified by all plugins. This new assertion in BuildStream 1 detects the presence of this in order to issue an early assertion informing the user that they should use BuildStream 1 plugins for BuildStream 1 projects.
| * _exceptions: Allow passing a `detail` string to `PluginError`.Tristan Van Berkom2020-05-121-2/+2
| |
| * tests/format/project.py: Test loading of BuildStream 2 projects.Tristan Van Berkom2020-05-122-0/+12
| |