summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* fixup! fixup! Remove "tar" pluginbschubert/remove-tar-pluginbschubert152020-04-172-2/+2
|
* fixup! Remove "tar" pluginbschubert152020-04-175-7/+14
|
* Remove "tar" pluginJavier Jardón2020-04-1742-842/+50
| | | | Use the one from bst-plugins-experimental instead
* conftest.py: Allow running tests using external plugins with --pluginsbschubert152020-04-173-2/+10
| | | | | | This introduces a `pytest.mark.plugins` marker that signifies that a test requires external plugins to run, and will only run them if specifying `--plugins` on the pytest invocation.
* Merge branch 'valentindavid/include-options-from-junction' into 'master'Tristan Van Berkom2020-04-1621-12/+217
|\ | | | | | | | | Process options in includes files with the options of their junction See merge request BuildStream/buildstream!1851
| * Process options in includes files with the options of their junctionvalentindavid/include-options-from-junctionValentin David2020-04-1521-12/+217
|/ | | | | | | | | Unfortunately the options from main project cannot always be processed in the include processing since project configuration might load option declarations from a separate file. For that reason the result of `Include.process` should still be passed through the option processor. But all options files included from junctioned are already evaluated.
* Merge branch 'juerg/platform' into 'master'bst-marge-bot2020-04-1413-66/+66
|\ | | | | | | | | Improve sandbox configuration handling See merge request BuildStream/buildstream!1845
| * _sandboxbuildboxrun.py: Detect platforms supported by buildbox-runjuerg/platformJürg Billeter2020-04-142-8/+22
| | | | | | | | | | | | This allows builds where the host OS or architecture doesn't match the build OS or architecture, if the buildbox-run implementation supports it. E.g., this allows x86-32 builds on x86-64 systems.
| * sandbox: Reinitialize class when pickle is usedJürg Billeter2020-04-142-0/+8
| | | | | | | | | | | | Class data is not pickled and thus, class variables set by `check_available()` are not set when `check_sandbox_config()` is called by a job subprocess.
| * element.py: Move sandbox configuration check to __sandbox()Jürg Billeter2020-04-141-4/+2
| | | | | | | | | | This allows `bst show` and other commands that don't require a sandbox to work with elements that are not supported by the current sandbox.
| * Drop concept of partially supported sandbox configurationJürg Billeter2020-04-148-23/+7
| | | | | | | | | | | | | | | | | | | | | | | | Allowing builds without affecting the cache key but disallowing push, when the sandbox configuration is not fully compatible, results in an inconsistent user experience and may lead to unexpected build issues. Especially as push is allowed or disallowed based on the sandbox available at the time of push, not at the time of build. The previous commit making build-uid and build-gid configuration optional allows each project to decide whether the sandbox is required to support UID/GID configuration or not.
| * sandbox: Make build-uid and build-gid configuration optionalJürg Billeter2020-04-146-28/+22
| | | | | | | | | | This allows use of sandbox implementations that don't support configuring sandbox UID/GID such as buildbox-run-userchroot.
| * node.pyx: MappingNode.get_int(): Support `None` as defaultJürg Billeter2020-04-142-4/+6
|/
* Merge branch 'tristan/fix-docs-build-error' into 'master'Tristan Van Berkom2020-04-111-2/+2
|\ | | | | | | | | doc/source/main_glossary.rst: Fix docs build errors See merge request BuildStream/buildstream!1863
| * doc/source/main_glossary.rst: Fix docs build errorstristan/fix-docs-build-errorTristan Van Berkom2020-04-111-2/+2
|/ | | | | Some of the referenced terms within the glossary were not using the capitalization for which the term was declared.
* Merge branch 'juerg/job-sigterm' into 'master'bst-marge-bot2020-04-093-11/+13
|\ | | | | | | | | Fix SIGTERM handling in job processes See merge request BuildStream/buildstream!1861
| * _sandboxbuildboxrun.py: Reduce SIGTERM timeout to 15sJürg Billeter2020-04-091-1/+1
| | | | | | | | | | | | | | The scheduler timeout for `SIGTERM` of job processes is 20s. The timeout in the sandbox backend should be shorter to allow graceful termination of the job process even when `buildbox-run` fails to terminate gracefully.
| * job.py: Use `_signals.terminator()` to handle `SIGTERM`Jürg Billeter2020-04-091-9/+7
| | | | | | | | | | | | `Sandbox` subclasses use `_signals.terminator()` to gracefully terminate the running command and cleanup the sandbox. Setting a `SIGTERM` handler in `job.py` breaks this.
| * _signals.py: Allow SIGTERM handler to call `os.exit()`Jürg Billeter2020-04-091-1/+5
|/ | | | Use exit code from the `SystemExit` exception raised by `os.exit()`.
* Merge branch 'jjardon/wsl' into 'master'bst-marge-bot2020-04-081-3/+0
|\ | | | | | | | | | | | | Revert ".gitlab-ci.yml: Allow WSL test to fail" Closes #1277 See merge request BuildStream/buildstream!1860
| * Revert ".gitlab-ci.yml: Allow WSL test to fail"jjardon/wslJavier Jardón2020-04-081-3/+0
|/ | | | This reverts commit edcd52f8f0d9e062bb9a4d089799b47625c37ab6.
* Merge branch 'abderrahim/public-data' into 'master'bst-marge-bot2020-04-082-1/+12
|\ | | | | | | | | | | | | Fix expiry of public data of artifact Closes #1264 See merge request BuildStream/buildstream!1837
| * cascache.py: use buildbox-casd when checking whether a file is cachedabderrahim/public-dataAbderrahim Kitouni2020-04-081-1/+7
| | | | | | | | this lets buildbox-casd know it is needed and not delete it when pruning
| * _artifact.py: don't consider an artifact cached if public data is missingAbderrahim Kitouni2020-04-081-0/+5
|/ | | | Part of #1264
* Merge branch 'juerg/ci-schedules' into 'master'bst-marge-bot2020-04-081-0/+4
|\ | | | | | | | | .gitlab-ci.yml: Don't run win32 and wsl tests in scheduled pipelines See merge request BuildStream/buildstream!1859
| * .gitlab-ci.yml: Don't run win32 and wsl tests in scheduled pipelinesjuerg/ci-schedulesJürg Billeter2020-04-081-0/+4
|/ | | | | | We already run these tests on master after each merge. There is no need to run them in the scheduled pipelines as well. This is in line with the Linux tests (see `.tests-template`).
* Merge branch 'juerg/export-to-tar' into 'master'bst-marge-bot2020-04-083-9/+35
|\ | | | | | | | | Improve Directory.export_to_tar() See merge request BuildStream/buildstream!1858
| * tests/frontend/buildcheckout.py: Check mode and uid/gid in tarballjuerg/export-to-tarJürg Billeter2020-04-081-2/+13
| |
| * _filebaseddirectory.py: Clear uid/gid/uname/gname in export_to_tar()Jürg Billeter2020-04-081-0/+4
| | | | | | | | We want to ensure the output is deterministic.
| * _casbaseddirectory.py: Sort entries in export_to_tar()Jürg Billeter2020-04-081-1/+1
| | | | | | | | We want to ensure the output is deterministic.
| * _casbaseddirectory.py: Fix file mode in export_to_tar()Jürg Billeter2020-04-081-2/+3
| | | | | | | | | | | | Bitwise-and of a boolean and `stat.S_IXUSR` is always 0. Also, `is_executable` only applies to regular files, not symlinks.
| * _filebaseddirectory.py: Fix encoding in open_file() for binary filesJürg Billeter2020-04-081-2/+7
| | | | | | | | Python doesn't ignore `encoding` for binary files, it must be `None`.
| * _casbaseddirectory.py: Fix encoding in open_file() for binary filesJürg Billeter2020-04-081-2/+7
|/ | | | Python doesn't ignore `encoding` for binary files, it must be `None`.
* Merge branch 'jjardon/allow_fail_wsl' into 'master'bst-marge-bot2020-04-071-0/+3
|\ | | | | | | | | .gitlab-ci.yml: Allow WSL tests to fail See merge request BuildStream/buildstream!1844
| * .gitlab-ci.yml: Allow WSL test to failjjardon/allow_fail_wslJavier Jardón2020-04-071-0/+3
|/ | | | Current WSL runners are not reachable
* Merge branch 'abderrahim/options' into 'master'bst-marge-bot2020-04-053-13/+46
|\ | | | | | | | | _project.py: resolve options before running the final assertions See merge request BuildStream/buildstream!1835
| * _project.py: resolve options before running the final assertionsabderrahim/optionsAbderrahim Kitouni2020-04-053-13/+46
|/ | | | | | otherwise, having an optional list append in theh configuration wouldn't work This also avoids special casing for element and source overrides
* Merge branch 'juerg/buildbox' into 'master'bst-marge-bot2020-04-043-13/+21
|\ | | | | | | | | Update BuildBox components to 0.0.7 See merge request BuildStream/buildstream!1852
| * tests/integration/script.py: Drop read-only root xfail for buildbox-runJürg Billeter2020-04-041-4/+0
| | | | | | | | buildbox-fuse now supports SubtreeReadOnly.
| * tests/integration/build-uid.py: Don't skip tests with buildbox-runJürg Billeter2020-04-041-4/+16
| | | | | | | | buildbox-run-bubblewrap now supports custom uid/gid.
| * .gitlab-ci.yml: Update BuildBox components to 0.0.7Jürg Billeter2020-04-041-5/+5
|/
* Merge branch 'juerg/python-3.6' into 'master'Jürg Billeter2020-04-045-38/+33
|\ | | | | | | | | Require Python >= 3.6 See merge request BuildStream/buildstream!1850
| * NEWS: Add note about requiring Python >= 3.6juerg/python-3.6Jürg Billeter2020-04-021-0/+5
| |
| * tests/format/junctions.py: Drop Python 3.5 compatibilityJürg Billeter2020-04-021-6/+3
| |
| * setup.py: Require Python >= 3.6Jürg Billeter2020-04-021-3/+3
| |
| * tox.ini: Drop Python 3.5 environmentsJürg Billeter2020-04-021-18/+18
| |
| * .gitlab-ci.yml: Do not use Python 3.5 tox environmentsJürg Billeter2020-04-021-4/+4
| |
| * .gitlab-ci.yml: Drop tests-debian-9 jobJürg Billeter2020-04-021-7/+0
|/ | | | | Debian 9 uses Python 3.5. As part of dropping support for Python 3.5, drop the CI job for Debian 9.
* Merge branch 'juerg/buildbox-run-error' into 'master'Jürg Billeter2020-04-011-2/+6
|\ | | | | | | | | _sandboxbuildboxrun.py: Check for buildbox-run initialization errors See merge request BuildStream/buildstream!1848
| * _sandboxbuildboxrun.py: Check for buildbox-run initialization errorsjuerg/buildbox-run-errorJürg Billeter2020-03-311-2/+6
|/ | | | | | If `buildbox-run --capabilities` reports an error, we should consider the sandbox to be unavailable, forwarding the error message from buildbox-run.