summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* NEWS: Adding note about breaking change format-version -> min-versiontristan/min-versionTristan Van Berkom2020-04-241-0/+3
|
* doc/source/format_project.rst: Documenting "min-version"Tristan Van Berkom2020-04-241-17/+24
| | | | This replaces "format-version" documentation.
* doc/source/hacking/writing_plugins.rst: Remove some docs about format-versionTristan Van Berkom2020-04-241-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-2410-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-24205-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
| * tests: Correctly handle resources when opening files in testsbschubert/no-warningsBenjamin Schubert2020-04-232-42/+50
| | | | | | | | | | | | | | This ensures we do not leak resources during our tests and that we close everything nicely. This removes multiple warnings that is thrown by our code.
| * filetypegenerator.py: Close socket after usageBenjamin Schubert2020-04-231-3/+8
|/ | | | This removes a warning around resources leaks
* Merge branch 'bschubert/fix-mktemp-usage' into 'master'bst-marge-bot2020-04-233-15/+16
|\ | | | | | | | | | | | | tests: Stop using tmpdir_factory.mkdtemp("") Closes #1290 See merge request BuildStream/buildstream!1879
| * tests: Stop using tmpdir_factory.mkdtemp("")bschubert/fix-mktemp-usageBenjamin Schubert2020-04-233-15/+16
|/ | | | | Using "" as a directory is invalid starting from pytest 5.4.0, let's use the __file__ name instead
* Merge branch 'juerg/centos-7.7' into 'master'Jürg Billeter2020-04-221-4/+4
|\ | | | | | | | | .gitlab-ci.yml: Update to CentOS 7.7 See merge request BuildStream/buildstream!1876
| * .gitlab-ci.yml: Update to CentOS 7.7juerg/centos-7.7Jürg Billeter2020-04-221-4/+4
|/
* Merge branch 'juerg/temporary-failure' into 'master'bst-marge-bot2020-04-211-3/+3
|\ | | | | | | | | _exceptions.py: Propagate `temporary` to the base class See merge request BuildStream/buildstream!1873
| * _exceptions.py: Propagate `temporary` to the base classjuerg/temporary-failureJürg Billeter2020-04-211-3/+3
|/ | | | The parameter value should not be ignored.
* Merge branch 'seanborg/buildstream-seanborg/documentation-typos'Jürg Billeter2020-04-212-2/+2
|\
| * Fix typo namspaceing -> namespacingSean Borg2020-04-212-2/+2
|/
* Merge branch 'tristan/remove-old-version-annotations' into 'master'bst-marge-bot2020-04-217-59/+12
|\ | | | | | | | | Remove old version annotations See merge request BuildStream/buildstream!1869
| * doc/source/hacking/coding_guidelines.rst: Adjusting "Since" guidelines.Tristan Van Berkom2020-04-211-4/+4
| | | | | | | | | | | | | | | | The guidelines are already correct, however they use 1.x as the reference for this API. This commit simply changes the guidelines to indicate 2.x to contributors as the latest major point release to care about.
| * src: Removing all pre 2.x "Since" documentation annotations.Tristan Van Berkom2020-04-216-55/+8
|/ | | | | | | | | | | | | | | This does not make sense to keep in the public API surface documentation. As we are heading towards a release of 2.0, this represents a "reset" in public API, and older annotations only serve to clutter the documentation with information that is not relevant to the reader. Everything which is public at the time of the 2.0 release can be considered available "Since: 2.0" implicitly (as this is going to be the starting point of this new stable API). It will make sense to start adding these annotations again for any added API in 2.2 and forward.
* Merge branch 'tristan/fix-doc-builds' into 'master'bst-marge-bot2020-04-212-4/+12
|\ | | | | | | | | Documentation build fixes See merge request BuildStream/buildstream!1871
| * doc/Makefile: Ensure we error out if bst2html.py fails.Tristan Van Berkom2020-04-211-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The way we were using $(foreach ...) here from GNU Make was causing errors to be ignored, this should really only be used for collecting target names and such. In this commit, we instead: * Collect the SESSION_FILES using $(wildcard ...) * Use a "%.run:" Rule to run bst2html.py for each session file separately, ensuring that we bail out the build if the session generation fails. * Having the SESSION_FILES depend on the phony target sessions-prep, ensures that this rule will be called unconditionally, regardless of the existance of the .run files.
| * tox.ini: Use new ostree plugin for generating documentation.Tristan Van Berkom2020-04-211-1/+2
|/ | | | | | | This was broken by Chandan's commit b4d472e9c2, when we changed the pip namespace such that element and source plugins are loaded from a different group (although he would not have noticed because the build was not failing for this).
* Merge branch 'tristan/pip-source-3.8' into 'master'bst-marge-bot2020-04-201-0/+1
|\ | | | | | | | | pip source plugin: Add support for python 3.8 See merge request BuildStream/buildstream!1847
| * pip source plugin: Add support for python 3.8tristan/pip-source-3.8Tristan Van Berkom2020-04-201-0/+1
|/ | | | | | | | | | For some reason, the pip source plugin appears to pass tests in master when testing python 3.8 without this change, however it does not pass tests without this change on the bst-1 branch. Adding this change to master for consistency across branches for now, and in the off chance that this fixes the pip source plugin in some python 3.8 environments.
* Merge branch 'juerg/artifact-blob-not-found' into 'master'bst-marge-bot2020-04-2010-74/+180
|\ | | | | | | | | | | | | Fix handling of missing blobs in `ArtifactCache.pull()` Closes #1276 See merge request BuildStream/buildstream!1843
| * tests/frontend/push.py: Add test_push_after_rebuildjuerg/artifact-blob-not-foundJürg Billeter2020-04-203-1/+74
| |
| * _artifact.py: Don't cache the proto of incomplete artifactsJürg Billeter2020-04-201-10/+14
| | | | | | | | | | | | | | We need to make sure that we read the new proto after a fresh build. And there is no need to keep the proto around for an incomplete artifact. This fixes `FileNotFoundError` of CAS blob on push after rebuild.
| * _casbaseddirectory.py: Fix temp file permissions in open_file()Jürg Billeter2020-04-201-0/+2
| | | | | | | | This is required when buildbox-casd is running as separate user.
| * _cas/cascache.py: Drop unused contains_file()Jürg Billeter2020-04-201-12/+0
| |
| * _artifact.py: Don't consider an artifact cached if logs are missingJürg Billeter2020-04-201-12/+7
| | | | | | | | | | | | | | | | | | Artifact push and pull operations currently fail if logs are missing. We don't currently have a config option to control how long artifact logs should be kept in the cache. Until this changes, we should be conservative and consider logs to be an essential part of artifacts, keeping them from getting expired before the rest of the artifact.
| * _cas/cascache.py: Add contains_files() methodJürg Billeter2020-04-201-5/+17
| | | | | | | | Like `contains_file()` but checks multiple files in a single request.
| * tests/frontend/pull.py: Add test_pull_missing_blob_split_shareJürg Billeter2020-04-201-29/+63
| | | | | | | | | | This is identical to `test_pull_missing_blob` except that it uses separate servers for artifact proto index and CAS.
| * cascache.py: Add allow_partial parameter to fetch_blobs()Jürg Billeter2020-04-204-15/+9
| | | | | | | | This fixes handling of missing blobs in `ArtifactCache.pull()`.
| * _artifactcache.py: Handle BlobNotFound error in pull()Jürg Billeter2020-04-201-0/+5
| |
| * _artifactcache.py: Fix misleading log message when pulling artifactsJürg Billeter2020-04-201-2/+1
|/ | | | | Do not print message "Pulled artifact" when pulling the artifact proto without data. This matches the log messages in `SourceCache`.
* Merge branch 'juerg/tar-hardlinks' into 'master'Jürg Billeter2020-04-202-3/+8
|\ | | | | | | | | tests/sources/tar.py: Fix flaky test_out_of_basedir_hardlinks See merge request BuildStream/buildstream!1870
| * tests/internals/cascache.py: Increase sleep duration to fix flaky testJürg Billeter2020-04-201-2/+2
| | | | | | | | | | Increase sleep duration in test_casd_redirects_stderr_to_file_and_rotate from 0.05s to 0.5s to reduce risk of test failure.
| * tests/sources/tar.py: Fix flaky test_out_of_basedir_hardlinksjuerg/tar-hardlinksJürg Billeter2020-04-201-1/+6
|/ | | | | | Don't recursively add `contents` to the tar file as the order is not guaranteed. We need to add `elsewhere` before `to_extract` as the latter references the former in `linkname`.
* Merge branch 'tristan/user-guide-refactor' into 'master'Tristan Van Berkom2020-04-18147-806/+4781
|\ | | | | | | | | User guide enhancements See merge request BuildStream/buildstream!1864
| * doc/source/sessions-stored: Refreshing built session filestristan/user-guide-refactorTristan Van Berkom2020-04-1753-683/+2180
| | | | | | | | | | | | | | | | | | This refreshes the stored sessions and adds the new ones generated by recent additions to the user guide. The stored sessions exist to allow contributors to build the docs without having to build the sessions, which requires an internet connection and takes longer to build.
| * doc/source/conf.py: Update copyright yearTristan Van Berkom2020-04-171-1/+1
| |
| * doc/examples/overlaps: Added new user guide entry for overlapping filesTristan Van Berkom2020-04-1716-0/+344
| |
| * doc/examples/filtering: Added a new user guide entry about filter elementsTristan Van Berkom2020-04-1715-0/+433
| |
| * doc/examples/composition: Adding user guide about split-rules and compose ↵Tristan Van Berkom2020-04-1717-1/+410
| | | | | | | | elements