summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* .gitlab-ci.yml: XXX USE LATEST THINGStristan/bst-1-bisect/ref-not-in-trackJavier Jardón2019-08-301-2/+3
|
* XXX DO NOT MERGE: Testing overnight tests in regular CITristan Van Berkom2019-08-301-2/+5
|
* Merge branch 'tristan/bst-1/ref-not-in-track' into 'bst-1'Tristan Van Berkom2019-08-042-4/+109
|\ | | | | | | | | Backport git support for ref-not-in-track configurable warnings See merge request BuildStream/buildstream!1514
| * tests/sources/git.py: Add tests for REF_NOT_IN_TRACKTom Pollard2019-08-041-0/+68
| | | | | | | | | | Add tests that cover assert_ref_in_track & the configurable CoreWarnings REF_NOT_IN_TRACK warnings token.
| * plugins/git.py: Warn if ref is not in given trackTom Pollard2019-08-041-4/+41
|/ | | | | | | | | | | Add a helper function assert_ref_in_track to git.py GitMirror() which is used when staging & initing the source workspace. It checks the element's ref exists in the track (branch/tag) if it has been specified, raising a warning if necessary. The warning makes use of the warning token 'REF_NOT_IN_TRACK' from the configurable CoreWarnings. If the element has been tracked with bst, it is assumed that the value of ref exists in the track as it was generated from it & as such is not asserted.
* Merge branch 'tristan/bst-1/cache-quota-docs-fix' into 'bst-1'Tristan Van Berkom2019-08-041-1/+6
|\ | | | | | | | | data/userconfig.yaml: Document the cache.quota setting (bst-1) See merge request BuildStream/buildstream!1513
| * data/userconfig.yaml: Document the cache.quota settingMathieu Bridon2019-08-041-1/+6
|/
* Merge branch 'tristan/bst-1/fatal-warnings' into 'bst-1'Tristan Van Berkom2019-08-0344-90/+443
|\ | | | | | | | | Fatal warnings support (bst 1) See merge request BuildStream/buildstream!1512
| * NEWS: Fixing (removing) duplicate NEWS entryTristan van Berkom2019-08-031-7/+0
| |
| * NEWS: Adding NEWS entry about fatal warningsTristan van Berkom2019-08-031-0/+15
| |
| * tests: Fix the fatal-warnings initial test pluginsTristan van Berkom2019-08-033-1/+29
| | | | | | | | | | | | For some reason after rebasing Josh's work onto the `bst-1` branch, the plugins do not succeed, needed to at least have the `assemble()` methods return a path to an existing directory.
| * plugin.py: Stop printing None for fatal-warningsTristan van Berkom2019-08-031-0/+1
| | | | | | | | | | Providing warn with detail=None (default) will no longer print None when a fatal warning is triggered.
| * tests: Add tests for configurable warningsJosh Smith2019-08-039-2/+201
| | | | | | | | | | | | | | | | This adds multiple tests for custom plugin warnings and core warnings, providing checks for both cases which should cause warnings and errors when configured as fatal. Also adds tests for cache key calculations.
| * tests/frontend/overlaps.py: Fixed test case after implementing fatal warningsTristan van Berkom2019-08-031-2/+2
| | | | | | | | | | | | | | This test case was written originally after fatal warnings was introduced in master, but differently in bst-1; backporting the fatal warnings feature requires this test case to be changed to match the one in master.
| * docs: Add documentation for Configurable WarningsJosh Smith2019-08-032-12/+36
| | | | | | | | This includes detailing the use of `fatal-warnings` within project.conf
| * git.py: Add configurable warning for inconsistent-submoduleJosh Smith2019-08-031-1/+10
| | | | | | | | This follows the implementation of configurable warnings.
| * _project.py: Add fatal-warnings configuration itemJosh Smith2019-08-0332-67/+151
|/ | | | | | | | | | | | | | | | | | | | This allows for users to configure fatal-warnings to be either a list of warnings. This commit deprecates the use of fail-on-overlap within project.conf, this will now use the fatal-warnings configuration item. element.py: Cache key calculation now takes into account all of the fatal-warnings tests: This modifys the tests/frontend/overlaps.py tests to support the new fatal-warnings configuration. Backwards compatibility is also tested for `fail-on-overlap` _versions.py: BST_FORMAT_VERSION bumped to 16 for fatal-warnings BST_CORE_ARTIFACT_VERSION bumpted to 5 for fatal-warnings Fixes: #526
* NEWS: Fixing mistakesTristan Van Berkom2019-07-251-0/+14
| | | | | | | | o Added entry about max-jobs which I forgot to include in the previous NEWS update o Added section for 1.3.2 and moved the recent additions to that new section
* Merge branch 'tristan/junction-dep-names-bst-1' into 'bst-1'Tristan Van Berkom2019-07-258-45/+238
|\ | | | | | | | | Backport junction element shorthand See merge request BuildStream/buildstream!1502
| * Document how to refer to cross-junction dependencies inlinetristan/junction-dep-names-bst-1Chandan Singh2019-07-252-0/+37
| | | | | | | | | | | | In the previous commit, we added support to express cross-junction dependencies inline as simple strings. Document it along with the version in which the feature was added.
| * NEWS: Cross-junction dependencies can now be specified inlineChandan Singh2019-07-251-0/+3
| |
| * _loader/loader.py: Matching up API to recently changed Dependency() constructorTristan Van Berkom2019-07-251-1/+1
| | | | | | | | | | This doesnt match exactly the same way it happened in master, so fixing it up in a separate commit.
| * loader: Allow dependencies to use ":" to refer to junctioned elementsChandan Singh2019-07-254-44/+197
|/ | | | | | | | | | | | | | | | | | | | | | | | | | This will allow cross-junction dependencies to be listed as strings on a single line. As part of this, some logic around initializing `Dependency()` objects have been moved out of `_extract_depends_from_node()` method into the constructor of `Dependency()` class, to keep all related code in one place. * _loader/types.py: While initializing `Dependency` objects, attempt to split filenames, only if no `junction` was specified explicitly. If a `junction` was specified, then filenames with `:` in their names will result in an error. * _loader/loadelement.py: Refactor logic to initialize `Dependency()` objects to move it to the `Dependency()` constructor. * tests/frontend/buildcheckout.py: Add tests to ensure the above. * _versions.py: Bump BST_FORMAT_VERSION. Fixes #809.
* Merge branch 'tristan/build-run-depends-bst-1' into 'bst-1'Tristan Van Berkom2019-07-2513-25/+188
|\ | | | | | | | | Backport build/runtime depends shorthand See merge request BuildStream/buildstream!1501
| * Add NEWSJonathan Maw2019-07-251-0/+4
| |
| * docs: Add documentation of build-depends and runtime-depends fieldsJonathan Maw2019-07-251-2/+66
| |
| * versions: Bump format version to 14Jonathan Maw2019-07-251-1/+1
| | | | | | | | Format version raised because of a change to the core element format.
| * tests: Add tests for loading builddeps and runtime depsJonathan Maw2019-07-258-4/+78
| |
| * loader: Add 'build-depends' and 'runtime-depends' fields to elementsJonathan Maw2019-07-252-18/+39
|/
* NEWS: Updating for 1.2.8 release1.3.1Tristan Van Berkom2019-07-161-0/+7
|
* Merge branch 'tristan/backport-previous-sources' into 'bst-1'bst-marge-bot2019-07-1633-110/+829
|\ | | | | | | | | Backport ability to see previous sources in fetch() and track() See merge request BuildStream/buildstream!1477
| * source.py: ensure previous track refs are updatedRaoul Hidalgo Charman2019-07-165-25/+33
| | | | | | | | | | | | | | | | | | | | | | | | Updates the refs in the job process (but doesn't write), to ensure following sources can see consistency of previous sourcse has been updated. `_save_ref` is renamed `_set_ref` with writing to file now optional. This also changes the previous_source_access test to use a remote, so that it actually tests this cornercase. Fixes #1010
| * Add NEWS entry for Source Transform and pip sourceChandan Singh2019-07-161-0/+12
| |
| * Add pip source pluginChandan Singh2019-07-1622-6/+454
| | | | | | | | | | | | | | | | | | | | | | `pip` source plugin can stage python packages that are either specified directly in the element definition or picked up from `requirements.txt` from previous sources. In order to support the latter use-case (which is also the primary motivation for this plugin), this plugin requires access to previous sources and hence is an example of a Source Transform source. Also, bump `BST_FORMAT_VERSION` as this patch adds a new core plugin.
| * Allow source plugins to access previous sourcesChandan Singh2019-07-169-84/+335
| | | | | | | | | | | | | | | | | | | | | | | | | | Source plugin implementations can now specify that they need access to previously staged sources by specifying `BST_REQUIRES_PREVIOUS_SOURCES_TRACK` and/or `BST_REQUIRES_PREVIOUS_SOURCES_FETCH`, corresponding to access at `track` and `fetch` times respectively. Fixes #381. Replaces !505. For relevant discussion, see this discussion: https://gitlab.com/BuildStream/buildstream/merge_requests/505#note_83780747
| * setup.cfg: Don't load the integration-tests project recursivelyTristan Van Berkom2019-07-161-1/+1
|/ | | | | | | Since we may have python files in there which are not expected to be loadable directly in the test environment (they are project data), we should not have the tests automatically recurse into there and assume it can collect tests from there.
* Merge branch 'tristan/bst-1/config-max-jobs' into 'bst-1'bst-marge-bot2019-07-1624-114/+185
|\ | | | | | | | | Add max-jobs configuration and command line option (bst 1) See merge request BuildStream/buildstream!1474
| * man: Updated man pages for new `--max-jobs` CLI argumenttristan/bst-1/config-max-jobsTristan Van Berkom2019-07-1517-112/+101
| |
| * tests/frontend/show.py: Test proper resolution of max-jobsTristan Van Berkom2019-07-151-0/+51
| | | | | | | | | | | | | | | | This tests that the resolution of the `max-jobs` automatic variable is properly controlled by the new user configuration and command line option, including the default automatic '0' value. Regression test for #1033
| * _project.py: Use the user specified max-jobsTristan Van Berkom2019-07-141-1/+6
| | | | | | | | | | | | | | Only use automatic max-jobs by default if the user has not requested a specific value for max-jobs. This is a part of #1033
| * _frontend: Added toplevel `--max-jobs` configurationTristan Van Berkom2019-07-143-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While this is currently only relevant for `bst build`, it is a current implementation detail that user configuration which gets overridden by command line options must use toplevel options. This patch allows invocations such as the following to override the max-jobs: bst --max-jobs 16 build target.bst This also updates the completions test to expect the new toplevel option. This is a part of #1033
| * _context.py: Added max-jobs configurationTristan Van Berkom2019-07-142-1/+23
|/ | | | | | | | This loads the configuration of the max-jobs variable from the user configuration, where the default is 0 (meaning use the maximum number of cores with a limit of 8). This is a part of #1033
* Merge branch 'tristan/exit-on-nonblock-terminal-1.2' into 'bst-1.2'bst-1.2-branchpointbst-marge-bot2019-07-121-0/+12
|\ | | | | | | | | _frontend/cli.py: Exit with error if output streams are set to nonblocking See merge request BuildStream/buildstream!1389
| * _frontend/cli.py: Exit with error if output streams are set to nonblockingtristan/exit-on-nonblock-terminal-1.2Tristan Van Berkom2019-07-101-0/+12
|/ | | | | | | This is better than raising a stack trace later on when logging gets intense with a BlockingIOError. This fixes #929
* Merge branch 'valentindavid/disable-test_expiry_order' into 'bst-1.2'Valentin David2019-06-281-0/+1
|\ | | | | | | | | tests/artifactcache/expiry.py: Disable test failing on builders See merge request BuildStream/buildstream!1436
| * tests/artifactcache/expiry.py: Disable test failing on buildersvalentindavid/disable-test_expiry_orderValentin David2019-06-281-0/+1
|/
* Merge branch 'tristan/fix-workspaced-junctions-1.2' into 'bst-1.2'Tristan Van Berkom2019-05-242-24/+57
|\ | | | | | | | | Fix workspaced junctions (1.2) See merge request BuildStream/buildstream!1355
| * tests/frontend/show.py: Test behavior of unfetched/inconsistent workspaced ↵tristan/fix-workspaced-junctions-1.2Tristan Van Berkom2019-05-241-6/+37
| | | | | | | | | | | | | | | | | | junctions We already test the behavior without workspaces, lets just augment these tests to also run with a workspaced junction and check the results. This guards against regressions of #1030.
| * _loader/loader.py: Check Element._get_consistency() for junction consistencyTristan Van Berkom2019-05-241-18/+20
|/ | | | | | | | | | Instead of looping over the sources directly, we should be using the canonical way of checking element consistency. This requires an additional call to Element._update_state() on the freshly loaded junction element in order to ensure we calculate consistency. This fixes issue #1030.
* NEWS: Updating for 1.2.7 release1.2.7Tristan Van Berkom2019-05-201-0/+14
|