summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* .gitlab-ci.yml: XXX USE LATEST THINGStristan/bst-1-bisect/misc-cleanupJavier 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/misc-cleanup' into 'bst-1'Tristan Van Berkom2019-08-0511-85/+58
|\ | | | | | | | | Backport some misc fixes (bst-1) See merge request BuildStream/buildstream!1517
| * git source plugin: Fixing documentation linking and typoTristan Van Berkom2019-08-051-3/+4
| | | | | | | | | | | | | | | | | | | | Fixes the configurable warning part of this to properly link to the project.conf documentation describing what configurable warnings actually are. Also fix the plugin raise the actual configurable warning which it advertizes that it raises; which is 'inconsistent-submodule', not 'inconsistent-submodules'.
| * Source: Fix typo in documentation, and make it a link to `bst track`Tristan Van Berkom2019-08-051-1/+2
| | | | | | | | | | | | | | Now the commands have documentation linkability so we can link to them when referring to them anywhere in the docs. This reference was previously referring to a bogus non-existent `build-stream track`, maybe this dates way back to the days before we named the frontend `bst`.
| * types.py: Moving CoreWarnings to the types.py moduleTristan Van Berkom2019-08-059-40/+35
| | | | | | | | | | | | This also ensures it is exposed via the main buildstream __init__.py file, fixes the imports of CoreWarnings, and adjusts the documentation links to point to the right place.
| * tests/sources/git.py: Refactor ref-not-in-track test to use parameterizationTristan Van Berkom2019-08-051-41/+17
|/ | | | | Instead of duplicating the whole test body, run it twice while checking for a warning or an error depending on the parameter.
* Merge branch 'tristan/bst-1/relative-workspaces' into 'bst-1'bst-marge-bot2019-08-046-55/+98
|\ | | | | | | | | Backport relative workspaces (bst-1) See merge request BuildStream/buildstream!1519
| * Implementing relative workspacestristan/bst-1/relative-workspacesPhillip Smyth2019-08-046-55/+98
|/ | | | | | | This fixes #191 A note has been added to NEWS explaining backwards compatibility issues
* Merge branch 'tristan/bst-1/json-cache-keys' into 'bst-1'Tristan Van Berkom2019-08-0434-30/+38
|\ | | | | | | | | Backport json cache keys (bst-1) See merge request BuildStream/buildstream!1518
| * NEWS: Adding news entry about depending on ujsonTristan van Berkom2019-08-041-0/+2
| |
| * Cache Keys: Update to use JSON rather than pickleDaniel Silverstone2019-08-0433-30/+36
|/ | | | | | | | This affects the cache key version (updated to 7) and introduces a dependency on `ujson` which is BSD licenced as of the version locked in `requirements.txt` Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
* Merge branch 'tristan/bst-1/pretty-git-refs' into 'bst-1'Tristan Van Berkom2019-08-043-2/+74
|\ | | | | | | | | Backport pretty git refs See merge request BuildStream/buildstream!1516
| * tests/sources/git.py: Add track and fetch test with and without tagJürg Billeter2019-08-041-0/+47
| |
| * testutils/repo/git.py: Add add_tag() methodJürg Billeter2019-08-041-0/+3
| |
| * git.py: Make `ref` human readableJürg Billeter2019-08-041-2/+24
|/ | | | Use `git describe` to prefix `ref` with closest tag, if available.
* Merge branch 'tristan/bst-1/submodule-warnings' into 'bst-1'Tristan Van Berkom2019-08-046-46/+344
|\ | | | | | | | | Backport git submodule warnings See merge request BuildStream/buildstream!1515
| * NEWS: Updating for new git configurable warningsTristan van Berkom2019-08-031-0/+6
| |
| * tests/sources/git.py: Test invalid submodules warning appearing after trackTristan Van Berkom2019-08-031-59/+57
| |
| * tests/sources/git.py: Test unlisted submodules warning appearing after trackTristan Van Berkom2019-08-031-0/+63
| |
| * tests/sources/git.py: Testing the git:invalid-submodule warningTristan Van Berkom2019-08-031-0/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o Test that it is not triggered in show before fetch, because we don't know the submodules yet so we cannot know if they are valid or not. o Test that it is triggered by a fetch command o Test that it is triggered by `show` after having completed a fetch command, since now we have the repository and know which specified submodules are invalid o Test all of this under warning or error conditions (parameterized for fatal-warnings)
| * tests/sources/git.py: Testing the git:unlisted-submodule warningTristan Van Berkom2019-08-031-0/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | o Test that it is not triggered in show before fetch, because we don't know about the unlisted submodules yet o Test that it is triggered by a fetch command o Test that it is triggered by `show` after having completed a fetch command, since now we have the repository and know about the unlisted submodule o Test all of this under warning or error conditions (parameterized for fatal-warnings)
| * tests/testutils/repo/git.py: Adding remove_path() helperTristan Van Berkom2019-08-031-0/+6
| | | | | | | | | | A function for removing paths from a git repo, can also be used to remove submodules.
| * git source plugin: Emmit the ref-not-in-track warning from validate_cache()Tristan Van Berkom2019-08-031-37/+30
| | | | | | | | | | | | | | | | | | | | Now that we have Source.validate_cache(), this is a better place to emmit the ref-not-in-track warning, since it will be emmitted at the earliest opportunity and not only at Source.stage() or Source.init_workspace(). This also allows us to remove the `self.tracked` local state, and cleanup some convoluted calling paths, removing some unnecessary parameters from the usual codepaths and making the plugin overall more readable.
| * git source plugin: Implementing submodule warningsTristan Van Berkom2019-08-032-8/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o Unlisted submodule warning Now the git plugin will issue a configurable warning if a submodule exists and is used (checking out the submodule is not disabled), but is not specified in the source configuration. o Invalid submodule warning Now the git source plugin will issue a warning if the configuration specified a submodule which does not exist in the underlying git repository. As a side effect, this patch also changes the flow control of the git plugin such that submodules which are explicitly set to not be checked out, are also not fetched but instead ignored completely.
| * source.py: Add new delegate method validate_cache()Tristan Van Berkom2019-08-031-1/+24
|/ | | | | | | This is guaranteed to be called only once for a given session once the sources are known to be Consistency.CACHED, if source tracking is enabled in the session for this source, then this will only be called if the sources become cached after tracking completes.
* 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
| |