summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* tox.ini: DO NOT MERGE - update reference to updated plugins with ↵tristan/plugin-versions-refactorTristan Van Berkom2020-04-291-1/+1
| | | | BST_MIN_VERSOIN set
* tests/plugins/loading.py: Added tests for plugin BST_MIN_VERSION guardsTristan Van Berkom2020-04-2910-1/+175
|
* plugin.py/pluginfactory.py: Implementing BST_MIN_VERSIONTristan Van Berkom2020-04-2940-3/+170
| | | | | | | | | | | | | | The BST_MIN_VERSION guards assert that the BuildStream core which loaded the plugin is compatible with the plugin itself. This commit adds BST_MIN_VERSION to the base plugin.py with documentation informing Plugin authors how to set the minimum version, and also adds the assertions at plugin loading time in pluginfactory.py. This commit also: * Adds the BST_MIN_VERSION specification to all current core plugins * Adds the BST_MIN_VERSION specification to plugins used in test cases
* tests/plugins/loading.py: New test replaces removed internal testTristan Van Berkom2020-04-297-4/+163
| | | | | | | | | This test tests some of the basic failure modes of plugin loading, which used to be written as internal tests but is not implemented as a proper end-to-end test. This commit also adds some machine readable reason codes to pluginfactory.py so that we can assert the errors more specifically.
* tests/plugins/deprecationwarnings.py: Moved from it's subdirectoryTristan Van Berkom2020-04-296-1/+1
| | | | | Before adding more tests to this directory, just making the directory match more the structure of other test directories.
* Plugin loading refactor, removing all versioningTristan Van Berkom2020-04-2957-707/+244
| | | | | | | | | | | | | | | | Plugin format versioning was decided to be removed for local plugins and any plugins for which we do not load an explicitly provided plugin. For pip, this will be handled with a standard distutils/setuptools approach, allowing users to specify pip style version boundaries in the plugin origins. This patch refactors plugin loading so that all related code goes into the private _pluginfactory module, a new small PluginOrigin type was added to better manipulate loaded origins. Test cases have been removed and will be readded in a following commit, adjusted to new expectations.
* Merge branch 'juerg/sandbox' into 'master'bst-marge-bot2020-04-297-128/+20
|\ | | | | | | | | | | | | Switch preferred sandbox from bwrap to buildbox-run Closes #719 See merge request BuildStream/buildstream!1888
| * .gitlab-ci.yml: Add bwrap jobjuerg/sandboxJürg Billeter2020-04-281-0/+7
| | | | | | | | | | bwrap is no longer the default. This job makes sure that the bwrap code keeps working.
| * .gitlab-ci.yml: Drop buildbox-run jobJürg Billeter2020-04-281-8/+0
| | | | | | | | buildbox-run is now the default.
| * Switch preferred sandbox from bwrap to buildbox-runJürg Billeter2020-04-286-122/+13
| | | | | | | | | | This also enables local builds on non-Linux platforms, if a buildbox-run implementation is available.
| * testing/_utils/site.py: Check that buildbox-run has all dependenciesJürg Billeter2020-04-281-1/+2
| |
| * _platform.py: Reset Sandbox._dummy_reasons in _check_sandbox()Jürg Billeter2020-04-281-0/+1
| | | | | | | | This fixes an isolation issue in the test suite.
| * .gitlab-ci.yml: Update Docker imagesJürg Billeter2020-04-281-1/+1
|/ | | | The fuse3 package is required for buildbox-fuse on Debian.
* Merge branch 'juerg/vdirectory' into 'master'bst-marge-bot2020-04-2813-83/+4
|\ | | | | | | | | Require virtual directory support for element plugins See merge request BuildStream/buildstream!1887
| * element.py: Drop BST_VIRTUAL_DIRECTORYJürg Billeter2020-04-2811-47/+0
| | | | | | | | `Sandbox.get_directory()` no longer exists.
| * sandbox: Remove Sandbox.get_directory()Jürg Billeter2020-04-282-36/+4
|/ | | | Require element plugins to use `Sandbox.get_virtual_directory()`.
* Merge branch 'willsalmon/more_as_str' into 'master'Chandan Singh2020-04-271-0/+3
|\ | | | | | | | | Adding as_str too Mapping nodes See merge request BuildStream/buildstream!1866
| * node.pyx: Add '__str__' to 'Node'William Salmon2020-04-271-0/+3
|/
* Merge branch 'juerg/1.93.2' into 'master'1.93.2bst-marge-bot2020-04-271-0/+13
|\ | | | | | | | | Prepare 1.93.2 development snapshot See merge request BuildStream/buildstream!1886
| * NEWS: Update for 1.93.2Jürg Billeter2020-04-271-0/+13
|/
* Merge branch 'juerg/vdirectory' into 'master'bst-marge-bot2020-04-275-39/+367
|\ | | | | | | | | storage: Improve Directory API See merge request BuildStream/buildstream!1878
| * tests/internals/storage.py: Add tests for new Directory methodsJürg Billeter2020-04-271-2/+94
| |
| * storage: Add Directory.rename() methodJürg Billeter2020-04-273-0/+32
| |
| * storage: Add Directory.remove() methodJürg Billeter2020-04-273-7/+44
| |
| * storage: Add Directory.readlink() methodJürg Billeter2020-04-273-0/+24
| |
| * storage: Add Directory.file_digest() methodJürg Billeter2020-04-273-0/+25
| |
| * directory.py: Add isfile(), isdir() and islink() methodsJürg Billeter2020-04-271-0/+49
| |
| * storage: Add Directory.stat() methodJürg Billeter2020-04-273-25/+76
| |
| * storage: Implement __iter__ in Directory classesJürg Billeter2020-04-272-0/+6
| |
| * storage: Directory.open_file(): Allow w+ and x+ modesJürg Billeter2020-04-272-2/+2
| |
| * _filebaseddirectory.py: Fix mode="x" in open_file()Jürg Billeter2020-04-271-0/+7
| |
| * _casbaseddirectory.py: Validate path componentsJürg Billeter2020-04-271-0/+8
| | | | | | | | This catches incorrect use of the `Directory` API.
| * _casbaseddirectory.py: Remove unused _copy_link_from_filesystem()Jürg Billeter2020-04-271-3/+0
| |
| * element.py: Create destination directory in stage_artifact()Jürg Billeter2020-04-271-1/+1
|/
* Merge branch 'juerg/shell-sysroot' into 'master'bst-marge-bot2020-04-257-130/+49
|\ | | | | | | | | Remove bst shell --sysroot See merge request BuildStream/buildstream!1882
| * _stream.py: shell(): Require sources only for build shellsjuerg/shell-sysrootJürg Billeter2020-04-251-1/+1
| |
| * Remove bst shell --sysrootJürg Billeter2020-04-257-130/+49
|/ | | | This is no longer needed now that we support caching buildtrees in CAS.
* Merge branch 'tristan/min-version' into 'master'Tristan Van Berkom2020-04-24217-331/+508
|\ | | | | | | | | Replace format-version with min-version See merge request BuildStream/buildstream!1881
| * NEWS: Adding note about breaking change format-version -> min-versionTristan Van Berkom2020-04-251-0/+3
| |
| * doc/source/format_project.rst: Documenting "min-version"Tristan Van Berkom2020-04-251-17/+24
| | | | | | | | This replaces "format-version" documentation.
| * doc/source/hacking/writing_plugins.rst: Remove some docs about format-versionTristan Van Berkom2020-04-251-15/+0
| | | | | | | | | | | | | | This will be done differently in BuildStream 2, as explained in this email: https://mail.gnome.org/archives/buildstream-list/2020-April/msg00017.html
| * Remove documentation references to format_versionTristan Van Berkom2020-04-2510-108/+12
| | | | | | | | | | | | | | | | | | | | | | With BuildStream 2.0, we start with a fresh API, everything that is present at the time of the 2.0 release can implicitly be considered to be available since 2.0. In the future, we will be expressing new API additions using the min-version semantic versioning style instead of format version too (so new YAML configurations will be expressed as "since: 2.2" and so on).
| * Replace format-version with min-versionTristan Van Berkom2020-04-25205-191/+469
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * "min-version" is specified as a <major>.<minor> point version and uses the installed BuildStream version instead of having a separate versioning number for the format. * The presence of "format-version" is now used to indicate that we might be loading a BuildStream 1 project. * For now, where parsing the version at startup is concerned, and also where `bst init` is concerned, we artificially bump the detected BuildStream version to 2.0 if we detect a version < 2.0, these exceptions can be removed once 2.0 is tagged and released. Summary of changes: _project.py: Now parse "min-version" and detect "format-version" to warn about loading a BuildStream 1 project _versions.py: Remove obsolete BST_FORMAT_VERSION numbers from here data/projectconfig.yaml: Remove old "format-version" from defaults utils.py: Added new private _parse_version() helper function, and another _get_bst_api_version() to get an adjusted API version. frontend/app.py, frontend/cli.py: Updated `bst init` implementation testing (buildstream.testing): Updated testing utilities to generate and use projects with min-version instead of format-version. tests and examples: Updated to use min-version across the board.
* Merge branch 'juerg/test-timeouts' into 'master'bst-marge-bot2020-04-243-4/+4
|\ | | | | | | | | Increase test timeouts See merge request BuildStream/buildstream!1884
| * tests/format/variables.py: Increase timeout for test_cyclic_variablesjuerg/test-timeoutsJürg Billeter2020-04-241-1/+1
| | | | | | | | CI runners sometimes need more time under load.
| * tests/testutils/constants.py: Increase pexpect timeoutsJürg Billeter2020-04-241-2/+2
| | | | | | | | CI runners sometimes need more time under load.
| * setup.cfg: Increase pytest default timeoutJürg Billeter2020-04-241-1/+1
|/ | | | CI runners sometimes need more time under load.
* Merge branch 'bschubert/fix-manpages' into 'master'bst-marge-bot2020-04-2325-35/+37
|\ | | | | | | | | types.py: Add a __str__ to PipelineSelection to fix man pages See merge request BuildStream/buildstream!1883
| * types.py: Add a __str__ to PipelineSelection to fix man pagesbschubert/fix-manpagesBenjamin Schubert2020-04-2325-35/+37
|/ | | | | This ensures that we get as 'default' what the user needs to enter in the command in the manpages
* Merge branch 'bschubert/no-warnings' into 'master'bst-marge-bot2020-04-233-45/+58
|\ | | | | | | | | Fix some warnings happening during the tests See merge request BuildStream/buildstream!1880