summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* element.py: fix init_workspace for multiple sourcesraoul/440-fixRaoul Hidalgo Charman2019-05-172-5/+30
| | | | | Noticed a mistake that got into !1214, so only the last source gets initialised in a workspace. Added a test for this.
* Merge branch 'shared/split_out_update_state_2' into 'master'bst-marge-bot2019-05-161-111/+171
|\ | | | | | | | | Split Element._update_state into cache key and artifact state methods See merge request BuildStream/buildstream!1342
| * Split Element._update_state into cache key and artifact state methodsshared/split_out_update_state_2Jonathan Maw2019-05-161-111/+171
|/ | | | | i.e. there are now __update_cache_keys(), __update_artifact_state() __reset_cache_data() and __update_cache_key_non_strict() methods.
* Merge branch 'raoul/974-Artifact-Rework' into 'master'bst-marge-bot2019-05-1524-701/+916
|\ | | | | | | | | | | | | Artifact as a Proto: rework Closes #974 See merge request BuildStream/buildstream!1292
| * element.py: Tweak pull_buildtrees logic in _pull_pending()raoul/974-Artifact-ReworkTom Pollard2019-05-151-1/+2
| | | | | | | | | | | | | | If an element is cached without a buildtree it not longer entails that it may be possible to pull a buildtree for it, if it wasn't cached with one at creation. Query _buildtree_exists() to reduce possible redudant pull attempts.
| * _cas/cascache.py: Remove contains_subdir_artifact()Tom Pollard2019-05-152-39/+0
| | | | | | | | This method is no longer used and as such can be removed.
| * Remove unused progress callbackRaoul Hidalgo Charman2019-05-154-19/+10
| |
| * element.py: Remove __get_cache_keys_for_commit()Tom Pollard2019-05-151-11/+0
| | | | | | | | This private method is no longer used and as such can be removed.
| * Remove excluded_subdir/subdir optionsRaoul Hidalgo Charman2019-05-153-56/+17
| | | | | | | | | | | | | | With artifact as a proto, it doesn't make sense to do it this way, bits of code can be removed. Part of #974
| * _artifact.py: Rework to use artifact protoRaoul Hidalgo Charman2019-05-1521-447/+723
| | | | | | | | | | | | | | | | This will replace the previous use of a directory structure. Quite a lot is changed here, predominantly _artifact and _artifactcache modules. Part of #974
| * element.py: Name normalisation & artifact path constructer helpersTom Pollard2019-05-1513-64/+79
| | | | | | | | | | | | By extracting the functionality from the Element() it allows the removal of code duplication for artifact assertion in ArtifactShare(), via a new get_artifact_name() method in Cli().
| * cascache: Make diff_trees publicRaoul Hidalgo Charman2019-05-151-54/+54
| | | | | | | | Part of #974
| * ArtifactServicer: Make GetArtifact update mtime blobsRaoul Hidalgo Charman2019-05-151-6/+17
| | | | | | | | Part of #974
| * artifactcache tests: change artifactcache variablesRaoul Hidalgo Charman2019-05-152-27/+27
| | | | | | | | | | A few variables were naming artifactcache variables cas, which was confusing. Changed this and comments to clarify this.
| * Add artifact directoryRaoul Hidalgo Charman2019-05-152-0/+10
|/ | | | | | This will be used to store artifact protos. Part of #974
* Merge branch 'pip-elem-install-from-pip-source' into 'master'Chandan Singh2019-05-154-14/+159
|\ | | | | | | | | | | | | Pip elem install from pip source Closes #589 See merge request BuildStream/buildstream!1336
| * tests: Break `test_pip_source_import` into independent testspip-elem-install-from-pip-sourceShahwat Dalal2019-05-141-2/+59
| | | | | | | | | | Previous test tested both package and requirements.txt dependency features in a single test. Now features are independently tested.
| * pip_element: Install packages pulled by pip_sourceShahwat Dalal2019-05-142-1/+73
| | | | | | | | | | | | In refrence to https://gitlab.com/BuildStream/buildstream/issues/589. `pip.yaml` now installs pip packages from `/.bst_pip_downloads` if the directory exists.
| * tests: Allow `python_repo` to install nested package depsShahwat Dalal2019-05-142-12/+28
|/ | | | | | In order to ensure that pip_source is pulling transitive dependencies, adapted python_repo to use `install_reqiures` in its default setup script.
* Merge branch 'chandan/update-plugin-reqs' into 'master'Chandan Singh2019-05-142-4/+0
|\ | | | | | | | | requirements: Do not require PyGObject See merge request BuildStream/buildstream!1343
| * requirements: Do not require PyGObjectChandan Singh2019-05-142-4/+0
|/ | | | | Since !1341 got merged, we do not depend on `PyGObject`. The only thing that needed it was OSTree so this can be safely removed now.
* Merge branch 'jjardon/ostree_removal' into 'master'Chandan Singh2019-05-1414-605/+13
|\ | | | | | | | | | | | | Remove OSTree plugin; It lives now in the bst-plugins-experimental repo Closes #977 See merge request BuildStream/buildstream!1341
| * Remove OSTree plugin; It lives now in the bst-plugins-experimental repoJavier Jardón2019-05-1414-605/+13
|/
* Merge branch 'raoul/982-individual-source-caching' into 'master'Raoul Hidalgo Charman2019-05-1411-36/+260
|\ | | | | | | | | | | | | Add BST_REQUIRES_PREVIOUS_SOURCE_STAGE option Closes #982 See merge request BuildStream/buildstream!1319
| * Add tests for BST_REQUIRES_PREVIOUS_SOURCES_STAGERaoul Hidalgo Charman2019-05-145-0/+156
| | | | | | | | | | | | Tests that sources are cached seperately where appropriate. Part of #982
| * Add BST_REQUIRES_PREVIOUS_SOURCE_STAGE optionRaoul Hidalgo Charman2019-05-146-36/+104
|/ | | | | | | This is an element option that allows sources to be staged more seperately where possible rather than on a per element option. Part of #982
* Merge branch 'raoul/1010-multiple-track-fix' into 'master'Raoul Hidalgo Charman2019-05-145-25/+31
|\ | | | | | | | | | | | | Ensure previous sources refs are updated during track Closes #1010 See merge request BuildStream/buildstream!1330
| * source.py: ensure previous track refs are updatedraoul/1010-multiple-track-fixRaoul Hidalgo Charman2019-05-105-25/+31
|/ | | | | | | | | | | | Updates the refs in the job process (but doesn't write), to ensure following sources can see consistency of previous sourcse has been updated. `_save_ref` is renamed `_set_ref` with writing to file now optional. This also changes the previous_source_access test to use a remote, so that it actually tests this cornercase. Fixes #1010
* Merge branch 'aevri/retry_flag' into 'master'bst-marge-bot2019-05-101-10/+5
|\ | | | | | | | | jobs/job.py: refactor, rm redundant _retry_flag See merge request BuildStream/buildstream!1335
| * jobs/job.py: refactor, rm redundant _retry_flagAngelos Evripiotis2019-05-101-10/+5
|/ | | | | This member variable is always assigned right before it's tested, so it doesn't need to persist in the object.
* Merge branch 'tristan/fix-build-track-all-no-strict' into 'master'Tristan Van Berkom2019-05-102-3/+94
|\ | | | | | | | | | | | | Fix build track all no strict Closes #1014 See merge request BuildStream/buildstream!1332
| * tests/frontend/buildtrack.py: Test that tracking builds in non-strict mode ↵tristan/fix-build-track-all-no-strictTristan Van Berkom2019-05-091-0/+77
| | | | | | | | | | | | actually build This is a regression test for issue #1014
| * tests/frontend/buildtrack.py: Extending tests to ensure we build after trackingTristan Van Berkom2019-05-091-2/+14
| | | | | | | | | | This adds a check to test_build_track() to ensure that the target is cached as a result of building with tracking of selected elements.
| * element.py: Update state on reverse dependencies when strict key is resolved.Tristan Van Berkom2019-05-091-1/+3
|/ | | | | | | | | | | | | When calculating the strict key, we do not know for sure yet that the element is required or whether it will ever have a cache key, as we could be tracking elements which will result in resolving an element which is a build-only dependency of the target. This ensures that we process all elements which need to be processed, which is important for cases where we are building in non-strict mode and tracking is also enabled. This fixes issue #1014
* Merge branch 'tristan/fix-no-strict-junctions' into 'master'Tristan Van Berkom2019-05-092-2/+10
|\ | | | | | | | | | | | | Fix no strict junctions Closes #1018 See merge request BuildStream/buildstream!1333
| * test/frontend/fetch.py: Test for crashes when loading junctions in ↵tristan/fix-no-strict-junctionsTristan Van Berkom2019-05-081-1/+9
| | | | | | | | | | | | non-strict mode This is a regression test for #1018
| * _loader/loader.py: Set junction to be required in order to resolve cache keyTristan Van Berkom2019-05-081-1/+1
|/ | | | | | | | | | | | Recent code changes has avoided resolving cache keys in some conditions, which causes loading to break when attempting to stage junctions in non-strict mode. Instead of calling Element._update_state() here to resolve the cache key, setting it to be required causes it to automatically have it's cache key resolved, solving the problem. This change fixes #1018
* Merge branch 'tristan/fix-missing-workspace-artifact' into 'master'bst-marge-bot2019-05-063-5/+54
|\ | | | | | | | | | | | | element.py: Reset workspace state if last successful build is missing. Closes #1017 See merge request BuildStream/buildstream!1328
| * tests/integration/workspace.py: Test that we don't crash when workspace ↵tristan/fix-missing-workspace-artifactTristan Van Berkom2019-05-061-0/+33
| | | | | | | | | | | | artifacts are deleted This is a regression test for #1017
| * testing/runcli.py: Fix remove_artifact_from_cache() to work with subdirs.Tristan Van Berkom2019-05-061-2/+2
| | | | | | | | | | | | | | The artifact directories are based on the element normal_name, which substitutes any path separators with dashes. Fix the helper function to use the correct path.
| * element.py: Reset workspace state if last successful build is missing.Tristan Van Berkom2019-05-061-3/+19
|/ | | | | | | | If the artifact referred to by the last successful build in the workspace state no longer exists, reset the workspace state and do not attempt to perform an incremental build instead of crashing. This fixes #1017
* Merge branch 'jjardon/sphinx_2' into 'master'bst-marge-bot2019-05-041-1/+1
|\ | | | | | | | | tox.ini: do not hardcode sphinx version See merge request BuildStream/buildstream!1306
| * tox.ini: do not hardcode sphinx versionjjardon/sphinx_2Javier Jardón2019-05-041-1/+1
|/ | | | | This is not needed anymore since 431e578bf1b80074bd0f0ca8559e998dad59d4c0
* Merge branch 'jjardon/fedora_30_master' into 'master'bst-marge-bot2019-05-041-5/+5
|\ | | | | | | | | .gitlab-ci.yml: Add Fedora 30 and remove deprecated Fedora 28 See merge request BuildStream/buildstream!1320
| * .gitlab-ci.yml: Add Fedora 30 and remove deprecated Fedora 28jjardon/fedora_30_masterJavier Jardón2019-05-031-5/+5
|/
* Merge branch 'danielsilverstone-ct/track-update' into 'master'bst-marge-bot2019-05-022-2/+16
|\ | | | | | | | | _yaml.py, source.py: Fix tracking of refs inside conditions See merge request BuildStream/buildstream!1324
| * _yaml.py, source.py: Fix tracking of refs inside conditionsDaniel Silverstone2019-05-022-2/+16
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | Previously if you had a source of the form: ```yaml - (?): somecondition: url: blah ref: foo othercondition: url: blah ref: bar ``` And you did `bst source track` on the element then you'd get something output of the form: ```yaml - (?)... ... ref: wibble ``` With this patch, the *correct* ref inside the conditionals is updated instead. Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
* Merge branch 'abderrahim/non-strict-key-display' into 'master'bst-marge-bot2019-05-011-3/+3
|\ | | | | | | | | | | | | _artifactcache.py: display the actual key being pulled Closes #981 See merge request BuildStream/buildstream!1304
| * _artifactcache.py: display the actual key being pulledAbderrahim Kitouni2019-05-011-3/+3
|/ | | | Fixes #981
* Merge branch 'bschubert/remove-duplicated-code' into 'master'bst-marge-bot2019-05-011-5/+0
|\ | | | | | | | | _yaml.py: remove duplicated check See merge request BuildStream/buildstream!1318