summaryrefslogtreecommitdiff
path: root/tests/cachekey/project/target.expected
Commit message (Collapse)AuthorAgeFilesLines
* _artifact.py: Store sandbox config and environment in artifactstristan/artifact-extensionsTristan van Berkom2020-12-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This commit adds sandbox config and environment variables to the artifact, so that they can be used later to shell into a downloaded artifact or to run commands such as `bst artifact checkout --integrate` which require running sandboxes on downloaded artifacts. Summary: * _artifact.py: - Store new data in the new proto digest, similar to how we store public data. - Added new accessors to extract these from a loaded artifact. - Bump the proto version number for compatibility * _versions.py: Bump the global artifact version number * element.py: Call Artifact.cache() with new parameters * tests/cachekey: Updated cache key test
* tests/cachekey: Added new cachekey test for new BuildElement configurationTristan van Berkom2020-09-181-1/+1
|
* buildelement.py: Remove legacy command stepsTristan van Berkom2020-09-181-1/+1
| | | | | | | | | | | This was actually deadcode, since node.validate_keys() was called on the configure dictionary without the legacy command steps. If any element was using the legacy commands, they would have been met with a load time error anyway. This commit also updates the cache key test, since removing these legacy commands affects BuildElement internally in such a way as to affect the cache keys.
* ScriptElement: Porting to new APITristan van Berkom2020-09-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Instead of relying on Element.search(), use Element.configure_dependencies() to configure the layout. Summary of changes: * scriptelement.py: Change ScriptElement.layout_add() API to take an Element instead of an element name, this is now not optional (one cannot specify a `None` element). This is an API breaking change * plugins/elements/script.py: Implement Element.configure_dependencies() in order to call ScriptElement.layout_add(). This is a breaking YAML format change. * tests/integration: Script integration tests updated to use the new YAML format * tests/cachekey: Updated for `script` element changes
* Move handling of the source `directory` configuration to ElementSourcesjuerg/element-source-cacheJürg Billeter2020-09-031-1/+1
| | | | | | | | | | | | | | | | | The `directory` value determines where a source is staged within the build root of an element, however, it does not directly affect individual sources. With this change the sources will individually be cached in CAS independent of the value of `directory`. `ElementSources` will use the value of `directory` when staging all element sources into the build root. This results in a cache key change as the `directory` value is moved from the unique key of individual sources to the unique key of `ElementSources`. This is in preparation for #1274.
* _elementsources.py: Fix source names in unique keyjuerg/source-cache-keyJürg Billeter2020-08-251-1/+1
| | | | | | | | | | | | | | The goal was to include the source plugin kind in the element cache key as the unique key of a source may not be unique across different source plugins. This is the source equivalent of the `element-plugin-name` value in the element cache key. However, `Source._get_source_name()` was the wrong method for this as that also includes the key itself, which may not even be set yet. This results in a cache key change. Fixes: 3953bcc6 ("element.py: clobber sources with workspace")
* buildstream/element.py: Consider "build-root" variable in the cache key ↵tristan/build-root-cache-keyTristan van Berkom2020-08-201-1/+1
| | | | | | | | | | | | | | | | | | | unconditionally Not all elements use the "build-root" variable, but it is the standard variable to use for the build directory, and the build directory must be considered in the cache key. Handling this unilaterally in the core is safer than delegating this to element implementations, as we have less chance of plugin authors missing this detail and possibly introducing binary variance for artifacts where only the build directory differs (something which happens when the project name or element names change). This commit also updates the hard coded cache keys in the cache key test, so as to ensure every commit passes it's own tests. This fixes #1386.
* Canonicalize OS nameJürg Billeter2020-02-271-1/+1
| | | | This matches the REAPI platform lexicon.
* local.py: use extended API, set BST_NO_PRESTAGE_KEYDarius Makovsky2019-10-301-1/+1
| | | | | | | tests: * local sources are cached * use git sources instead of local when removing objects * update expected cache keys
* element.py: remove call to _source_cached()traveltissues/benchmarkDarius Makovsky2019-10-051-1/+1
| | | | | | | Remove call to Element._source_cached() in _calculate_cache_key and do not recalculate workspace keys. tests: shell browsing of workspaces is currently broken
* element.py: always check sources for cachingDarius Makovsky2019-09-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | Check that sources are cached even if they are workspaced and do not reset workspace cache data partially reverts !1470 closes #1088 element.py: remove workspaces in cache key calc Using the workspace source plugin, workspaces should now be handled like sources for the purpose of calculating element cache keys. partially reverts !1470 works towards #1073 Since the source keys are now calculated using the unique keys of the workspace source, this change will break external tracking for open workspaces. In future attempting to track an open workspace might raise a SourceError. The test is rewritten to close the workspace before tracking.
* artifact.proto: Add the project name to the build dependency informationJames Ennis2019-08-191-1/+1
| | | | | | | | | 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: Add the build dependency names to the cache key dictJames Ennis2019-08-191-1/+1
| | | | | We store the build dependency names in the artifact proto. This should be reflected in the cache key dict.
* element.py: clobber sources with workspaceDarius Makovsky2019-07-221-1/+1
| | | | add name to sources in cache key dict
* element.py: change cache key dict fieldstraveltissues/cache-key-changesDarius Makovsky2019-07-121-1/+1
| | | | relates to #1073
* Remove OSTree plugin; It lives now in the bst-plugins-experimental repoJavier Jardón2019-05-141-1/+1
|
* Bump artifact version for changes in symlink handlingJürg Billeter2019-02-141-1/+1
|
* Cache Keys: Update to use JSON rather than pickledanielsilverstone-ct/json-cache-keyDaniel Silverstone2019-02-141-1/+1
| | | | | | | | This affects the cache key version (updated to 7) and introduces a dependency on `ujson` which is BSD licenced as of the version locked in `requirements.txt` Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
* utils.py: Return all directories in list_relative_paths()Jürg Billeter2019-02-131-1/+1
| | | | | | | | | | | | | | | Returning only empty directories leads to inconsistencies when computing a manifest by combining results from multiple list_relative_paths() calls as done by the compose plugin. I.e., the same directory may be empty in one dependency and non-empty in another dependency. The merged file list will still contain that directory even though it's no longer empty. This inconsistency causes problems when calculating differences between manifests. Returning all directories fixes these inconsistencies. This is a change in API behavior.
* projectconfig.yaml: Consistently include directories in split rulesJürg Billeter2019-02-131-1/+1
| | | | | | | | | Most split rules already included the relevant directories themselves in addition to the directory contents. Add the missing bin, sbin, and libexec directories. This is required to fix tests with the following commit that changes list_relative_paths() to return all directories.
* buildstream/data/projectconfig.yaml: Remove default strip-binariesJavier Jardón2018-12-091-1/+1
| | | | | | | | | They are too specific to be included by default Recommendation is if you are building in Linux is to use the ones begin used in the freedesktop-sdk project, for example See #645
* _config.py: Use os and architecture settingsRaoul Hidalgo Charman2018-12-051-1/+1
| | | | | | In element, platform asks for host os and architecture to default to when SandboxConfig is initialised. This changes element cache keys so those have been updated in the tests.
* git source plugin: Track git tags and save them to reproduce a minimum ↵Valentin David2018-12-051-1/+1
| | | | | | | | | | | | | | | shallow repository Instead of tag information being fetched which can change with time, they are tracked and saved in the projects.refs/.bst. Then we re-tag automatically the closest tag so that `git describe` works and is reproducible. This new feature is opt-in with the new `track-tags` configuration, and must be used to fix modules which are broken by our new policy of omitting the `.git/` repository when staging git sources. This fixes issue #487
* Fix infinite recursion in default strip debug commandValentin David2018-11-081-1/+1
| | | | Fixes #645.
* Bump Artifact VersionRichard Maw2018-09-161-1/+1
| | | | | Since we now set PWD in the environment of builds existing builds may behave differently so must cache differently now.
* Don't strip pathname from debug symbol filesSam Thursfield2018-08-221-1/+1
| | | | | | | | | | | | | When GDB looks for debug symbols it looks for the full path of the file inside the configured debug-file-directory. For example, if the debug-file-directory is set to a default of /usr/lib/debug, and you are debugging /usr/bin/python3, GDB will look for its debug symbols at this location: /usr/lib/debug/usr/bin/python3. BuildStream has been putting all debug files inside /usr/lib/debug under their $(basename), so in the above example GDB would fail to find any debug symbols for /usr/bin/python3 because they would be in the incorrect locatoin of /usr/lib/debug/python3.
* Add pip source pluginChandan Singh2018-08-151-1/+1
| | | | | | | | | | | `pip` source plugin can stage python packages that are either specified directly in the element definition or picked up from `requirements.txt` from previous sources. In order to support the latter use-case (which is also the primary motivation for this plugin), this plugin requires access to previous sources and hence is an example of a Source Transform source. Also, bump `BST_FORMAT_VERSION` as this patch adds a new core plugin.
* _project.py: Add fatal-warnings configuration itemJosh Smith2018-08-151-1/+1
| | | | | | | | | | | | | | | | | | | | This allows for users to configure fatal-warnings to be either a list of warnings. This commit deprecates the use of fail-on-overlap within project.conf, this will now use the fatal-warnings configuration item. element.py: Cache key calculation now takes into account all of the fatal-warnings tests: This modifys the tests/frontend/overlaps.py tests to support the new fatal-warnings configuration. Backwards compatibility is also tested for `fail-on-overlap` _versions.py: BST_FORMAT_VERSION bumped to 15 for fatal-warnings BST_CORE_ARTIFACT_VERSION bumpted to 5 for fatal-warnings Fixes: #526
* remote source: Add cachekey testChandan Singh2018-08-131-1/+1
| | | | | Add cachekey tests for the recently added `remote` source plugin to ensure that future changes do not break API compatibility.
* Bump BST_CORE_ARTIFACT_VERSION for deterministic source pluginsValentin David2018-08-121-1/+1
|
* Adding caching build treesPhillip Smyth2018-07-231-1/+1
| | | | | buildstream/element.py: Adding build tree to cache buildstream/_versions.py: Bumping BST_CORE_ARTIFACT_VERSION
* tests/cachekey: Update expected cache keys after switch to CASJürg Billeter2018-07-171-1/+1
|
* buildstream/_versions.py: Increment BST_CORE_ARTIFACT_VERSIONTristan Van Berkom2018-04-111-1/+1
| | | | | Now that we've restructured the artifact metadata into separate files, we need to rev the artifact version.
* element.py, source.py: Cleanup how Source cache keys are calculated.Tristan Van Berkom2018-04-111-1/+1
| | | | | | | | Recently after a refactor we kept the Source adding workspace keys to the source keys because, now clean this up to have the workspace key added directly in the Element cache key calculation. This breaks cache keys.
* Generate unique subdirs for built elementsPhillip Smyth2018-03-261-1/+1
| | | | | | | | | | | | | Based on issue 89 (https://gitlab.com/BuildStream/buildstream/issues/89) Ensuring that elements are staged into unique subdirs while building. This patch supports that by doing the following: * Modify project config to add 2 new variables ("project-name" and "element-name") * Changed the default install-root from "/buildstream/install" to "/buildstream-install" * Update the tests to accommodate these changes * Update the expected cache keys in the tests This fixes #89
* tests/cachekey: Added test to exercise new sandbox contributions to cache keyTristan Van Berkom2018-03-251-1/+1
|
* Update expected cache keys in testsJames Ennis2018-02-281-1/+1
|
* tests/cachekey: Updating cache key test for new artifact versioncache-keys-os-archTristan Van Berkom2018-02-071-1/+1
|
* tests/cachekey: Enhanced tests to consider local sources with multiple files.Tristan Van Berkom2018-01-101-1/+1
| | | | | | | We had a cache key instability issue with local sources generating inconsistent cache keys due to iterating over their files in a random order. Tests did not catch this previously due to the local source sample only using one file to iterate over.
* Updating cache key test for recent changes related to issue #121Tristan Van Berkom2017-11-061-1/+1
|
* Updating all test cases for the removal of architecture conditionals and optionsTristan Van Berkom2017-11-061-1/+1
|
* Add a new zip sourcezipMathieu Bridon2017-11-031-1/+1
| | | | This is equivalent to the tar source, but for Zip archives.
* tests/cachekey: Fixing cache key test after changing default strip commandsTristan Van Berkom2017-10-231-1/+1
|
* tests/cachekey: Fixing cache key test after modifying project.conf default ↵Tristan Van Berkom2017-10-211-1/+1
| | | | environment
* Add platform factoriesTristan Maat2017-09-281-1/+1
|
* tests/cachekey: Adding cache key tests for new patch sourceTristan Van Berkom2017-09-091-1/+1
|
* tests/cachekey: Adding Cache Key testsTristan Van Berkom2017-09-011-0/+1
This test should contain an entry for every element and source plugin in buildstream. Further, an entry should exist for every feature of every plugin which may effect cache key calculation. MANIFEST.in: Adding .expected files used in this test to the generated dist tarballs.