summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* _platform/platform.py: Add alias for IBM AIX 7 powerpcchandan/ibm-7-platformChandan Singh2019-12-231-3/+11
| | | | | | `uname -m` is unusable in case of IBM AIX 7 as it reports the serial number of the machine. As a workaround, special case it and use the reported processor identifier.
* Merge branch 'chandan/remote-setuppy-test' into 'master'Chandan Singh2019-12-233-56/+15
|\ | | | | | | | | Drop support for `setup.py test` See merge request BuildStream/buildstream!1758
| * Drop support for `setup.py test`Chandan Singh2019-12-233-56/+15
|/ | | | | | | | | | | | | | Drop support for running tests via `setup.py test`, that is considered deprecated. `tox` is our primary frontend for running tests, so this change ensures that we don't have to support multiple ways of running tests. For testing against a specific installation environment, `tox` is not quite practical. But in these cases, one can run `pytest` directly. So, there is no need for this additional indirection. This was discussed in the following mailing list thread: https://mail.gnome.org/archives/buildstream-list/2019-December/msg00006.html.
* Merge branch 'juerg/job-process-close' into 'master'Jürg Billeter2019-12-191-1/+0
|\ | | | | | | | | | | | | job.py: Do not call Process.close() Closes #1243 See merge request BuildStream/buildstream!1776
| * job.py: Do not call Process.close()Jürg Billeter2019-12-191-1/+0
|/ | | | | | | | | | | As we handle subprocess termination by pid with an asyncio child watcher, the multiprocessing.Process object does not get notified when the process terminates. And as the child watcher reaps the process, the pid is no longer valid and the Process object is unable to check whether the process is dead. This results in Process.close() raising a ValueError. Fixes: 9c23ce5c ("job.py: Replace message queue with pipe")
* Merge branch 'juerg/pytest-timeout' into 'master'Jürg Billeter2019-12-191-1/+1
|\ | | | | | | | | setup.cfg: Set pytest default timeout See merge request BuildStream/buildstream!1775
| * setup.cfg: Set pytest default timeoutjuerg/pytest-timeoutJürg Billeter2019-12-191-1/+1
|/ | | | | | | This sets a default timeout of 15 minutes for tests to avoid hanging indefinitely. As the slowest test in CI normally takes less than 5 minutes, the timeout should be long enough to not trigger even on slower systems if everything operates normally.
* Merge branch 'jjardon/powerpc64le' into 'master'Jürg Billeter2019-12-171-0/+2
|\ | | | | | | | | buildstream/_platform/platform.py: Add powerpc64 and powerpc64le See merge request BuildStream/buildstream!1698
| * _platform/platform.py: Add powerpc64 and powerpc64leJavier Jardón2019-12-171-0/+2
|/
* Merge branch 'juerg/buildbox-run-userchroot' into 'master'Jürg Billeter2019-12-1711-17/+108
|\ | | | | | | | | | | | | Add CI job to test buildbox-run-userchroot Closes #1237 See merge request BuildStream/buildstream!1751
| * .gitlab-ci.yml: Add job to test buildbox-run-userchrootjuerg/buildbox-run-userchrootJürg Billeter2019-12-171-0/+35
| |
| * .gitlab-ci.yml: Update docker imageJürg Billeter2019-12-171-1/+1
| | | | | | | | This adds userchroot and buildbox-run-userchroot.
| * .gitlab-ci.yml: Add tests-buildbox-run to coverageJürg Billeter2019-12-171-0/+1
| |
| * tests/integration/shell.py: xfail for buildbox-run-userchrootJürg Billeter2019-12-171-1/+5
| | | | | | | | buildbox-run-userchroot requires a shell.
| * tests/integration/script.py: xfail for buildbox-run-userchrootJürg Billeter2019-12-171-2/+15
| | | | | | | | | | | | | | | | The root directory is not allowed to be writable by userchroot. + sh -c -e echo 'I can write to root' > /test sh: can't create /test: Permission denied
| * tests/integration/filter.py: xfail for buildbox-run-userchrootJürg Billeter2019-12-171-1/+5
| | | | | | | | | | | | | | The root directory is not allowed to be writable by userchroot. + sh -e -c touch /foo touch: /foo: Permission denied
| * tests/integration/compose.py: xfail for buildbox-run-userchrootJürg Billeter2019-12-171-1/+5
| | | | | | | | | | | | | | | | The root directory is not allowed to be writable by userchroot. + sh -e -c mkdir -p /tests mkdir: can't create directory '/tests': Permission denied Command 'mkdir -p /tests' failed with exitcode 1
| * tests: source_determinism.py: Skip flaky test with buildbox-runJürg Billeter2019-12-172-0/+8
| | | | | | | | | | The tests are flaky due to non-deterministic timestamps in the output of `ls -l`. See https://gitlab.com/BuildStream/buildstream/issues/1218
| * testing/_utils/site.py: Add BUILDBOX_RUN variableJürg Billeter2019-12-171-0/+9
| |
| * testing/runcli.py: Add BST_CAS_STAGING_ROOT environment variableJürg Billeter2019-12-172-0/+8
| | | | | | | | | | This is required for testing with userchroot to create staging directories in a system-specific prefix.
| * utils.py: Use `onerror` in `_force_rmtree`Tristan Maat2019-12-171-11/+16
|/ | | | | | | | | If we don't, and encounter a file we don't own, but have permission to delete, we'll fail with EPERM, since we won't be able to change permissions but will be able to delete it. Instead, we now try to change permissions and remove a file *after* we realize we couldn't at first.
* Merge branch 'tmewett/recursive-git' into 'master'Benjamin Schubert2019-12-163-68/+133
|\ | | | | | | | | | | | | Make Git source plugin clone submodules recursively Closes #1162 See merge request BuildStream/buildstream!1765
| * sources/git.py: Document that checkout-submodules is recursivetmewett/recursive-gitTom Mewett2019-12-131-2/+6
| |
| * tests/sources/git.py: Add recursive submodule testTom Mewett2019-12-131-0/+40
| |
| * _gitsourcebase.py: Rename and refactor _ignore_submoduleTom Mewett2019-12-131-11/+12
| | | | | | | | | | "Ignore submodule" sounds like it could be an action, so this changes the name to more clearly be a predicate.
| * _gitsourcebase.py: Manage submodules recursivelyTom Mewett2019-12-131-56/+65
| | | | | | | | | | | | | | | | | | | | | | Previously, GitSourceBase would only consider immediate submodules of the superproject. It now fetches and stages recursively. To achieve this, this commit somewhat refactors the relationship between GitMirror and GitSourceBase. Enumerating GitMirrors for the submodules is now done in GitMirror itself. GitSourceBase recursively iterates these mirror classes with _recurse_submodules and applies the source configuration with _configure_submodules.
| * _gitsourcebase.py: Add and update some comments on _GitMirrorTom Mewett2019-12-131-3/+14
|/
* Merge branch 'bschubert/cleanup-element-fetch' into 'master'Benjamin Schubert2019-12-131-3/+3
|\ | | | | | | | | Small cleanups in `element._fetch` See merge request BuildStream/buildstream!1768
| * element.py: Only cache sources if some had to be fetchedbschubert/cleanup-element-fetchBenjamin Schubert2019-12-131-1/+1
| |
| * element.py: Remove temporary variableBenjamin Schubert2019-12-131-2/+2
|/ | | | | This variable is used only once, when the original is used multiple times. This only increases the cognitive load
* Merge branch 'juerg/job-pipe' into 'master'Jürg Billeter2019-12-121-44/+40
|\ | | | | | | | | job.py: Replace message queue with pipe See merge request BuildStream/buildstream!1766
| * job.py: Replace message queue with pipejuerg/job-pipeJürg Billeter2019-12-121-44/+40
|/ | | | | | | | A lightweight unidirectional pipe is sufficient to pass messages from the child job process to its parent. This also avoids the need to access the private `_reader` instance variable of `multiprocessing.Queue`.
* Merge branch 'jjardon/fdsdk-190805' into 'master'Jürg Billeter2019-12-121-1/+1
|\ | | | | | | | | .gitlab-ci.yml: Use latest freedesktop-sdk 19.08.5 See merge request BuildStream/buildstream!1762
| * .gitlab-ci.yml: Use latest freedesktop-sdk 19.08.5Javier Jardón2019-12-121-1/+1
|/
* Merge branch 'juerg/buildbox-run-bubblewrap' into 'master'Jürg Billeter2019-12-1017-330/+9
|\ | | | | | | | | | | | | Add CI job to test buildbox-run-bubblewrap and buildbox-fuse Closes #1226 See merge request BuildStream/buildstream!1752
| * tests: Drop buildbox xfailsJürg Billeter2019-12-1014-28/+5
| |
| * Drop buildbox sandboxJürg Billeter2019-12-102-275/+0
| | | | | | | | Replaced by buildbox-run.
| * .gitlab-ci.yml: Drop buildbox jobJürg Billeter2019-12-101-29/+0
| | | | | | | | Replaced by buildbox-run.
| * .gitlab-ci.yml: Add job to test buildbox-runJürg Billeter2019-12-101-0/+6
| | | | | | | | This job uses buildbox-run-bubblewrap and buildbox-fuse.
| * .gitlab-ci.yml: Update docker imageJürg Billeter2019-12-101-1/+1
| | | | | | | | | | This updates buildbox-common and builbox-casd to 0.0.5 and adds buildbox-fuse and buildbox-run-bubblewrap.
| * tests/integration/interactive_build.py: Increase timeoutJürg Billeter2019-12-101-1/+1
|/
* Merge branch 'bschubert/add-randomized-order-tests' into 'master'Benjamin Schubert2019-12-102-0/+24
|\ | | | | | | | | tox.ini: Add ability to run tests in a randomized order See merge request BuildStream/buildstream!1760
| * tox.ini: Add ability to run tests in a randomized orderBenjamin Schubert2019-12-102-0/+24
|/ | | | | | | | | | Also register them to run nightly. Running tests in a randomized order is a good way of checking whether our tests depend on each others or not. Since we order them globally, tests will take longer to run, but that will give us higher confidence that they are correct.
* Merge branch 'tlater/tar-test-security' into 'master'Tristan Maat2019-12-101-11/+3
|\ | | | | | | | | tests/sources/tar.py: `utils._force_rmtree` instead of giving 777 permissions See merge request BuildStream/buildstream!1763
| * tests/sources/tar.py: Use `utils._force_rmtree` instead of chmodTristan Maat2019-12-101-11/+3
|/ | | | | | | | | While this is deep in our test suite, and should therefore never create files that leak information, our code security linter complains about setting broad file permissions. We should really be using `utils._force_rmtree` here anyway, to stop duplicating code, so that's what we do.
* Merge branch 'juerg/buildbox-run' into 'master'Jürg Billeter2019-12-1014-22/+232
|\ | | | | | | | | Add buildbox-run sandboxing backend See merge request BuildStream/buildstream!1738
| * tests/integration/workspace.py: xfail logging for buildbox-runJürg Billeter2019-12-101-0/+1
| | | | | | | | Individual commands are not logged with command batching.
| * tests/integration/messages.py: xfail logging for buildbox-runJürg Billeter2019-12-101-0/+2
| | | | | | | | Individual commands are not logged with command batching.
| * tests/integration/manual.py: xfail logging for buildbox-runJürg Billeter2019-12-101-0/+1
| | | | | | | | Individual commands are not logged with command batching.
| * tests/integration/interactive_build.py: xfail logging for buildbox-runJürg Billeter2019-12-101-1/+1
| | | | | | | | Logging differs with command batching.