summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* source.py: Track marked URLs and assert they are marked during ↵tristan/source-fetcher-changes-1.2Tristan Van Berkom2018-09-031-0/+20
| | | | | | | | | | | | | | Plugin.configure() This cannot test for unaliased URLs, as those can be discovered later on outside of user provided element configuration; at least we assert that if an alias was used, we have seen it at load time. This will cause a BUG to occur for a plugin which marks an aliased URL (or attempts to translate one) outside of `Plugin.configure()`, if that URL was not previously seen. This is a part of #620
* source.py: Added `primary` argument to URL marking APIsTristan Van Berkom2018-09-033-19/+52
| | | | | | | | | | | | | The Source must now mention whether the marked or translated URL is "primary" or not. Even when a Source may have multiple URLs, the auxilliary URLs are derived from the primary one, not only is this true for git, but it is mandated by our tracking API which assumes there is a primary URL. This adjusts the `git` source and the test `fetch_source.py` source to behave properly and advertize it's primary URL properly. This is a part of #620
* plugin.py: Added _configure() and _get_configuring() private APIsTristan Van Berkom2018-09-033-2/+29
| | | | | | | | | Keeps track of whether the plugin is currently being configured. Adjusted Element and Source classes to call _configure() in place of calling configure() directly. This is a part of #620
* source.py: Documenting that marking download URLs is mandatoryTristan Van Berkom2018-09-031-6/+34
| | | | | | | A download URL must be interpreted by the core at `Plugin.configure()` time, even if only employed later on. This is a part of #620
* source.py: Fixing docs link formatting to be consistent.Tristan Van Berkom2018-09-031-8/+10
|
* source.py: Document Source.get_source_fetchers() to return an iterableTristan Van Berkom2018-09-031-2/+9
| | | | | | | | Also highlight the fact that the plugin can rely on the fetcher's fetch() method getting called before consuming the next item in the list, which is the magick behavior that the git plugin relies on. This is a part of #620
* Merge branch 'Qinusty/cache-size-directory-backport' into 'bst-1.2'Tristan Van Berkom2018-09-011-1/+1
|\ | | | | | | | | Backport: Move cache_size.pid.log files into a subdirectory of logs See merge request BuildStream/buildstream!770
| * scheduler.py: Move cache_size logs into folderQinusty/cache-size-directory-backportJosh Smith2018-08-311-1/+1
|/ | | | | This prevents the cache_size.pid.log files from cluttering the root log directory.
* Merge branch 'Qinusty/retries-should-fail-backport' into 'bst-1.2'Qinusty2018-08-314-10/+6
|\ | | | | | | | | Retries should fail Backport 1.2 See merge request BuildStream/buildstream!768
| * tests: Modify tests to ensure retry FAILUREQinusty/retries-should-fail-backportJosh Smith2018-08-313-3/+3
| |
| * job.py: Modify retry messages to be FAILJosh Smith2018-08-311-7/+3
|/ | | | | | | | This adjusts the message handler for the child processes to no longer override the message type. This also removes the ability for unhandled non BstError exceptions to retry.
* Merge branch 'tristan/591-workaround-1.2' into 'bst-1.2'Tristan Van Berkom2018-08-311-0/+11
|\ | | | | | | | | Backport workaround for #591 See merge request BuildStream/buildstream!767
| * _project.py: Adding FIXME comment to address #591 properlyTristan Van Berkom2018-08-311-1/+7
| |
| * buildstream/_project.py: Report if project.conf is missing nameTom Pollard2018-08-311-0/+5
|/ | | | | | | Explicitly check that project.conf contains a name. This resolves the issue of the provenance check from _yaml.py incorrectly reporting the offending file as the default_config_node projectconfig.yaml when no name key exists in the pre_config_node dict.
* Merge branch 'tristan/atomic-cache-size-file-1.2' into 'bst-1.2'Tristan Van Berkom2018-08-301-1/+1
|\ | | | | | | | | _artifactcache/artifactcache.py: Write the cache_size file atomically See merge request BuildStream/buildstream!763
| * _artifactcache/artifactcache.py: Write the cache_size file atomicallytristan/atomic-cache-size-file-1.2Tristan Van Berkom2018-08-301-1/+1
|/ | | | | | | | This is causing issues while the size file is being read and written simultaneously. The proper fix will be to read/add/save the file atomically and that will require locking, but this fix is a good stop gap to existing crashes.
* Merge branch 'valentindavid/post_tracking_error-1.2' into 'bst-1.2'Valentin David2018-08-302-12/+37
|\ | | | | | | | | Report processing errors from tracking See merge request BuildStream/buildstream!761
| * Report processing errors from trackingValentin David2018-08-302-12/+37
|/ | | | | | Failures to write files when tracking were not reported. Fixes #533.
* Merge branch 'valentindavid/roundtripping_only_when_modified-1.2' into 'bst-1.2'Tristan Van Berkom2018-08-301-2/+3
|\ | | | | | | | | Disable round-tripping when element is not modified See merge request BuildStream/buildstream!760
| * Disable round-tripping when element is not modifiedValentin David2018-08-301-2/+3
|/
* Merge branch 'tristan/source-mirroring-changes-1.2' into 'bst-1.2'Tristan Van Berkom2018-08-302-17/+31
|\ | | | | | | | | Minor code changes revolving around source mirroring See merge request BuildStream/buildstream!759
| * plugins/source/git.py: Fix formatting of url in trackingTristan Van Berkom2018-08-301-1/+3
| | | | | | | | | | This was displaying the aliased URL which is pretty useless, use the translated URL for the timed activity.
| * source.py: Move Source.mark_download_url() to the public methods.Tristan Van Berkom2018-08-301-13/+13
| | | | | | | | | | | | This was sitting in the section for abstract methods, but this is most definitely not an abstract method to be implemented by Sources.
| * source.py: Stylistic changes in Source.__do_fetch()Tristan Van Berkom2018-08-301-3/+15
|/ | | | | | Added some comments to make the flow easier to follow, and removed an annoying 'success' variabled in favor of a for / else loop statement.
* Merge branch 'Qinusty/cyclic-variable-backport' into 'bst-1.2'Qinusty2018-08-308-11/+77
|\ | | | | | | | | Backport cyclic variable fix See merge request BuildStream/buildstream!757
| * Add tests for cyclic variables checkJosh Smith2018-08-306-7/+46
| | | | | | | | | | Note: This modifies the docker containers used for testing to supply the pytest-timeout package.
| * Add cyclic check within variable resolutionJosh Smith2018-08-302-4/+31
|/ | | | | This aims to address #600, this will raise an exception when a resolved variable contains a reference to the variable.
* Merge branch 'tristan/538-reenable-ostree-test-1.2' into 'bst-1.2'Tristan Van Berkom2018-08-301-4/+0
|\ | | | | | | | | tests/frontend/mirror.py: Reenable test_mirror_fetch_upstream_absent[ostree] See merge request BuildStream/buildstream!756
| * tests/frontend/mirror.py: Reenable test_mirror_fetch_upstream_absent[ostree]tristan/538-reenable-ostree-test-1.2Tristan Van Berkom2018-08-301-4/+0
|/ | | | | This test was skipped because of issue #538, but #538 was fixed and the test was still not reenabled.
* Merge branch 'tristan/reduce-filter-tests-1.2' into 'bst-1.2'Tristan Van Berkom2018-08-301-15/+10
|\ | | | | | | | | tests/plugins/filter.py: Don't run redundant tests See merge request BuildStream/buildstream!754
| * tests/plugins/filter.py: Don't run redundant testsTristan Van Berkom2018-08-301-15/+10
|/ | | | | | | | | There is no reason that the filter element codepaths can behave differently depending on the Source implementation used in the test, as the Source implementation does not have any filter specific virtual methods. Removing the redundant tests and just performing these tests with the git source.
* Merge branch 'bschubert/backport-log-missed-cache' into 'bst-1.2'Tristan Van Berkom2018-08-292-0/+26
|\ | | | | | | | | Bschubert/backport log missed cache See merge request BuildStream/buildstream!752
| * Add tests that not-found objects in cache are shown as SKIPPEDBenjamin Schubert2018-08-291-0/+19
| |
| * Log not-found objects in the cache as SKIPPEDBenjamin Schubert2018-08-291-0/+7
|/
* Merge branch 'Qinusty/597-backport-ValueError-fix' into 'bst-1.2'Qinusty2018-08-292-9/+13
|\ | | | | | | | | Backport !700: Prevent ValueError on URLs without an alias See merge request BuildStream/buildstream!751
| * Prevent ValueError on URLs without an aliasJosh Smith2018-08-292-9/+13
|/ | | | Fixes #597
* Merge branch 'tristan/setup.py-metadata-1.2' into 'bst-1.2'Tristan Van Berkom2018-08-291-1/+25
|\ | | | | | | | | setup.py: Add more metadata useful for PyPI See merge request BuildStream/buildstream!749
| * setup.py: Add more metadata useful for PyPIChandan Singh2018-08-291-1/+25
|/ | | | | | | | | | | | | | | | | | | - setup.py: List useful links using `project_urls` - setup.py: Specify minumum python vresion using `python_requires` `python_requires` is the new way of specifying requirements for python version, as documented @ https://packaging.python.org/guides/distributing-packages-using-setuptools/#python-requires. This will also make this requirement appear nicely on the PyPI project page. - setup.py: Add project classifiers PyPI will use these classifiers to categorize projects while searching or browsing. Full list of classifiers can be found at https://pypi.org/classifiers.
* Merge branch 'juerg/workspaced-dependencies-1.2' into 'bst-1.2'Jürg Billeter2018-08-282-7/+89
|\ | | | | | | | | Fix key invalidation for workspaced dependencies See merge request BuildStream/buildstream!744
| * tests/frontend/workspaces.py: Removing some redundant testsjuerg/workspaced-dependencies-1.2Tristan Van Berkom2018-08-281-4/+4
| | | | | | | | | | Removed redundant tests from recently merged !740, this new test does not need to run for every different source kind.
| * element.py: Do not attempt to pull workspaced elementsJürg Billeter2018-08-281-0/+4
| |
| * tests/frontend/workspace.py: Add test for workspaced dependenciesValentin David2018-08-281-0/+70
| | | | | | | | This adds a regression test for #461.
| * element.py: Schedule assemble for key of workspaced elementsJürg Billeter2018-08-281-7/+15
|/ | | | | | | | | For uncached workspaced elements, assemble is required even just to calculate the cache key. As dynamic scheduling relies on cache keys, schedule assemble for uncached workspace elements even if they have not been marked as required yet. Fixes #461.
* Merge branch 'tristan/restore-post-merge-CI-1.2' into 'bst-1.2'Tristan Van Berkom2018-08-272-41/+13
|\ | | | | | | | | Restore post merge CI in 1.2 See merge request BuildStream/buildstream!738
| * .gitlab-ci.yml: Moving code_quality job into tests phaseTristan Van Berkom2018-08-271-5/+5
| | | | | | | | | | | | This job always takes a long time and does not really depend on the artifacts in the 'test' phase, moving it to the 'test' phase will reduce overall CI time.
| * Revert "README.rst: Removing the badges"Tristan Van Berkom2018-08-271-0/+5
| | | | | | | | This reverts commit da19bcf1de75bf930d0f233addc858b4073d0173.
| * Revert ".gitlab-ci.yml: Avoid running tests in post-merge"Tristan Van Berkom2018-08-271-31/+0
| | | | | | | | This reverts commit bea01531b984522940562866e904c83e8f9aed50.
| * .gitlab-ci.yml: Trying to fix code quality reportsTristan Van Berkom2018-08-271-5/+3
|/ | | | | | | | | This hasnt been working for a while, it might be because GitLab doesnt quite grasp that we have multiple branches to merge MRs to, or it might be because they have change the API and broken back compat in some way. See: https://docs.gitlab.com/ee/ci/examples/code_quality.html
* Merge branch 'tristan/doc-fix-deprecations-1.2' into 'bst-1.2'jjardon/ci_cache_testTristan Van Berkom2018-08-261-1/+1
|\ | | | | | | | | doc/bst2html.py: Fix deprecation warning (1.2) See merge request BuildStream/buildstream!734
| * doc/bst2html.py: Fix deprecation warningJavier Jardón2018-08-261-1/+1
|/ | | | | | | | This fixes the following: " /home/jjardon/buildstream/buildstream/doc/bst2html.py:32: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working from collections import Mapping "