summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* tests/format/junctions.py: Added tests for missing files across junction ↵tristan/missing-file-errors-1.2Tristan Van Berkom2019-03-0911-1/+67
| | | | | | | boundaries These include assertions for the expected provenance in the errors, protecting against regressions of #947
* tests/format/project.py: Added tests for missing files and missing junctionsTristan Van Berkom2019-03-095-0/+31
| | | | | These also assert that the provenance of the references to missing files are reported, guarding for regressions of issue #947
* _loader/loader.py: Specify junction name in missing file errors where ↵Tristan Van Berkom2019-03-091-3/+12
| | | | | | | | | | | | | appropriate When a file is missing in a subproject, it is not particularly meaningful to specify the filesystem path to the elements directory of the subproject, as this temporary staging directory belongs to BuildStream and not the user. Instead, when a file is missing in a subproject, specifying the junction name is more useful. This fixes an aspect of #947
* _loader/loader.py: Include provenance in missing file errorsTristan Van Berkom2019-03-091-3/+9
| | | | This fixes issue #947
* _yaml.py: Report more accurate provenance informationTristan Van Berkom2019-03-091-1/+5
| | | | | | | | | When printing the provenance, show the fully qualified element name including the junction prefix in the case that the provenance comes from a subproject. This makes much more sensible error reporting when reporting errors which originate from a subproject.
* Merge branch 'tristan/optional-coverage-1.2' into 'bst-1.2'bst-marge-bot2019-03-058-26/+73
|\ | | | | | | | | Coverage optional in 1.2.x See merge request BuildStream/buildstream!1203
| * tox.ini: Support running tests without coverage present at allTristan Van Berkom2019-03-051-7/+13
| | | | | | | | | | | | | | | | | | | | | | This change simply makes it possible to run the tests without coverage and without any coverage related dependencies present in the tox venvs. To run tests without coverage, simply choose the python version and append "-nocover" to the env name, e.g.: tox -e py36-nocover
| * setup.cfg, tox.ini: Moved coverage support to the tox.ini levelTristan Van Berkom2019-03-052-2/+2
| | | | | | | | | | | | | | This disables any attempt to use coverage when running tests directly against installed dependencies with setup.py. This fixes #916
| * tox.ini / requirements: Separated coverage requirementsTristan Van Berkom2019-03-055-17/+30
| |
| * requirements: Added makefile for updating the requirementsTristan Van Berkom2019-03-051-0/+23
| |
| * tests/testutils/artifactshare.py: Support optional coverageTristan Van Berkom2019-03-051-2/+7
|/ | | | | | | This scaffolding needs to manually tell coverage to cleanup when sigterm happens in the process in order to collect the coverage report, but we need to do this conditionally in case we are running tests without coverage support.
* Merge branch 'tristan/fix-overlap-subproject-policy-1.2' into 'bst-1.2'Tristan Van Berkom2019-02-228-10/+63
|\ | | | | | | | | Observe fail-on-overlap policy on building element's project See merge request BuildStream/buildstream!1172
| * tests/frontend/overlaps.py: Added regression test for cross project overlapsTristan Van Berkom2019-02-227-8/+61
| | | | | | | | | | | | | | | | | | This test ensures the overlap failure vs warning policy in one project only ever affects the artifacts created for the project which declares it and does not force it's policy onto another consuming project. A regression test against issue #926
| * element.py: Observe fail-on-overlap policy on building element's projectTristan Van Berkom2019-02-221-2/+2
|/ | | | | | | | Instead of observing the policy on the element which introduces overlapping files, which is still the correct element to observe for whitelists. This fixes #926
* NEWS: Updating for 1.2.4 release1.2.4Tristan Van Berkom2019-02-141-0/+16
|
* Merge branch 'valentindavid/pull-chmod-bug-1.2' into 'bst-1.2'Valentin David2019-02-132-5/+84
|\ | | | | | | | | buildstream/_artifactcache/cascache.py: Set 0644 rights to pulled files See merge request BuildStream/buildstream!1132
| * buildstream/_artifactcache/cascache.py: Set 0644 rights to pulled filesvalentindavid/pull-chmod-bug-1.2Valentin David2019-02-132-5/+84
|/ | | | This was broken by 9252a18180ce79d70c193768293baa0f0eff9981.
* Merge branch 'doraskayo/filter-indirect-deps-fix-1.2' into 'bst-1.2'James Ennis2019-02-054-2/+43
|\ | | | | | | | | filter.py: don't recurse when staging dependencies See merge request BuildStream/buildstream!1127
| * filter.py: don't recurse when staging dependenciesdoraskayo/filter-indirect-deps-fix-1.2Dor Askayo2019-02-054-2/+43
|/ | | | | | | | | Also bump the element's version so cached artifacts would be invalidated. Fixes #883 (cherry picked from commit 03111d39e093b11ffc6589071f2f5040d5f61ab4)
* Merge branch 'chandan/toxify-1.2' into 'bst-1.2'Chandan Singh2019-02-0415-125/+202
|\ | | | | | | | | Run tests using tox See merge request BuildStream/buildstream!1111
| * .coveragerc: Omit .tox/ directory from coverage statschandan/toxify-1.2Chandan Singh2019-01-281-0/+2
| | | | | | | | | | This is relevant bit of change from the MR !1051, to fix the coverage stats.
| * .coveragerc: Omit some things which are irrelevant to cover.Tristan Van Berkom2019-01-281-1/+3
| | | | | | | | | | | | | | | | | | * Omit versioneer's _version.py * Omit our __main__.py which is used only internally for generating documentation (cherry picked from commit 116c1070c893c4b5bd2505ea39157f1b37946092)
| * bst2html.py: Name the second argument to avoid an errorJim MacArthur2019-01-281-1/+1
| | | | | | | | | | | | (cherry picked from commit 1fd38fb74c81d39ca7500d9b7f77c67430ed7852) Backport of !874.
| * .gitlab-ci.yml: Run tests using toxChandan Singh2019-01-281-110/+35
| | | | | | | | | | | | | | | | | | This commit a backport of a handful of merge requests to master. As these two branches have diverged a bit and the master branch has seen a fair bit of churn lately, it was not trivial to simply cherry-pick the changes. Some related merge reqtests are: !1027, !1037 and !1051.
| * .gitignore: Ingnore tox, pytest, coverage filesChandan Singh2019-01-281-0/+3
| |
| * Add tox.ini from master branchChandan Singh2019-01-281-0/+70
| | | | | | | | | | | | | | | | | | | | | | `tox.ini` has seen heavy churn lately, and backporting individual commits is turning out to be a more involved process as the two branches have diverged a bit. So, this is more or less copy-pasted from the master branch, without a separate lint job. Since switching to `pycodestyle` will require some code formatting changes, that does not seem reasonable to apply to this branch. So, let's stick with running the linters via `pytest`.
| * Add requirements files for install, test and plugin dependenciesChandan Singh2019-01-199-12/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add `.in` and `.txt` requirements files for BuildStream's pure python dependencies. For each pair, the `.in` file is supposed to capture the loose version requirements, and the corresponding `.txt` file is supposed to have frozen requirements. We have 3 such sets: * `requirements`: BuildStream's runtime dependencies * `dev-requirements`: Dependencies for running tests * `plugin-requirements`: Dependencies for core plugins Note that the frozen requirements files will only be used for testing purposes, and `setup.py` will continue to read loose requirements. This commit comes with a Makefile to update the requirements files as well. --- !1027 is related MR for the master branch.
| * conftest.py: Don't use deprecated get_marker() functionChandan Singh2019-01-191-1/+1
|/ | | | | | | | | | | | | | | | | Starting from `pytest` version 4.1.0, `Node.get_marker()` has been removed, and hence our tests break when running with newer versions of `pytest`. It was deprecated since a while back but it has recently been removed completely. Use `get_closest_marker()` as a replacement that is suggested in the changelog, and seems to work fine for our use case. See https://github.com/pytest-dev/pytest/pull/4564 for more context on the upstream issue. One way of verifying this change is that this should fix the recently added `tests-fedora-update-deps` job, that was failing before due to this issue. (cherry picked from commit c91784abcdfebef2e1e70612193b67efe7fa016a)
* Merge branch 'valentindavid/git_force_fetch_tags-1.2' into 'bst-1.2'Valentin David2018-12-113-2/+113
|\ | | | | | | | | [backport 1.2] Force updating tags when fetching git repository See merge request BuildStream/buildstream!1005
| * Force updating tags when fetching git repositoryValentin David2018-12-113-2/+113
|/ | | | | | | | | When using aliases there are multiple remotes used in the cache repository. When fetching, tags are not updated if the were previously fetched from a different remote. Commits that not in a branch and only tagged do not get fetched if the tag is not fetched. Fixes #812
* Merge branch 'tristan/avoid-unused-submodules-1.2' into 'bst-1.2'Tristan Van Berkom2018-12-101-7/+15
|\ | | | | | | | | [backport 1.2] Avoid downloading unused git submodules See merge request BuildStream/buildstream!1001
| * plugins/sources/git.py: Avoid downloading unused submodulesTristan Van Berkom2018-12-101-7/+15
|/ | | | | | | | | | | | | | Currently we have configuration in place to disable use of submodules, with the `checkout-submodules` git plugin option and the individual `checkout` options for each submodule, but these unused submodules are still downloaded at fetch time. This patch fixes the plugin to just completely ignore the submodules which are configured to be unused. This was previously fixed in the master branch by !996, and this patch backports the relevant fix to the 1.2 branch, fixing issue #804.
* Merge branch 'valentindavid/cache_server_fill_up-1.2' into 'bst-1.2'Valentin David2018-12-104-96/+255
|\ | | | | | | | | [backport 1.2] Fix cleanup of cache in server when disk is full See merge request BuildStream/buildstream!979
| * Lock cache cleanup in cas servervalentindavid/cache_server_fill_up-1.2Valentin David2018-11-291-46/+56
| | | | | | | | Cleaning up in parallel might slow down the cleaning process
| * Cleanup cache in cas server more agressivelyValentin David2018-11-293-67/+107
| | | | | | | | | | When there is less than 2GB left, it cleans up have 10GB available. These values are configurable.
| * Move cas server from ref-based to object-based garbage collection.Valentin David2018-11-292-3/+46
| |
| * Update mtimes of objects for requested references.Valentin David2018-11-293-11/+37
| | | | | | | | | | This also remove references when some objects are missing. This is in preparation for the move from reference to object garbage collection.
| * "Fallocate" object disk space to avoid getting NOSPC error when writingValentin David2018-11-291-6/+24
| | | | | | | | | | This locks the temporary object file so that cleanup does not need to be done for every write.
| * Avoid copying temporary file when adding object to CAS in server.Valentin David2018-11-192-18/+26
| | | | | | | | | | | | | | The file is already a temporary file and does not need copy. ENOSPC is thrown during that copy in issue #609. Fixes #678.
| * Fix type error in RPC messagesValentin David2018-11-191-2/+2
| |
| * Make cache clients not fail when a blob is not available.Valentin David2018-11-191-0/+14
| | | | | | | | | | | | | | We plan to make cache incomplete. That is some blobs are missing. For most of cases we will delete references when requested if they are incomplete. But there will be corner cases where objects are removed after the reference is requested.
| * Use f_bavail to query available space. Not f_bfree.Valentin David2018-11-191-1/+1
|/ | | | | | f_bfree space might not be usable. In practice we see failures in big disks because f_bfree is over 2GB and f_bavail is 0. We get ENOSPC if writing on disk then.
* Merge branch 'valentindavid/script-artifact-corruption-1.2' into 'bst-1.2'Valentin David2018-11-1410-8/+157
|\ | | | | | | | | [backport] Fix cache corruption by scripts when layout and integration commands are used See merge request BuildStream/buildstream!940
| * Fix cache corruption by scripts when layout and integration commands are usedvalentindavid/script-artifact-corruption-1.2Valentin David2018-11-0810-8/+157
|/ | | | | | | | Root directory was marked as a non-artifact mount, so not using SafeHardLink. However integration commands executed with write access to the root directory. Fixes #749
* Merge branch 'chandan/fix-checkout-none-1.2' into 'bst-1.2'Tristan Van Berkom2018-10-294-23/+34
|\ | | | | | | | | Ensure `--deps=none` option works for `bst checkout` See merge request BuildStream/buildstream!828
| * Ensure `--deps=none` option works for `bst checkout`Chandan Singh2018-10-294-23/+34
|/ | | | | | | | | | | This is a backport of !819. --- Currently, `bst checkout --deps none` command always produces empty output. Fix this issue and add regression test for the same. Fixes #670.
* Merge branch 'valentindavid/move_alpine_tarball-1.2' into 'bst-1.2'Javier Jardón2018-10-174-4/+4
|\ | | | | | | | | Change URL to the Alpine tarball See merge request BuildStream/buildstream!881
| * Change URL to the Alpine tarballValentin David2018-10-174-4/+4
|/
* NEWS: Updating for 1.2.3 release1.2.3Tristan Van Berkom2018-10-051-0/+20
|
* Merge branch 'valentindavid/rmtree_oserror-1.2' into 'bst-1.2'Valentin David2018-10-041-1/+1
|\ | | | | | | | | Catch correct exception from shutil.rmtree [bst-1.2] See merge request BuildStream/buildstream!861