summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* CI debugjuerg/buildbox-run-ciJürg Billeter2019-12-051-407/+1
|
* tests: Drop buildbox xfailsJürg Billeter2019-12-0512-23/+4
|
* Drop buildbox sandboxJürg Billeter2019-12-052-274/+0
| | | | Replaced by buildbox-run.
* .gitlab-ci.yml: Drop buildbox jobJürg Billeter2019-12-051-29/+0
| | | | Replaced by buildbox-run.
* .gitlab-ci.yml: Add job to test buildbox-run-userchrootJürg Billeter2019-12-051-0/+35
|
* .gitlab-ci.yml: Add job to test buildbox-runJürg Billeter2019-12-051-1/+7
| | | | This job uses buildbox-run-bubblewrap and buildbox-fuse.
* tests/integration/shell.py: xfail for buildbox-run-userchrootJürg Billeter2019-12-051-1/+5
| | | | buildbox-run-userchroot requires a shell.
* tests/integration/script.py: xfail for buildbox-run-userchrootJürg Billeter2019-12-051-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-051-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-051-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
* testing/_utils/site.py: Add BUILDBOX_RUN variableJürg Billeter2019-12-051-0/+9
|
* tests: source_determinism.py: Skip flaky test with buildbox-runJürg Billeter2019-12-052-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
* tests/integration/workspace.py: xfail logging for buildbox-runJürg Billeter2019-12-051-0/+1
| | | | Individual commands are not logged with command batching.
* tests/integration/messages.py: xfail logging for buildbox-runJürg Billeter2019-12-051-0/+2
| | | | Individual commands are not logged with command batching.
* tests/integration/manual.py: xfail logging for buildbox-runJürg Billeter2019-12-051-0/+1
| | | | Individual commands are not logged with command batching.
* tests/integration/shell.py: xfail bind mount for buildbox-runJürg Billeter2019-12-051-4/+4
| | | | Bind mounting is not supported.
* tests/integration/script.py: xfail read-only-root for buildbox-runJürg Billeter2019-12-051-0/+3
| | | | The root directory can't be marked read-only with buildbox-run.
* testing/runcli.py: Add BST_CAS_STAGING_ROOT environment variableJürg Billeter2019-12-042-0/+8
| | | | | This is required for testing with userchroot to create staging directories in a system-specific prefix.
* testing/runcli.py: Remove unused configure parameter from run() methodsJürg Billeter2019-12-041-34/+5
|
* tests/integration/script.py: Relax error message checkJürg Billeter2019-12-041-1/+1
|
* linux.py: Support experimental buildbox-run sandboxBenjamin Schubert2019-12-041-0/+21
| | | | | The buildbox-run sandbox is used only if BST_FORCE_SANDBOX is set to buildbox-run.
* Add buildbox-run sandboxBenjamin Schubert2019-12-041-0/+148
|
* _sandboxreapi.py: Pass sandbox flags to _execute_action()Jürg Billeter2019-12-042-3/+3
|
* sandbox.py: Remove unused _set_virtual_directory() methodJürg Billeter2019-12-041-6/+0
|
* _sandboxreapi.py: Use CasBasedDirectory._reset()Jürg Billeter2019-12-041-3/+2
| | | | | | Calling _reset() instead of completely replacing the object fixes element plugins that use a virtual directory object across Sandbox.run() calls such as the compose plugin with integration commands.
* _casbaseddirectory.py: Add _reset() methodJürg Billeter2019-12-041-1/+6
| | | | This reinitializes a CASBasedDirectory object from a directory digest.
* Merge branch 'bschubert/ci-improvements' into 'master'Jürg Billeter2019-12-041-20/+24
|\ | | | | | | | | Multiple CI improvements See merge request BuildStream/buildstream!1747
| * .gitlab-ci.yml: Don't overwrite sast job directly, just inject variableBenjamin Schubert2019-12-041-3/+4
| | | | | | | | | | We can remove the sast job overwriting and instead 'just' add the variable it needs to the global variables.
| * .gitlab-ci.yml: Extract docker images version in a variableBenjamin Schubert2019-12-041-16/+19
| | | | | | | | | | Our image versions tend to drift over time. Let's use a variable to ensure they are always all at the same version.
| * .gitlab-ci.yml: List all test envs explicitely for toxBenjamin Schubert2019-12-041-1/+1
|/ | | | | Contrary to what we thought, those don't get expanded, and we ended up having the external tests run only for py35, which is incorrect.
* Merge branch 'juerg/casd-separate-user' into 'master'Jürg Billeter2019-12-038-13/+87
|\ | | | | | | | | Support buildbox-casd running as separate user See merge request BuildStream/buildstream!1737
| * tests: source_determinism.py: Do not use too restrictive test umasksjuerg/casd-separate-userJürg Billeter2019-12-032-4/+14
| | | | | | | | | | | | | | | | To protect the local cache of buildbox-casd from corruption without the use of FUSE, buildbox-casd has to run as a different user. Use less restrictive umasks in the source determinism tests to allow buildbox-casd to function when it is running as a separate user.
| * tests/integration/filter.py: Do not use checkout --hardlinksJürg Billeter2019-12-031-1/+1
| | | | | | | | This is not necessary and doesn't work with CASD_SEPARATE_USER.
| * tests/frontend/pull.py: Do not use checkout --hardlinksJürg Billeter2019-12-031-2/+2
| | | | | | | | This is not necessary and doesn't work with CASD_SEPARATE_USER.
| * tests/frontend/buildcheckout.py: Cannot hardlink with CASD_SEPARATE_USERJürg Billeter2019-12-031-1/+7
| | | | | | | | | | Linux does not allow hardlinks to read-only files of other users by default since Linux 3.6 (see /proc/sys/fs/protected_hardlinks).
| * testing/_utils/site.py: Add CASD_SEPARATE_USER variableJürg Billeter2019-12-031-0/+5
| | | | | | | | | | This is set to True if buildbox-casd is installed with the set-uid bit and thus, indicates whether buildbox-casd is running as a separate user.
| * utils.py: safe_link(): Copy if hardlink creation is not permittedJürg Billeter2019-12-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | By default, Linux doesn't allow creating hardlinks to read-only files of other users since Linux 3.6 (see /proc/sys/fs/protected_hardlinks). This fixes staging when buildbox-casd is running as a separate user and the traditional bubblewrap sandboxing backend is used. This combination is not recommended, however, it's triggered in CI by docker images that run buildbox-casd as a separate user and a few test cases that override BST_FORCE_SANDBOX.
| * casdprocessmanager.py: Set up socket path via a symlinkTristan Maat2019-12-031-4/+57
|/ | | | | | | | | | | This is necessary to allow using buildbox-run with userchroot in the near future, since currently only the owner of the BuildStream process can access the CASD socket, but the buildbox-casd binary will need to be setuid' to another user. This gets around this limitation by allowing the group to access a symlink, which in turn should point to a directory owned by the CASD user.
* Merge branch 'tlater/artifactserver-casd' into 'master'Tristan Maat2019-12-0311-443/+364
|\ | | | | | | | | | | | | Refactor casserver.py: Stop relying on the buildstream-internal `CASCache` implementation Closes #1167 See merge request BuildStream/buildstream!1645
| * _*cache.py: Standardize cache basedirsTristan Maat2019-12-033-20/+21
| |
| * Remove newly unused API surfaces in CASCacheTristan Maat2019-12-037-179/+58
| | | | | | | | | | | | This also involves a number of changes to tests and other parts of the codebase since they were hacking about wit API that shouldn't have existed.
| * casserver.py: Proxy CAS requests to buildbox-casdTristan Maat2019-12-033-245/+219
| |
| * casserver.py: Add loggingTristan Maat2019-12-031-5/+72
|/
* Merge branch 'tlater/fix-update-committer-security' into 'master'Tristan Maat2019-12-021-10/+12
|\ | | | | | | | | update_commiters.py: Fix security vulnerabilities See merge request BuildStream/buildstream!1743
| * update_commiters.py: Fix security vulnerabilitiesTristan Maat2019-12-021-10/+12
|/ | | | | Not really an issue, this was only to be run on our repository, but it keeps the linter silent and makes for better sample code.
* Merge branch 'bschubert/update-requirements' into 'master'Benjamin Schubert2019-12-0223-70/+71
|\ | | | | | | | | Update BuildStream requirements See merge request BuildStream/buildstream!1742
| * Update all python dependenciesBenjamin Schubert2019-12-027-35/+36
| | | | | | | | | | | | | | | | This updates all dependencies on the project, which is mainly needed by python3.8 but can be done independentely. This also disables multiple false positive lint errors and disable a new check that we don't need.
| * tests: Use pytest.raise() instead of checking for return codeBenjamin Schubert2019-12-023-8/+8
| | | | | | | | | | | | This gives a potentially more explicit understanding of what went wrong, and pytest can give better information about that exception than just us asserting the return code.
| * lint: remove all unecessary elif/else after break/continueBenjamin Schubert2019-12-028-21/+21
| | | | | | | | | | Newer pylint versions detect and complain about unnecessary elif/else after a continue/break/return clause. Let's remove them
| * lint: Remove unnecessary list comprehensionsBenjamin Schubert2019-12-026-6/+6
|/ | | | | Newer version of pylint detect when a comprehension would not be needed. Let's remove all the ones that are indeed extraneous