-
9b6fac5a
by William Salmon
at 2018-08-17T09:48:01Z
Add Error to git and ostree sources configure
Raise a error at configure time if the track and ref properties are
not present in the sources.
This is to address https://gitlab.com/BuildStream/buildstream/issues/471
that documented unhelpful behaviour when tracking git sources. However
the issue was also identified in ostree.
-
d5ed4f45
by William Salmon
at 2018-08-17T09:49:23Z
Improve error message for build if there are refs missing
-
c43af4eb
by Will Salmon
at 2018-08-17T10:51:38Z
Merge branch 'willsalmon/APIFix' into 'master'
Updating the no track or ref fix to match the buildstream style
See merge request BuildStream/buildstream!628
-
7263ea8c
by Josh Smith
at 2018-08-17T13:19:23Z
job.py: Prevent terminated jobs retrying
Fixes #531: Jobs were retrying when terminated, this lead to the process
being spawned again and starting up fresh.
-
30f696f2
by Qinusty
at 2018-08-17T14:29:45Z
Merge branch 'Qinusty/531-fetch-retries-on-terminate' into 'master'
Prevent jobs retrying on terminate
Closes #531
See merge request BuildStream/buildstream!662
-
c15cb951
by Tristan Van Berkom
at 2018-08-20T10:19:03Z
setup.cfg: Add tests/integration/project to norecursedirs
This is causing pytest to try to import the recently added app1.py
from the pip related tests. This fails because it's not meant to be
imported outside of the sandbox environment.
-
372abed5
by Tristan Van Berkom
at 2018-08-20T11:47:53Z
Merge branch 'tristan/exclude-project-py-from-tests' into 'master'
setup.cfg: Add tests/integration/project to norecursedirs
See merge request BuildStream/buildstream!682
-
1f88a1e9
by Jonathan Maw
at 2018-08-20T12:36:02Z
Use ArtifactCache's get_cache_size when calculating the quota
It would have been more convenient to store the quota size in the
ArtifactCache, except that the scheduler needs the quota size and
doesn't have access to the ArtifactCache.
-
d9507a9e
by Jonathan Maw
at 2018-08-20T12:36:02Z
Fix get_cache_size to store it in the ArtifactCache, not the context
-
a9b81dc4
by Jonathan Maw
at 2018-08-20T12:36:02Z
artifactcache: Read and write cache size to disk
-
a67906e6
by Jonathan Maw
at 2018-08-20T13:06:51Z
Add tests that cache size works
-
92e34ccd
by Jonathan Maw
at 2018-08-20T16:27:18Z
Merge branch 'jonathan/cache-cache-size' into 'master'
Jonathan/cache cache size
See merge request BuildStream/buildstream!679
-
f1a619b5
by Jonathan Maw
at 2018-08-20T16:34:03Z
CASCache: Fix cell-var-from-loop linting error
-
ba74a128
by Jonathan Maw
at 2018-08-20T17:53:33Z
Merge branch 'jonathan/cascache-cell-var-from-loop' into 'master'
Jonathan/cascache cell var from loop
See merge request BuildStream/buildstream!686
-
18acd3ea
by Valentin David
at 2018-08-21T08:44:34Z
Fix broken indentation after tracking.
Issue was introduced by 171e803f (include directive) and the fix was
found courtesy of @Qinusty. This fixes also the include
feature. Because elements are to be serialized, the included fragments
need to use copy_tree when loaded.
Related to #470.
-
6bd688cf
by Valentin David
at 2018-08-21T08:44:34Z
buildstream/_includes.py: Fix caching of included fragments.
-
4cab18e3
by Qinusty
at 2018-08-21T09:38:39Z
Merge branch 'valentindavid/fix-broken-indentation-after-track' into 'master'
Fix broken indentation after track
See merge request BuildStream/buildstream!622
-
f3fbdac0
by Jonathan Maw
at 2018-08-21T11:33:34Z
Pipeline: Skip except_elements logic if no elements to except
-
3a4c147a
by Jonathan Maw
at 2018-08-21T12:43:41Z
Merge branch 'jonathan/faster-except-elements' into 'master'
Pipeline: Skip except_elements logic if no elements to except
See merge request BuildStream/buildstream!688
-
d1bd8c0b
by Chandan Singh
at 2018-08-21T12:46:57Z
.gitlab-ci.yml: Bump tags for testsuite images
These new images come with pinned versions of `pytest` and `pylint`:
- `pylint`: `== 2.1.1`
- `pytest`: `>= 3.7`
-
12d1cec2
by Chandan Singh
at 2018-08-21T12:46:57Z
dev-requirements.txt: Pin versions of pytest and pylint
These packages should only be updated as a deliberate change and the
code should be tested with the new versions to ensure that the test
still pass.
Any future updates should also happen in sync with the
buildstream-docker-images repository so that the testsuite base images
also enforce the same restrictions for the development requirements.
Replaces https://gitlab.com/BuildStream/buildstream/merge_requests/684.
-
320b9562
by Tristan Van Berkom
at 2018-08-21T13:57:00Z
Merge branch 'chandan/update-ci-tags' into 'master'
Restrict pylint/pytest versions and bump CI tags
See merge request BuildStream/buildstream!689
-
ef606229
by Josh Smith
at 2018-08-21T14:49:57Z
plugin.py: Stop printing None for fatal-warnings
Providing warn with detail=None (default) will no longer print None when
a fatal warning is triggered.
-
d8256c74
by Qinusty
at 2018-08-21T15:46:14Z
Merge branch 'Qinusty/598-fatal-warning-none-detail' into 'master'
Fatal warnings no longer print None when detail=None
See merge request BuildStream/buildstream!694
-
ab1caac1
by Chandan Singh
at 2018-08-21T23:47:32Z
setup.py: Add fields required for publishing on PyPi
Fill out those fields in `setup.py` that are required for publishing a
package on PyPi.
Part of https://gitlab.com/BuildStream/buildstream/issues/587.
-
81278f84
by Tristan Van Berkom
at 2018-08-22T05:23:33Z
Merge branch 'chandan/pypi-prep' into 'master'
setup.py: Add fields required for publishing on PyPi
See merge request BuildStream/buildstream!695
-
3d4e649d
by Tristan Van Berkom
at 2018-08-22T05:24:42Z
_frontend/linuxapp.py: Fix special casing around desktop notification escape sequence
Now we allow the notification to happen on any TERM
which starts with 'xterm' or 'vte', and we only do it
if the VTE_VERSION is >= 4600, where we know for sure that
VTE will not print garbage on the terminal.
Fixes #385
-
c8bafb68
by Tristan Van Berkom
at 2018-08-22T06:24:12Z
Merge branch 'tristan/notifications' into 'master'
_frontend/linuxapp.py: Fix special casing around desktop notification escape sequence
Closes #385
See merge request BuildStream/buildstream!692
-
eeaddbac
by William Salmon
at 2018-08-22T08:05:28Z
Catch Non Numeric versions
This patch just displays a better message than the default stack trace
but dose not try to fix the problem. A further patch will be created but
it effects versioneer so may take longer to land as it may need to go
via versioneer mainline.
-
e15f5fa3
by William Salmon
at 2018-08-22T08:05:28Z
Search for tags with the *.*.* patten for version
This has been done in a way that I hope might be able to be upstreamed
in to versioneer. This is not garanteed but it would be good if it
could be.
Please see https://github.com/warner/python-versioneer/pull/186 and
https://github.com/wsalmonct/python-versioneer/tree/feature/regexTags
for further details.
-
ff52ae18
by Will Salmon
at 2018-08-22T09:33:04Z
Merge branch 'willsalmon/versionTagRegrex' into 'master'
Search for tags with the *.*.* patten for version
See merge request BuildStream/buildstream!601
-
f4e51cf1
by Sam Thursfield
at 2018-08-22T10:38:41Z
Don't strip pathname from debug symbol files
When GDB looks for debug symbols it looks for the full path of the file
inside the configured debug-file-directory. For example, if the
debug-file-directory is set to a default of /usr/lib/debug, and you are
debugging /usr/bin/python3, GDB will look for its debug symbols at this
location: /usr/lib/debug/usr/bin/python3.
BuildStream has been putting all debug files inside /usr/lib/debug
under their $(basename), so in the above example GDB would fail to find
any debug symbols for /usr/bin/python3 because they would be in the
incorrect locatoin of /usr/lib/debug/python3.
-
5b79bbb7
by Tristan Van Berkom
at 2018-08-22T11:39:32Z
Merge branch 'tristan/debug-symbols-location' into 'master'
Don't strip pathname from debug symbol files
See merge request BuildStream/buildstream!697
-
91d62d2f
by Chandan Singh
at 2018-08-22T18:38:01Z
MANIFEST.in: Fix include for dev-requirements.txt
Currently, running any setuptools commands using `setup.py` generates a
warning like so:
warning: manifest_maker: MANIFEST.in, line 21: unknown action 'dev-requirements.txt'
The syntax is invalid and got accidentally introduced in !637 but it's a
shame that this is not a warning and no obvious way to make it an error
if there are invalid things in MANIFEST.in file.
-
cd0775eb
by Chandan Singh
at 2018-08-22T23:44:36Z
Merge branch 'chandan/fix-mainfest-dev-requirements' into 'master'
MANIFEST.in: Fix include for dev-requirements.txt
See merge request BuildStream/buildstream!704
-
b0d1aa83
by Tristan Van Berkom
at 2018-08-23T05:54:05Z
_frontend/linuxapp.py: Fixing fallout from !693
When fixing terminal notifications, I had introduced a bug
with accesses to `os.environ` which triggered KeyError, this
patch fixes it.
-
2215859c
by Valentin David
at 2018-08-23T06:40:19Z
Improve error message for deleted open workspaces
Fixes #576.
-
e37ac3bc
by Tristan Van Berkom
at 2018-08-23T07:45:49Z
Merge branch 'valentindavid/inconsistant-workspace' into 'master'
Improve error message for deleted open workspaces
Closes #576
See merge request BuildStream/buildstream!703
-
2ac654a8
by Valentin David
at 2018-08-23T08:02:50Z
Remove artifact extracts when artifact expires in cache
Fixes #561
-
176aa09f
by Tristan Van Berkom
at 2018-08-23T09:10:51Z
Merge branch 'valentindavid/extract-expiry' into 'master'
Remove artifact extracts when artifact expires in cache
Closes #561
See merge request BuildStream/buildstream!685
-
f1e3f10f
by Mathieu Bridon
at 2018-08-23T09:11:47Z
deps: Specify the minimum version required for blessings
Buildstream uses the Terminal.does_styling attribute, which was only
added in blessings 1.6.
Blessings helpfully returns an empty string when calling an nonexistent
attribute on the Terminal object, instead of failing.
Because Fedora has blessings 1.5, Buildstream thought that my terminal
couldn't handle styling, and just didn't print the status bar, silently.
Specifying the minimum version avoids this silent failure.
-
bea01531
by Tristan Van Berkom
at 2018-08-23T09:14:40Z
.gitlab-ci.yml: Avoid running tests in post-merge
-
da19bcf1
by Tristan Van Berkom
at 2018-08-23T09:14:40Z
README.rst: Removing the badges
Now that we only run pre-merge CI, it makes no sense to show a badge for
the coverage and pipeline status of the last run of master.
It would make sense to show a badge for the last pipeline which
was run for the last merge request that was merged to master, but
I don't see any feature to get that information.
-
8216ff8d
by Tristan Van Berkom
at 2018-08-23T10:13:23Z
Merge branch 'tristan/reduce-gitlab-ci' into 'master'
.gitlab-ci.yml: Avoid running tests in post-merge
See merge request BuildStream/buildstream!709
-
56096b60
by Chandan Singh
at 2018-08-24T02:12:03Z
.gitlab-ci.yml: Verify that source tarball installs correctly
Add a check to verify that the source distribution tarball that we
generate installs corrctly. It is useful to do this check as this is the
same tarball will be used when installing BuildStream via PyPI.
This check also happens indirectly in the coverage job where we install
BuildStream but this check makes it more explicit and will also cause
the CI to fail early if the tarball is not correct.
-
86e4729d
by Tristan Van Berkom
at 2018-08-24T06:42:03Z
Merge branch 'chandan/ci-sdist-test' into 'master'
.gitlab-ci.yml: Verify that source tarball installs correctly
See merge request BuildStream/buildstream!720
-
d88568ef
by Valentin David
at 2018-08-24T06:48:08Z
tests/integration/source-determinism.py: Use cli_integration.
-
f7ef151b
by Tristan Van Berkom
at 2018-08-24T07:36:19Z
Merge branch 'valentindavid/cli_integration_source_determinism' into 'master'
tests/integration/source-determinism.py: Use cli_integration.
See merge request BuildStream/buildstream!715
-
fa476d79
by Tristan Van Berkom
at 2018-08-24T07:55:43Z
tests/integration/project: Use the same alias for the alpine tarball
This makes the integration tests use the same 'alpine' alias for the
tests as we use in the examples, this avoids a redundant download
of an extra alpine tarball in integration tests.
This is a part of #603
-
255f9ee3
by Tristan Van Berkom
at 2018-08-24T08:39:19Z
Merge branch 'tristan/avoid-redundant-alpine' into 'master'
tests/integration/project: Use the same alias for the alpine tarball
See merge request BuildStream/buildstream!722
-
e1ed09aa
by Jim MacArthur
at 2018-08-24T09:51:27Z
element.py: chmod 777 directories if delete fails.
Staging may produce directories with less than 'rwx' permissions which
will cause tempfile to throw an exception on deleting the temporary
directory if not changed.
-
01fe504b
by James Ennis
at 2018-08-24T09:51:27Z
tar tests: Add tarball which contains a read-only dir
-
a3755c9a
by James Ennis
at 2018-08-24T09:51:27Z
tar.py: Add test for a tarball containing a read-only dir
-
1bfcca1a
by James Ennis
at 2018-08-24T10:31:41Z
Merge branch 'jmac/tempfile-extraction-bug' into 'master'
Correct crash after staging tars with read-only directories
See merge request BuildStream/buildstream!713
-
744925f3
by James Ennis
at 2018-08-24T10:34:57Z
HACKING.rst: Remove -k flag for individual tests as this is not required
-
dfee6d75
by James Ennis
at 2018-08-24T11:15:45Z
Merge branch 'jennis/correct_HACKING' into 'master'
'-k' flag not needed to run individual tests
See merge request BuildStream/buildstream!714
-
923bfaec
by Chandan Singh
at 2018-08-24T11:22:33Z
doc: Add instructions to install BuildStream via PyPI
Add instructions to install and update BuildStream python package via
PyPI, and also make it the recommended method.
Part of https://gitlab.com/BuildStream/buildstream/issues/587.
-
2c3a6ab8
by Chandan Singh
at 2018-08-24T12:01:56Z
Merge branch 'chandan/pip-install-instructions' into 'master'
doc: Add instructions to install BuildStream via PyPI
See merge request BuildStream/buildstream!717
-
f4745600
by Josh Smith
at 2018-08-24T12:20:05Z
setup.cfg: Show timing of the 20 slowest tests
This helps identifying what tests are slow or if the CI got stuck on
some of them
-
4c40a027
by Javier Jardón
at 2018-08-24T13:04:41Z
Merge branch 'jjardon/ci_show_timings' into 'master'
.gitlab-ci.yml: Show timing of the 20 slowest tests
See merge request BuildStream/buildstream!716
-
0301f74e
by Benjamin Schubert
at 2018-08-24T14:52:49Z
buildelement.py: remove double logging (again) as in #507
This was broken again by d14d8ee29b5fcaadcfd05934de71b46221243fcd,
this commits re-applies the fix from 12fea82e12a27eccb34ef4efbaa7c6874787eb4c
-
f991644c
by Qinusty
at 2018-08-24T15:33:48Z
Merge branch 'bschubert15/fix-double-log' into 'master'
buildelement.py: remove double logging (again) as in #507
See merge request BuildStream/buildstream!730
-
f4c2bf19
by Phil Dawson
at 2018-08-25T08:43:09Z
workspaces.rst: Move terminal sessions to doc/source/sessions-stored/
-
23b01f24
by Phil Dawson
at 2018-08-25T08:43:09Z
workspaces.rst: fix note which is not rendering correctly
-
369bec0c
by Tristan Van Berkom
at 2018-08-25T08:44:26Z
doc/source/developing/workspaces.rst: Some whitespace fixes
Some whitespace changes to follow the style regarding empty
lines between sections.
-
24cb3037
by Tristan Van Berkom
at 2018-08-25T09:10:53Z
.gitignore: Ignore doc/source/sessions directory of generated html files
A preventative measure against people committing the generated
html files to the wrong location.
-
4f8fe977
by Tristan Van Berkom
at 2018-08-25T09:10:53Z
HACKING.rst: Documenting the new "shell" configuration in the bst2html input file format
-
d819fb64
by Tristan Van Berkom
at 2018-08-25T11:41:15Z
Merge branch 'tristan/fixup-workspace-docs' into 'master'
Fixing some fallout in the workspace documentation additions
Closes #553
See merge request BuildStream/buildstream!732
-
ba675863
by Tristan Van Berkom
at 2018-08-25T11:42:08Z
doc/source/main_install.rst: Use one level depth toctree
This main section is just a choice of subsections, lets
make this more clear with a single level depth toctree.
-
52fce701
by Tristan Van Berkom
at 2018-08-25T11:42:08Z
doc/source/main_install.rst: Move the main install link target here
This is referred to from the artifact install guide, and was
previously pointing directly to the source install guide.
-
f7289b6b
by Tristan Van Berkom
at 2018-08-25T11:42:08Z
doc/source/install_source.rst: Splitting up install instructions
Instead of having all of this on one page, we now have a much
simpler page for installing on distros where BuildStream is packaged
and a separate page for installing distro specific system dependencies
and installing from source code (either from PyPI or git).
-
a1fa504d
by Tristan Van Berkom
at 2018-08-25T11:42:08Z
Add section about current releases
This is not ideal as the releases are hardcoded, but I think is better
than nothing until we got a solution to automate this
This commit was originally by Javier Jardón <jjardon gnome org> from
merge request !661, and then later reworked into an install guide refactor.
-
08632568
by Tristan Van Berkom
at 2018-08-25T11:42:08Z
doc/source/install_source.rst: Explain about release tag in git install instructions.
This obsoletes Laurence's explanation in merge request !657, and
is a part of the initiative of issue #528 to clarify which versions
users should be installing.
-
a7e046d5
by Tristan Van Berkom
at 2018-08-25T12:22:51Z
Merge branch 'tristan/install-guide-refactoring' into 'master'
Install guide refactoring
See merge request BuildStream/buildstream!733
-
c53d190b
by Javier Jardón
at 2018-08-26T06:04:58Z
doc/bst2html.py: Fix deprecation warning
This fixes the following:
"
/home/jjardon/buildstream/buildstream/doc/bst2html.py:32: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
from collections import Mapping
"
-
a9390efd
by Tristan Van Berkom
at 2018-08-26T07:27:50Z
Merge branch 'jjardon/doc_fix_deprecations' into 'master'
doc/bst2html.py: Fix deprecation warning
See merge request BuildStream/buildstream!727
-
5fb772b5
by Tristan Van Berkom
at 2018-08-26T07:30:58Z
.gitlab-ci.yml: Trying to fix code quality reports
This hasnt been working for a while, it might be because GitLab
doesnt quite grasp that we have multiple branches to merge MRs to,
or it might be because they have change the API and broken back compat
in some way.
See: https://docs.gitlab.com/ee/ci/examples/code_quality.html
-
fa696307
by Tristan Van Berkom
at 2018-08-26T08:10:59Z
Merge branch 'tristan/fix-code-quality' into 'master'
.gitlab-ci.yml: Trying to fix code quality reports
See merge request BuildStream/buildstream!735
-
0f329276
by Tristan Van Berkom
at 2018-08-26T08:11:56Z
README.rst: Use stronger language to follow the installation guide.
And also refer to the user guide section instead of directly to the
tutorial, the tutorial will still be the first section of the user
guide so this is a better link target for getting started.
This is related to #528
-
4b6f3d0d
by Tristan Van Berkom
at 2018-08-26T08:57:05Z
Merge branch 'tristan/readme-version' into 'master'
README.rst: Use stronger language to follow the installation guide.
See merge request BuildStream/buildstream!736
-
7c6e91f5
by Tristan Van Berkom
at 2018-08-27T06:51:20Z
Revert ".gitlab-ci.yml: Avoid running tests in post-merge"
This reverts commit bea01531b984522940562866e904c83e8f9aed50.
-
539963e3
by Tristan Van Berkom
at 2018-08-27T06:51:47Z
Revert "README.rst: Removing the badges"
This reverts commit da19bcf1de75bf930d0f233addc858b4073d0173.
-
5a5b6699
by Tristan Van Berkom
at 2018-08-27T06:53:55Z
.gitlab-ci.yml: Moving code_quality job into tests phase
This job always takes a long time and does not really depend
on the artifacts in the 'test' phase, moving it to the 'test'
phase will reduce overall CI time.
-
c6ba8932
by Tristan Van Berkom
at 2018-08-27T07:27:06Z
Merge branch 'tristan/restore-post-merge-CI' into 'master'
Tristan/restore post merge ci
See merge request BuildStream/buildstream!737
-
9cb69b0b
by Tristan Van Berkom
at 2018-08-27T07:46:22Z
doc/source/main_install.rst: Clarify that BuildStream cannot be run on Windows
The previous wording was misleading and caused one to think you can run
BuildStream on Windows, this commit fixes that and rewords the main section
heading to be a bit more abstract.
Fixes issue #608
-
8c7fadd8
by Tristan Van Berkom
at 2018-08-27T08:12:52Z
Merge branch 'tristan/install-guide-main' into 'master'
doc/source/main_install.rst: Clarify that BuildStream cannot be run on Windows
Closes #608
See merge request BuildStream/buildstream!739
-
ddbf7bc2
by Jürg Billeter
at 2018-08-28T08:56:06Z
element.py: Schedule assemble for key of workspaced elements
For uncached workspaced elements, assemble is required even just to
calculate the cache key. As dynamic scheduling relies on cache keys,
schedule assemble for uncached workspace elements even if they have not
been marked as required yet.
Fixes #461.
-
ffc556ff
by Valentin David
at 2018-08-28T09:01:05Z
tests/frontend/workspace.py: Add test for workspaced dependencies
This adds a regression test for #461.
-
dd90d53d
by Jürg Billeter
at 2018-08-28T09:01:05Z
element.py: Do not attempt to pull workspaced elements
-
6a5a8e7a
by Tristan Van Berkom
at 2018-08-28T11:29:22Z
Merge branch 'juerg/workspaced-dependencies' into 'master'
Fix key invalidation for workspaced dependencies
Closes #461
See merge request BuildStream/buildstream!740
-
6047a575
by Tristan Van Berkom
at 2018-08-28T13:41:36Z
tests/frontend/workspaces.py: Removing some redundant tests
Removed redundant tests from recently merged !740, this new
test does not need to run for every different source kind.
-
7535fda8
by Jürg Billeter
at 2018-08-28T14:25:35Z
Merge branch 'tristan/remove-redundant-test' into 'master'
tests/frontend/workspaces.py: Removing some redundant tests
See merge request BuildStream/buildstream!741
-
10eeb503
by Javier Jardón
at 2018-08-28T22:22:00Z
doc/source/conf.py: Fix E201, E202 warnings
-
d3c32ca2
by Javier Jardón
at 2018-08-28T22:22:00Z
doc/source/conf.py: Fix E402 warning
-
3ae5fd05
by Javier Jardón
at 2018-08-28T22:22:00Z
Fix E305 warnings
-
c6fb5ba7
by Javier Jardón
at 2018-08-28T22:22:00Z
Fix E741 warnings
-
c5eca59d
by Tristan Van Berkom
at 2018-08-29T10:45:33Z
Merge branch 'jjardon/pycodestyle_fixes' into 'master'
Some pycodestyle (PEP8) fixes
See merge request BuildStream/buildstream!746
-
63c6ee72
by Tristan Van Berkom
at 2018-08-29T10:46:30Z
doc: Adding badges.py release badge generator
This adds a step to the docs generation Makefile to generate
release.svg and snapshot.svg badges, modelled after the gitlab
badges.
This also adds the generated badges directory in docs to .gitignore
-
2d527052
by Tristan Van Berkom
at 2018-08-29T10:46:30Z
README.rst: Adding the release and snapshot badges to the readme
This is a part of #528
-
29e7eea8
by Tristan Van Berkom
at 2018-08-29T10:46:30Z
doc: Adding the release badges to the install page and the semantic versioning page
This is a part of #528
-
5d508779
by Tristan Van Berkom
at 2018-08-29T11:13:53Z
Merge branch 'tristan/docs-version-badge' into 'master'
Release badges
See merge request BuildStream/buildstream!742
-
323a5403
by Chandan Singh
at 2018-08-29T12:13:28Z
setup.py: Add more metadata useful for PyPI
- setup.py: List useful links using `project_urls`
- setup.py: Specify minumum python vresion using `python_requires`
`python_requires` is the new way of specifying requirements for python
version, as documented @
https://packaging.python.org/guides/distributing-packages-using-setuptools/#python-requires.
This will also make this requirement appear nicely on the PyPI project
page.
- setup.py: Add project classifiers
PyPI will use these classifiers to categorize projects while searching
or browsing. Full list of classifiers can be found at
https://pypi.org/classifiers.
-
5fc7b5ac
by Tristan Van Berkom
at 2018-08-29T12:37:08Z
Merge branch 'chandan/setup.py-metadata' into 'master'
setup.py: Add more metadata useful for PyPI
See merge request BuildStream/buildstream!718
-
42ad937d
by Josh Smith
at 2018-08-29T12:38:15Z
Prevent ValueError on URLs without an alias
Fixes #597
-
aa3a33b3
by Tristan Van Berkom
at 2018-08-29T13:03:58Z
Merge branch 'Qinusty/597-non-alias-url-fix' into 'master'
Fix ValueError traceback for URL without alias or URI scheme
Closes #597
See merge request BuildStream/buildstream!700
-
2a2a79de
by Valentin David
at 2018-08-29T14:11:48Z
Disable round-tripping when element is not modified
-
2df7607c
by Tristan Van Berkom
at 2018-08-29T14:43:55Z
Merge branch 'valentindavid/roundtripping_only_when_modified' into 'master'
Disable round-tripping when element is not modified
See merge request BuildStream/buildstream!748
-
c146dde5
by Benjamin Schubert
at 2018-08-29T16:00:24Z
Log not-found objects in the cache as SKIPPED
-
19e87afb
by Benjamin Schubert
at 2018-08-29T16:01:12Z
Add tests that not-found objects in cache are shown as SKIPPED
-
9cc5817f
by Qinusty
at 2018-08-29T16:25:48Z
Merge branch 'bschubert/log-missed-cache' into 'master'
Log not-found objects in the cache as SKIPPED
See merge request BuildStream/buildstream!729
-
3c8646e3
by Josh Smith
at 2018-08-29T16:34:22Z
Add cyclic check within variable resolution
This aims to address #600, this will raise an exception when a resolved
variable contains a reference to the variable.
-
d41c42d6
by Josh Smith
at 2018-08-29T16:34:22Z
Add tests for cyclic variables check
Note: This modifies the docker containers used for testing to supply the
pytest-timeout package.
-
c7b72c30
by Qinusty
at 2018-08-29T16:58:48Z
Merge branch 'Qinusty/600-recursive-variables' into 'master'
Add cyclic check within variable resolution
See merge request BuildStream/buildstream!712
-
d28e1353
by Tristan Van Berkom
at 2018-08-30T06:02:41Z
tests/plugins/filter.py: Don't run redundant tests
There is no reason that the filter element codepaths can behave
differently depending on the Source implementation used in the test,
as the Source implementation does not have any filter specific
virtual methods.
Removing the redundant tests and just performing these tests with the git source.
-
e77ae07a
by Tristan Van Berkom
at 2018-08-30T06:36:41Z
Merge branch 'tristan/reduce-filter-tests' into 'master'
tests/plugins/filter.py: Don't run redundant tests
See merge request BuildStream/buildstream!753
-
9ea40e2c
by Tristan Van Berkom
at 2018-08-30T06:38:13Z
tests/frontend/mirror.py: Reenable test_mirror_fetch_upstream_absent[ostree]
This test was skipped because of issue #538, but #538 was fixed
and the test was still not reenabled.
-
8aec1102
by Tristan Van Berkom
at 2018-08-30T07:06:17Z
Merge branch 'tristan/538-reenable-ostree-test' into 'master'
tests/frontend/mirror.py: Reenable test_mirror_fetch_upstream_absent[ostree]
See merge request BuildStream/buildstream!755
-
fcc17c82
by Tristan Van Berkom
at 2018-08-30T08:44:34Z
source.py: Stylistic changes in Source.__do_fetch()
Added some comments to make the flow easier to follow, and
removed an annoying 'success' variabled in favor of a for / else
loop statement.
-
60ad044a
by Tristan Van Berkom
at 2018-08-30T08:44:34Z
source.py: Move Source.mark_download_url() to the public methods.
This was sitting in the section for abstract methods, but this
is most definitely not an abstract method to be implemented by
Sources.
-
c339f917
by Tristan Van Berkom
at 2018-08-30T08:44:34Z
plugins/source/git.py: Fix formatting of url in tracking
This was displaying the aliased URL which is pretty useless,
use the translated URL for the timed activity.
-
26565f11
by Tristan Van Berkom
at 2018-08-30T09:12:28Z
Merge branch 'tristan/source-mirroring-changes' into 'master'
Minor code changes revolving around source mirroring
See merge request BuildStream/buildstream!758
-
a38d9163
by Valentin David
at 2018-08-30T10:26:57Z
Report processing errors from tracking
Failures to write files when tracking were not reported.
Fixes #533.
-
02138181
by Tristan Van Berkom
at 2018-08-30T11:36:00Z
Merge branch 'valentindavid/post_tracking_errors' into 'master'
Report processing errors from tracking
Closes #533
See merge request BuildStream/buildstream!747
-
d23d4f3e
by Tristan Van Berkom
at 2018-08-30T12:02:27Z
_artifactcache/artifactcache.py: Write the cache_size file atomically
This is causing issues while the size file is being read and written
simultaneously.
The proper fix will be to read/add/save the file atomically and that
will require locking, but this fix is a good stop gap to existing crashes.
-
bb6aa5a5
by Tristan Van Berkom
at 2018-08-30T12:27:55Z
Merge branch 'tristan/atomic-cache-size-file' into 'master'
_artifactcache/artifactcache.py: Write the cache_size file atomically
See merge request BuildStream/buildstream!762
-
680e4fe1
by knownexus
at 2018-08-30T13:37:55Z
Replacing string 'bzr' with value from host tools
-
8cd719eb
by Phillip Smyth
at 2018-08-30T15:47:06Z
Merge branch 'bzr_fix' into 'master'
Replacing string 'bzr' with value from host tools
See merge request BuildStream/buildstream!764
-
18d0bfb4
by Tom Pollard
at 2018-08-30T19:14:33Z
buildstream/_project.py: Report if project.conf is missing name
Explicitly check that project.conf contains a name. This resolves
the issue of the provenance check from _yaml.py incorrectly reporting
the offending file as the default_config_node projectconfig.yaml
when no name key exists in the pre_config_node dict.
-
95121148
by Tiago Gomes
at 2018-08-30T20:52:29Z
Merge branch 'tpollard/591' into 'master'
buildstream/_project.py: Report if project.conf is missing name
See merge request BuildStream/buildstream!680
-
775d3fca
by Tristan Van Berkom
at 2018-08-31T06:05:32Z
_project.py: Adding FIXME comment to address #591 properly
-
0682aa1c
by Josh Smith
at 2018-08-31T10:58:12Z
job.py: Modify retry messages to be FAIL
This adjusts the message handler for the child processes to no longer
override the message type.
This also removes the ability for unhandled non BstError exceptions to
retry.
-
68eff9ba
by Josh Smith
at 2018-08-31T10:58:20Z
tests: Modify tests to ensure retry FAILURE
-
9b18e1bf
by Tristan Van Berkom
at 2018-08-31T11:22:51Z
Merge branch 'Qinusty/retries-should-fail' into 'master'
Retries log as failures
See merge request BuildStream/buildstream!766
-
e2d8fedf
by Josh Smith
at 2018-08-31T15:53:43Z
scheduler.py: Move cache_size logs into folder
This prevents the cache_size.pid.log files from cluttering the root
log directory.
-
6805a2ab
by Tristan Van Berkom
at 2018-09-01T08:24:05Z
Merge branch 'Qinusty/cache-size-directory' into 'master'
Move cache_size.pid.log files into a subdirectory of logs
See merge request BuildStream/buildstream!769
-
f8b06acc
by Tristan Van Berkom
at 2018-09-02T09:33:39Z
source.py: Document Source.get_source_fetchers() to return an iterable
Also highlight the fact that the plugin can rely on the fetcher's
fetch() method getting called before consuming the next item in the
list, which is the magick behavior that the git plugin relies on.
This is a part of #620
-
559b6fbc
by Tristan Van Berkom
at 2018-09-02T09:34:10Z
source.py: Fixing docs link formatting to be consistent.
-
43ad22d7
by Tristan Van Berkom
at 2018-09-02T09:34:10Z
source.py: Documenting that marking download URLs is mandatory
A download URL must be interpreted by the core at `Plugin.configure()`
time, even if only employed later on.
This is a part of #620
-
16462e9c
by Tristan Van Berkom
at 2018-09-02T09:36:49Z
plugin.py: Added _configure() and _get_configuring() private APIs
Keeps track of whether the plugin is currently being configured.
Adjusted Element and Source classes to call _configure() in place
of calling configure() directly.
This is a part of #620
-
1f9c4147
by Tristan Van Berkom
at 2018-09-02T09:37:12Z
source.py: Added `primary` argument to URL marking APIs
The Source must now mention whether the marked or translated
URL is "primary" or not. Even when a Source may have multiple
URLs, the auxilliary URLs are derived from the primary one, not
only is this true for git, but it is mandated by our tracking
API which assumes there is a primary URL.
This adjusts the `git` source and the test `fetch_source.py` source
to behave properly and advertize it's primary URL properly.
This is a part of #620
-
f9b2f1a9
by Tristan Van Berkom
at 2018-09-02T09:37:21Z
source.py: Track marked URLs and assert they are marked during Plugin.configure()
This cannot test for unaliased URLs, as those can be discovered later
on outside of user provided element configuration; at least we
assert that if an alias was used, we have seen it at load time.
This will cause a BUG to occur for a plugin which marks an aliased
URL (or attempts to translate one) outside of `Plugin.configure()`,
if that URL was not previously seen.
This is a part of #620
-
88460cd2
by Tristan Van Berkom
at 2018-09-03T06:23:38Z
Merge branch 'tristan/source-fetcher-changes' into 'master'
Source fetcher changes
See merge request BuildStream/buildstream!772
-
2339f0c4
by Tom Pollard
at 2018-09-03T09:44:36Z
plugins/git.py: Warn if ref is not in given track
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.
-
c96fec5d
by Tom Pollard
at 2018-09-03T09:44:36Z
tests/sources/git.py: Add tests for REF_NOT_IN_TRACK
Add tests that cover assert_ref_in_track & the configurable
CoreWarnings REF_NOT_IN_TRACK warnings token.
-
6a0cdedf
by Tom Pollard
at 2018-09-03T10:16:39Z
Merge branch 'tpollard/483' into 'master'
plugins/git.py: Warn if ref is not in given track
See merge request BuildStream/buildstream!564
-
9b327eb6
by Ben Brewer
at 2018-09-04T14:41:23Z
Improve documentation for artifact cache installation
Remove ambiguity about systemd service files being separate.
Add URL for more information about systemd service files.
Add note about public keys being mandatory for self-signed certs.
Make cert/key file naming consistent throughout document.
-
3e67e64a
by Javier Jardón
at 2018-09-04T16:43:13Z
Merge branch 'benbrewer/install-artifacts-doc-improvements' into 'master'
Improve documentation for artifact cache installation
See merge request BuildStream/buildstream!777
-
3409609e
by Daniel Silverstone
at 2018-09-04T16:55:51Z
jobs.py: Reduce FD leaks from queues and process objects
The garbage collector can take too long to get around to cleaning
up the Queue and Process instances in completed Job instances. As
such, FDs tend to leak and in very large projects this can result
in running out of FDs before a build, fetch, track, or other process
can complete. This patch reduces the chance of that by only creating
the queue when it's needed, and forcing the queue and process instances
to be deleted when the parent is finished with them.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
7b32e1ec
by Tristan Maat
at 2018-09-04T17:20:55Z
Merge branch 'danielsilverstone-ct/maybe-reduce-fd-leaks' into 'master'
jobs.py: Reduce FD leaks from queues and process objects
See merge request BuildStream/buildstream!778
-
936bb93a
by Jim MacArthur
at 2018-09-07T12:57:28Z
cascache.py: Preparation for remote execution
Refactor the push() and pull() implementations so that API additions
needed for remote-execution is made easier.
https://gitlab.com/BuildStream/buildstream/issues/454
-
b0f46545
by Martin Blanchard
at 2018-09-07T12:57:29Z
cascache.py: Introduce new push helpers
Add push_directory() and push_message() helpers along with a
verify_digest_pushed().
https://gitlab.com/BuildStream/buildstream/issues/454
-
50bf3139
by Martin Blanchard
at 2018-09-07T12:57:29Z
cascache.py: Introduce new pull helpers
Add a pull_tree() helper.
https://gitlab.com/BuildStream/buildstream/issues/454
-
853e0af7
by Martin Blanchard
at 2018-09-07T12:57:29Z
_casbaseddirectory.py: Add a method for hash recalculation
https://gitlab.com/BuildStream/buildstream/issues/454
-
e7659c29
by Jim MacArthur
at 2018-09-07T12:57:29Z
sandbox.py: Allow setting the virtual directory
This is for use after remote execution has finished, since remote
execution produces a new output directory rather than modifying
the initial directory.
https://gitlab.com/BuildStream/buildstream/issues/454
-
7306a954
by Jim MacArthur
at 2018-09-07T12:57:29Z
Add "remote-execution" project configuration option
This just adds one option, "remote-execution/url". Affects multiple files.
https://gitlab.com/BuildStream/buildstream/issues/454
-
c0ef7106
by Jim MacArthur
at 2018-09-07T12:57:29Z
format_project.rst: Document remote-execution option
https://gitlab.com/BuildStream/buildstream/issues/454
-
43651af0
by Jim MacArthur
at 2018-09-07T12:57:29Z
_sandboxremote.py: Implement the REAPI client
The remote execution client is implemented as a remote sandbox that
sends sources and build commands to a REAPI server and fetches results
once remotely executed. New file.
https://gitlab.com/BuildStream/buildstream/issues/454
-
da53c005
by Jim MacArthur
at 2018-09-07T12:57:29Z
sandbox/__init__.py: Add SandboxRemote
https://gitlab.com/BuildStream/buildstream/issues/454
-
c73896bb
by Jim MacArthur
at 2018-09-07T12:57:29Z
element.py: Get the updated virtual directory after running
Executing run() on a sandbox can now replace the virtual directory,
since remote execution returns a potentially different directory rather
than an update to the existing one. Call get_virtual_directory() again
after running to accout for this.
https://gitlab.com/BuildStream/buildstream/issues/454
-
89b29b8b
by Jim MacArthur
at 2018-09-07T12:57:29Z
element.py: Switch to SandboxRemote if config option is set
https://gitlab.com/BuildStream/buildstream/issues/454
-
116f80d2
by Jim MacArthur
at 2018-09-07T12:57:29Z
autotools.py: Mark this as a BST_VIRTUAL_DIRECTORY plugin
https://gitlab.com/BuildStream/buildstream/issues/454
-
05956c71
by Martin Blanchard
at 2018-09-07T12:57:29Z
cmake.py: Mark this as a BST_VIRTUAL_DIRECTORY plugin
https://gitlab.com/BuildStream/buildstream/issues/454
-
909b3be4
by Martin Blanchard
at 2018-09-07T12:57:29Z
make.py: Mark this as a BST_VIRTUAL_DIRECTORY‧plugin
https://gitlab.com/BuildStream/buildstream/issues/454
-
556f2abb
by Martin Blanchard
at 2018-09-07T12:57:30Z
meson.py: Mark this as a BST_VIRTUAL_DIRECTORY‧plugin
https://gitlab.com/BuildStream/buildstream/issues/454
-
71e2b543
by Martin Blanchard
at 2018-09-07T12:57:30Z
qmake.py: Mark this as a BST_VIRTUAL_DIRECTORY‧plugin
https://gitlab.com/BuildStream/buildstream/issues/454
-
d4c515d0
by Martin Blanchard
at 2018-09-07T12:57:30Z
tests/artifactcache: Add a simple test project
https://gitlab.com/BuildStream/buildstream/issues/454
-
923d443b
by Martin Blanchard
at 2018-09-07T13:22:48Z
tests/artifactcache: Add push unit-tests
https://gitlab.com/BuildStream/buildstream/issues/454
-
9ef53163
by Martin Blanchard
at 2018-09-07T13:22:57Z
tests/artifactcache: Add pull unit-tests
https://gitlab.com/BuildStream/buildstream/issues/454
-
f52169b2
by Qinusty
at 2018-09-07T16:48:02Z
Merge branch 'jmac/remote_execution_client' into 'master'
Remote execution client
See merge request BuildStream/buildstream!626
-
8326b0f7
by Thomas Coldrick
at 2018-09-08T17:54:22Z
Upstream libtool .la file removal
In freedesktop-sdk we add a script to our project.conf to remove
libtool .la files from autotools projects after install, this seems
like a sensible default, so we're attempting to send it upstream.
-
886a836e
by Valentin David
at 2018-09-08T20:07:29Z
Merge branch 'coldtom/autotools-libtool' into 'master'
Upstream freedesktop-sdk autotools config for libtool .la files
See merge request BuildStream/buildstream!683
-
2174db01
by Tristan Van Berkom
at 2018-09-10T07:53:56Z
tests/artifactcache/expiry.py: Fix test case expectations.
-
e5847077
by Tristan Van Berkom
at 2018-09-10T07:53:56Z
_scheduler/queues: Mark build and pull queue as requiring shared access to the CACHE
This is what the whole resource.py thing was created for, the
cleanup job must have exclusive access to the cache, while the pull
and build jobs which result in adding new artifacts, must only require
shared access.
This is a part of #623
-
98ab2b89
by Tristan Van Berkom
at 2018-09-10T07:53:56Z
_scheduler/resources.py: Set CACHE max resources to 0
This means there is no cap for shared resource requests.
Together with the previous commit, this causes the cleanup
job and the pull/build jobs to all require unlimited shared
access to the CACHE resource; while only the cleanup job
requires exclusive access to the resource.
This is a part of #623
-
deaecdc1
by Tristan Van Berkom
at 2018-09-10T07:53:56Z
_scheduler/scheduler.py: Make CacheSizeJob() not require the CACHE exclusively
This runs after every pull, and does not need the cache exclusively,
only the cleanup job requires the cache exclusively.
Without this, every time a cache_size job is queued, all pull and
build jobs need to complete before cache_size job can run exclusively,
which is not good.
This is a part of #623
-
1f118ba4
by Tristan Van Berkom
at 2018-09-10T07:53:56Z
element.py: Adding missing API documenting comment
-
26ccc1ba
by Tristan Van Berkom
at 2018-09-10T07:53:56Z
_artifactcache: Making public methods public
The artifact cache provides the following public methods for
external callers, but was hiding them away as if they are private.
o ArtifactCache.add_artifact_size()
o ArtifactCache.set_cache_size()
Mark these properly public
-
00784059
by Tristan Van Berkom
at 2018-09-10T07:53:56Z
_scheduler: API fixes; _check_cache_size_real() -> check_cache_size()
Here we have a very private looking _check_cache_size_real() function
which no-one would ever want to call from outside of the _scheduler,
especially given it's `_real()` prefix we should look for another
outward facing API to use.
However this is not private to the scheduler, and is intended to
be called by the `Queue` implementations.
o Renamed this to check_cache_size()
o Moved it to the public API section of the Scheduler object
o Added the missing API documenting comment
o Also added the missing API documenting comment to the private
`_run_cleanup()` callback which runs in response to completion
of the cache size calculation job.
o Also place the cleanup job logs into a cleanup subdirectory,
for better symmetry with the cache_size jobs which now have
their own subdirectory
-
a3825ba6
by Tristan Van Berkom
at 2018-09-10T07:53:56Z
_artifactcache/artifactcache.py: Removing unused variable.
The ArtifactCache._local variable used to exist in order to
use a special hack to allow absolute paths to a remote artifact
cache, this was all for the purpose of testing.
This has all gone away with the introduction of CAS, leaving behind
a stale variable.
-
791f7dda
by Tristan Van Berkom
at 2018-09-10T07:53:56Z
_artifactcache/artifactcache.py: Sealing away some the estimated size
Previously, the API contract was to expose the estimated_size variable
on the ArtifactCache instance for all to see, however it is only relevant
to the ArtifactCache abstract class code. Subclasses were informed to
update the estimated_size variable in their calculate_cache_size()
implementation.
To untangle this and hide away the estimated size, this commit
does the following:
o Introduces ArtifactCache.compute_cache_size() API for external
callers
o ArtifactCache.compute_cache_size() calls the abstract method
for the CasCache subclass to implement
o ArtifactCache.compute_cache_size() updates the private
estimated_size variable
o All direct callers to ArtifactCache.calculate_cache_size(),
have been updated to use the ArtifactCache.compute_cache_size()
method instead, which takes care of updating anything local
to the ArtifactCache abstract class code (the estimated_size)
-
cbfddc13
by Tristan Van Berkom
at 2018-09-10T07:53:56Z
element.py: Remove _get_artifact_size()
There is no justification to hold onto this state here.
Instead, just make `Element._assemble()` return the size of the
artifact it cached, and localize handling of that return value in
the BuildQueue implementation where the value is observed.
-
8b748f2d
by Tristan Van Berkom
at 2018-09-10T07:53:57Z
_scheduler/jobs/cachesizejob.py: Use Platform.get_platform() public accessor
This was previously poking directly at the Platform._instance.
Also, use the name 'artifacts' to hold the artifact cache to
be consistent with other parts of the codebase, instead of
calling it 'cache'.
-
742908ea
by Tristan Van Berkom
at 2018-09-10T07:53:57Z
_scheduler/jobs/cleanupjob.py: Use Platform.get_platform() public accessor
This was previously poking directly at the Platform._instance.
Also, use the name 'artifacts' to hold the artifact cache to
be consistent with other parts of the codebase, instead of
calling it 'cache'.
-
335b2fdd
by Tristan Van Berkom
at 2018-09-10T07:53:57Z
element.py: Remove _get_artifact_cache() accessor.
The artifact cache is anyway a singleton, the Element itself
has an internal handle on the artifact cache because it is
needed very frequently; but an artifact cache is not element
specific and should not be looked up by surrounding code
on a per element basis.
Updated _scheduler/queues/queue.py, _scheduler/queues/buildqueue.py
and _scheduler/jobs/elementjob.py to get the artifact cache directly
from the Platform
-
6db54c8f
by Tristan Van Berkom
at 2018-09-10T07:53:57Z
_artifactcache: There shalt be only one cache size
This does a lot of house cleaning, finally bringing cache
cleanup logic to a level of comprehensibility.
Changes in this commit include:
o _artifactcache/artifactcache.py: _cache_size, _cache_quota and
_cache_lower_threshold are now all private variables.
get_approximate_cache_size() is now get_cache_size()
Added get_quota_exceeded() for the purpose of safely checking
if we have exceeded the quota.
set_cache_size() now asserts that the passed size is not None,
it is not acceptable to set a None size cache anymore.
o _artifactcache/cascache.py: No longer set the ArtifactCache
'cache_size' variable violently in the commit() method.
Also the calculate_cache_size() method now unconditionally
calculates the cache size, that is what it's for.
o _scheduler/jobs/cachesizejob.py & _scheduler/jobs/cleanupjob.py:
Now check the success status. Don't try to set the cache size
in the case that the job was terminated.
o _scheduler/jobs/elementjob.py & _scheduler/queues/queue.py:
No longer passing around the cache size from child tasks,
this happens only explicitly, not implicitly for all tasks.
o _scheduler/queues/buildqueue.py & _scheduler/scheduler.py:
Use get_quota_exceeded() accessor
This is a part of #623
-
958ef8ef
by Tristan Van Berkom
at 2018-09-10T09:23:06Z
Merge branch 'tristan/fix-cache-exclusivity' into 'master'
_scheduler/queues: Mark build and pull queue as requiring shared access to the CACHE
See merge request BuildStream/buildstream!775
-
40f25512
by Richard Maw
at 2018-09-10T12:29:15Z
subprocesses: Ensure PWD is set in process environment
Naive getcwd implementations (such as in bash 4.4) can break
when bind-mounts to different paths on the same filesystem are present,
since the algorithm needs to know whether it's a mount-point
to know whether it can trust the inode value from the readdir result
or to use stat on the directory.
Less naive implementations (such as in glibc) iterate again using stat
in the case of not finding the directory because the inode in readdir was wrong,
though a Linux-specific implementation could use name_to_handle_at.
Letting the command know what directory it is in makes it unnecessary
for it to call the faulty getcwd in the first place.
-
247686dc
by richardmaw-codethink
at 2018-09-10T14:47:48Z
Merge branch 'richardmaw/subprocess-PWD' into 'master'
Ensure PWD is set in process environment
See merge request BuildStream/buildstream!782
-
ef66daf5
by Tiago Gomes
at 2018-09-10T14:57:41Z
tests: avoid setting max-jobs
Setting "max-jobs" won't be allowed anymore in a following commit.
-
a37bc6ce
by Tiago Gomes
at 2018-09-10T14:57:41Z
docs: document protected variables
And remove then from the defaults as they are dynamically set by
BuildStream.
-
af74a3f8
by Tiago Gomes
at 2018-09-10T14:57:41Z
element: validate configuration variables
Ensure that protected variables are not being redefined by the user.
-
75c55633
by Tiago Gomes
at 2018-09-10T14:57:41Z
Add tests for validating configuration variables
-
e0bb71b2
by Tiago Gomes
at 2018-09-10T15:27:53Z
Merge branch 'tiagogomes/issue-287' into 'master'
Add validation of configuration variables
See merge request BuildStream/buildstream!678
-
47f3064a
by Jürg Billeter
at 2018-09-10T15:43:25Z
_artifactcache/casserver.py: Implement Capabilities service
-
1a7fb3cb
by Jürg Billeter
at 2018-09-10T15:43:25Z
_artifactcache/casserver.py: Implement BatchReadBlobs
Fixes #632.
-
b3ffcdc8
by Jürg Billeter
at 2018-09-10T16:07:30Z
Merge branch 'juerg/cas-batch' into 'master'
_artifactcache/casserver.py: Implement BatchReadBlobs
Closes #632
See merge request BuildStream/buildstream!785
-
6f925bcb
by Javier Jardón
at 2018-09-13T07:38:48Z
source/install_source.rst: pip plugin depends on host pip
-
c6155f8d
by Javier Jardón
at 2018-09-13T08:11:54Z
Merge branch 'jjardon/pip_dependency' into 'master'
source/install_source.rst: pip plugin depends on host pip
See merge request BuildStream/buildstream!791
-
19838a07
by Chandan Singh
at 2018-09-13T10:58:38Z
README.rst: Add status badges for PyPI release and Python versions
The first badge will work fine right away while the second badge will
show "not found" until a release is made after merging this branch:
https://gitlab.com/BuildStream/buildstream/merge_requests/718.
-
3b81d451
by Chandan Singh
at 2018-09-13T12:27:59Z
Merge branch 'chandan/pypi-badge' into 'master'
README.rst: Add status badges for PyPI release and Python versions
See merge request BuildStream/buildstream!719
-
55956762
by Richard Maw
at 2018-09-13T16:50:33Z
element: Remove __cached field
This can get out of sync with other two cache states,
and we can do without it.
-
fc7f83ac
by richardmaw-codethink
at 2018-09-13T17:14:31Z
Merge branch 'richardmaw/element-cache-state-simplify' into 'master'
Simplify element state by removing `__cached`
See merge request BuildStream/buildstream!784
-
233a7d83
by Richard Maw
at 2018-09-14T08:53:14Z
Handle sockets when copying trees into artifacts
We can't include a socket in a CAS tree, but it's mostly meaningless to do so
since there can't possibly be a process serving it.
-
f06f234a
by Richard Maw
at 2018-09-14T08:53:14Z
tests: cover builds that make sockets
-
f86ab8f6
by richardmaw-codethink
at 2018-09-14T09:46:07Z
Merge branch 'richardmaw/builddir-sockets' into 'master'
Fix: While caching build artifact: "Cannot extract [path to socket file] into staging-area. Unsupported type."
See merge request BuildStream/buildstream!783
-
e7427462
by Richard Maw
at 2018-09-14T10:28:17Z
tests: Use cli.configure for custom logging test
Overriding the config with a custom config file on the command-line
prevents it merging in the test-specific configuration
and can permit it to attempt to initialise the user's cache.
-
800a8403
by Richard Maw
at 2018-09-14T10:28:17Z
Tidy relative workspace tests
They were moving the whole tmpdir to move the project repository.
This moves the cache directories etc. as well, meaning cli.run can't find them.
This was worked around by setting configure=False,
but this has the side-effect of making use of the user's caches,
which it should not be doing for reproducibility reasons.
By changing the tempdir layout to have the project in a subdirectory
we can move the project around for the relative workspace tests
without losing track of the configured state directories,
so we can leave configure=True and avoid touching the user's caches.
-
d7152ef4
by richardmaw-codethink
at 2018-09-14T10:55:16Z
Merge branch 'richardmaw/test-config-fixes' into 'master'
Fix tests that attempt to access the home directory
See merge request BuildStream/buildstream!780
-
160bb0c6
by Tristan Van Berkom
at 2018-09-14T12:07:46Z
_artifactcache/artifactcache.py: Changes to mark_required_elements()
This was previously append_required_artifacts(), which presumed that
we knew at startup time what the cache keys of all elements in the
loaded pipeline would be.
This fixes unexpected deletions of required artifacts when
dynamic tracking is enabled with `bst build --track-all target.bst`
-
39125d24
by Tristan Van Berkom
at 2018-09-14T12:07:46Z
tests/artifactcache/expiry.py: Cleanup of test for required artifacts
This commit renames test_never_delete_dependencies() to
test_never_delete_required(), renders the test more readable by renaming
some elements and reordering some statements and makes the comments more
straight forward and accurate.
-
f60558a3
by Tristan Van Berkom
at 2018-09-14T12:07:46Z
tests/artifactcache/expiry.py: Assert the expected errors
These tests were not checking that we fail for the expected reasons.
Added `res.assert_task_error(ErrorDomain.ARTIFACT, 'cache-too-full')`
where we expect to fail because the cache is too full.
-
ce68fd27
by Tristan Van Berkom
at 2018-09-14T12:07:46Z
testutils/repo/git.py: Added modify_file() method
This allows one to modify a file in an existing git repo,
as opposed to adding a new one.
-
532ec1eb
by Tristan Van Berkom
at 2018-09-14T12:07:46Z
testutils/element_generators.py: Changing sized element functions
* create_element_size()
Now uses a git Repo object instead of a local source, and
returns the repo.
* update_element_size()
Added this function which can now resize the expected output
of an element generated with create_element_size(), useful
to allow testing sized elements with the tracking feature.
-
20b797cb
by Tristan Van Berkom
at 2018-09-14T12:07:46Z
tests/artifactcache/expiry.py: Added test_never_delete_required_track()
Same test as test_never_delete_required(), except that this test ensures
that we never delete required artifacts when their cache keys are
discovered dynamically during the build.
-
c2af0d51
by Tristan Van Berkom
at 2018-09-14T12:44:42Z
Merge branch 'tristan/fix-required-artifacts' into 'master'
Don't delete required artifacts when tracking is enabled
See merge request BuildStream/buildstream!793
-
924cdc75
by Tiago Gomes
at 2018-09-14T15:32:01Z
core: remove unused variable on Context
-
510ccbfd
by Tiago Gomes
at 2018-09-14T15:32:21Z
artifactcache: fix oversight
We want to check if some file is already cached here, not the parent
directory.
-
82d4e2ac
by Tiago Gomes
at 2018-09-14T15:32:21Z
scheduler: add missing copyright
Tristan Maat created the original file, so he is added as the author.
-
18b37aab
by Tiago Gomes
at 2018-09-14T15:34:10Z
artifactcache: improve _create_tree()
* Rename it to _commit_directory() because… it is what it does; and
also for symmetry with _fetch_directory().
* Rename digest to dir_digest to make it clear this is a digest for a
directory. A following commit will also reuse the same variable name
* Document method.
-
32fad24f
by Tiago Gomes
at 2018-09-14T15:38:41Z
artifactcache: improve _fetch_directory()
* Rename tree to dir_digest to make it clear this is a Digest object,
and not a Tree object.
* Add documentation
-
46cbd889
by Tiago Gomes
at 2018-09-14T15:38:43Z
artifactcache: rename get_quota_exceeded()
-
2fa92716
by Tiago Gomes
at 2018-09-14T15:38:43Z
scheduler: minor cleanups to CleanupJob
Remove unneeded cruft.
-
c285f244
by Tiago Gomes
at 2018-09-14T16:08:07Z
Merge branch 'tiagogomes/some-cleanups' into 'master'
Bunch of cleanups
See merge request BuildStream/buildstream!798
-
662d22a9
by Tristan Van Berkom
at 2018-09-16T08:54:00Z
buildstream/_frontend/complete.py: Added missing click license compliance
Somehow I missed this when originally forking the file from the click
library, now noticing that we should have followed what was written
in: https://github.com/pallets/click/blob/master/LICENSE
-
a344407b
by Richard Maw
at 2018-09-16T10:22:59Z
sandbox: deduplicate default environment logic
-
c8fab440
by Richard Maw
at 2018-09-16T10:22:59Z
Bump Artifact Version
Since we now set PWD in the environment of builds
existing builds may behave differently so must cache differently now.
-
eb9481da
by Richard Maw
at 2018-09-16T10:22:59Z
Cachekey update helper: Document ensuring . in PYTHONPATH
The current directory isn't always in the python module search path,
so we have to ensure it is for the script to work.
Strictly speaking, the user may already have a modified PYTHONPATH
at which point PYTHONPATH=".${PYTHONPATH+:$PYTHONPATH}" is necessary,
but it's probably premature to overcomplicate the documentation like that
before we discover it's a problem.
-
9b7b2a25
by Tristan Van Berkom
at 2018-09-16T10:50:36Z
Merge branch 'richardmaw/subprocess-PWD' into 'master'
Address post-merge review of Ensure PWD is set in process environment
See merge request BuildStream/buildstream!788
-
8db62230
by Adam Jones
at 2018-09-17T07:39:06Z
Add a section on how to raise an issue
-
6f0a3e98
by Adam Jones
at 2018-09-17T07:39:20Z
Rename HACKING.rst to CONTRIBUTING.rst
-
ade19151
by Adam Jones
at 2018-09-17T07:40:45Z
update HACKING references
-
b9c5ff7d
by Tristan Van Berkom
at 2018-09-17T08:09:12Z
Merge branch 'tristan/contributing-guide' into 'master'
Update contributing guide
See merge request BuildStream/buildstream!801
-
727f2faa
by Tristan Van Berkom
at 2018-09-18T07:43:07Z
_project.py: Fix option resolution in element & source overrides
This ensures that option expressions are resolved in the project
level overrides before attempting to composite them on the instantiated
elements. Seems this is a regression from introducing the include
directive.
This fixes issue #658
-
ffa0bb36
by Tristan Van Berkom
at 2018-09-18T07:47:44Z
tests/format/optionoverrides.py: Added test for options in element overrides
This is a regression test for issue #658
-
f2ae46f8
by Tristan Van Berkom
at 2018-09-18T08:14:23Z
Merge branch 'tristan/fix-override-options' into 'master'
Fix override options
Closes #658
See merge request BuildStream/buildstream!802
-
7b117e40
by Daniel Silverstone
at 2018-09-18T08:41:32Z
_artifactcache/artifactcache.py: Ensure no double-setup of remotes
Since ArtifactCache.setup_remotes() can be expensive and should only
happen once, this commit will assert() if it is called a second time
on an artifact cache instance.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
345f5f49
by Daniel Silverstone
at 2018-09-18T08:41:32Z
tests/artifactcache/pull.py: Do not double-initialize remotes
The initialization of remotes is done by ArtifactCache.setup_remotes()
and as such it was wrong for these tests to be calling
CASCache.initialize_remotes() a second time.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
e32221b6
by Daniel Silverstone
at 2018-09-18T08:45:50Z
sandbox/_sandboxremote.py: Acquire artifact cache via Platform
The SandboxRemote used to construct its own CASCache which was
considered dangerous. This patch replaces that with acquisition of
the cache via the Platform singleton, hopefully eliminating issues
from having more than one artifact cache object in a single process.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
b587579f
by Tristan Van Berkom
at 2018-09-18T09:53:26Z
Merge branch 'danielsilverstone-ct/fix-654' into 'master'
sandbox/_sandboxremote.py: Acquire cache via Platform
See merge request BuildStream/buildstream!797
-
30b41959
by Tristan Van Berkom
at 2018-09-18T09:56:45Z
_artifactcache/artifactcache.py: Error out gracefully when push remote is mal-specified
When configuring a push remote and specifying either the client-cert
or the client-key, then both must be specified. This ensures we
get an informative error instead of a stack trace and BUG.
Fixes issue #625
-
41e8dc81
by Tristan Van Berkom
at 2018-09-18T09:56:45Z
tests/artifactcache/config.py: Added test for invalid push remote configuration
Test that we get the expected error when configuring a client-cert
without client-key, or the inverse.
-
97071b6e
by Tristan Van Berkom
at 2018-09-18T10:16:43Z
Merge branch 'tristan/fix-artifact-config-crash' into 'master'
Fix artifact config crash
Closes #625
See merge request BuildStream/buildstream!804
-
081dcafa
by Richard Maw
at 2018-09-18T13:22:38Z
fuse: Report the correct device number for devices
This fixes all devices being mapped to the non-existant device 0,
which prevents being able to use even safe devices like /dev/null
through the hardlinks FUSE layer.
-
d0425608
by Richard Maw
at 2018-09-18T13:22:38Z
FUSE: Mount with -odev in chroot sandbox
This is needed to permit access to the device nodes added to /dev
on Linux when FUSE is used as root.
The chroot sandbox only works with all privileges,
so there's no explicit check for being root
or having the appropriate capabilities.
A check for whether it's running as root isn't needed on Linux with bubblewrap
because /dev or its devices are mounted on top of the FUSE layer,
so device nodes are accessed directly rather than through the FUSE layer.
-
8430fdc7
by Richard Maw
at 2018-09-18T13:22:38Z
tests: test that integration commands can use /dev
-
d8450166
by Tristan Van Berkom
at 2018-09-18T13:50:15Z
Merge branch 'richardmaw/fix-chroot-sandbox-devices' into 'master'
fix chroot sandbox devices
See merge request BuildStream/buildstream!781
-
ba4da3a4
by knownexus
at 2018-09-18T16:45:09Z
Incorrect error when malformed project.conf
bst build returns "missing project.conf" when a project.conf is invalid
This results in an existing project with malformed yaml being dismissed
and attempts to make a new project
Added new exception
-
89a16e17
by knownexus
at 2018-09-18T16:45:09Z
Adding test for Invalid Yaml
-
72b59021
by Phillip Smyth
at 2018-09-19T08:48:51Z
Merge branch 'issue-642-Invalid_project.conf_seen_as_missing' into 'master'
Incorrect error when malformed project.conf
Closes #642
See merge request BuildStream/buildstream!792
-
ca811a4d
by Josh Smith
at 2018-09-19T09:25:21Z
Rework Skipped usage
The SKIPPED message type is now used to indicate the end of a task which
was successful without having to perform the given task.
This overhauls the use of `Queue.done()` and therefore queues do not
need to provide a processed/skipped return value from `done()`. Instead
this is replaced with the action of raising a `SkipJob` exception from
within `Queue.process()`.
-
16fbc3e3
by Josh Smith
at 2018-09-19T09:25:21Z
tests.py: Test skip on push
Adds a test to ensure that BuildStream alerts the user of a skipped push
when the remote already has the artifact cached.
-
ab56f693
by Josh Smith
at 2018-09-19T09:25:21Z
element.py: Remove redundant timed_activity
This removes the timed_activity for an element _push action. This is
unnecessary as the job is already being timed elsewhere.
-
198fbfe8
by Josh Smith
at 2018-09-19T09:25:21Z
cascache.py: Move push/pull messaging to cascache
Pulled/Pushed messages will no longer be produced from within
element.py, instead they will be produced during CasCache push() and
pull() appropriately.
Message consistency has also been improved.
-
213f7794
by Josh Smith
at 2018-09-19T09:25:21Z
cascache.py: Modify messaging API calls
Both pulling and pushing INFO messages are now status messages.
Calls to the messaging API through `self.context.message()` have now
been switched to `element.info`.
-
dddd6025
by Qinusty
at 2018-09-19T10:59:48Z
Merge branch 'Qinusty/skipped-rework' into 'master'
Add SkipJob for indicating a skipped activity
See merge request BuildStream/buildstream!765
-
16d9c6e5
by Tristan Van Berkom
at 2018-09-19T11:08:33Z
_frontend/status.py: Completely remove the blessings dependency from BuildStream
This actually improves reliability of the status bar because we
now disable it completely in the case that not all of the terminal
escape sequences are supported on the given terminal.
This replaces the few functions we were using, to move the cursor
up one line, move it to the beginning of the line, and to clear a
line, with low level functions provided by the curses module in
the standard library.
This change makes it easier for downstream distro package maintainers
to package BuildStream, particularly on Fedora.
Asides from changing _frontend/status.py, this commit includes the
following changes:
* _frontend/app.py: Use python isatty() function to determine if
we are connected to a tty, instead of relying
on blessings.
* setup.py: Remove the dependency on blessings.
-
7dd74b01
by Tristan Van Berkom
at 2018-09-19T11:27:55Z
Merge branch 'tristan/remove-blessings' into 'master'
_frontend/status.py: Completely remove the blessings dependency from BuildStream
See merge request BuildStream/buildstream!808
-
335d5a45
by Adam Jones
at 2018-09-19T13:00:45Z
Fix rst links for guideline links
-
667dd4ca
by Javier Jardón
at 2018-09-19T13:25:36Z
Merge branch 'adamjones/contributing-links' into 'master'
Fix rst link formatting for guideline links
See merge request BuildStream/buildstream!811
-
68ef69e4
by Tristan Van Berkom
at 2018-09-21T05:20:46Z
source.py: Fix re-instantiation
This fixes an issue where the re-instantiated Source used with
Source mirroring enabled is not completely initialized.
Failing to load the ref from the project.refs file for instance,
will result in a crash at `fetch` time.
This fixes issue #666
-
662c729f
by Tristan Van Berkom
at 2018-09-21T05:59:30Z
Merge branch 'tristan/fix-source-reinstantiation' into 'master'
source.py: Fix re-instantiation
Closes #666
See merge request BuildStream/buildstream!817
-
461a0588
by Jim MacArthur
at 2018-09-21T10:53:11Z
element.py: Remove early warning and check directory is not None
The check for directory should have always been here. The early warning
test doesn't work for `bst checkout` because caches haven't been configured
at the point of the test, so I've had to remove it.
-
aa9caaac
by Jim MacArthur
at 2018-09-21T10:53:11Z
_sandboxremote.py: Ignore return value of push_directory
The return value is always upload_vdir.ref.
-
2aae68c7
by Jim MacArthur
at 2018-09-21T10:53:11Z
cascache.py: make push_remote raise exception if no push remotes exist
Also add docstring to method and remove return value since it was useless
-
ca1bb72c
by Jim MacArthur
at 2018-09-21T10:53:11Z
tests/artifactcache/push.py: Ignore return value of push_directory
-
55c93a82
by Jim MacArthur
at 2018-09-21T11:26:55Z
Merge branch 'jmac/remote_exec_checkout_fix' into 'master'
Remote exec: Remove early warning and check directory is not None
See merge request BuildStream/buildstream!800
-
e209beb0
by Chandan Singh
at 2018-09-21T13:10:08Z
_stream.py: Ensure source-bundle's source directory exists
Currently, `source-bundle` command is entirely broken as it tries to stage the
sources in a directory that doesn't exist. Fix it by ensuring that we create
the necessary directories before calling any methods that try to use those
directories.
This fix comes with a regression test to ensure that the basic use-case
of `source-bundle` continues to work in future.
Fixes https://gitlab.com/BuildStream/buildstream/issues/651.
-
0b000518
by Chandan Singh
at 2018-09-21T13:56:55Z
Merge branch 'chandan/fix-source-bundle' into 'master'
Fix source-bundle command
Closes #651
See merge request BuildStream/buildstream!807
-
ef26043a
by Chandan Singh
at 2018-09-21T17:14:16Z
setup.py: Make website the primary homepage
-
1b2aed40
by Chandan Singh
at 2018-09-21T17:40:11Z
Merge branch 'chandan/update-project-homepage' into 'master'
setup.py: Make website the primary homepage
See merge request BuildStream/buildstream!795
-
da7e038b
by Jürg Billeter
at 2018-09-24T13:58:55Z
element.py: Fix cache check in non-strict mode
The behavior of __assert_cached() was changed when the keystrength
parameter was introduced. This restores the previous behavior.
Fixes #607.
Fixes: 3d308894 ("element.py: Cache the result of checking whether...")
-
86ea1173
by Jürg Billeter
at 2018-09-24T13:59:59Z
tests/frontend/rebuild.py: Add strict/non-strict rebuild test
Test rebuild that requires staging of weakly cached dependency.
This is a regression test for #607.
-
a76339de
by Jürg Billeter
at 2018-09-24T16:02:38Z
Merge branch 'juerg/rebuild' into 'master'
element.py: Fix cache check in non-strict mode
Closes #607
See merge request BuildStream/buildstream!822
-
b199afe6
by Jürg Billeter
at 2018-09-25T09:01:51Z
_artifactcache/cascache.py: Add _ensure_blob helper
This adds directory objects to the local repository before downloading
files in the directory. However, artifact references are still stored
only after downloading the complete directory and thus, there won't be
dangling references. This will anyway be required for partial download
support.
-
7d199322
by Jürg Billeter
at 2018-09-25T09:01:51Z
_artifactcache/cascache.py: Increase payload size limit for uploads
gRPC can handle 1 MiB payloads. Increase size limit from 64 KiB to speed
up uploads.`
-
e2e24015
by Jürg Billeter
at 2018-09-25T09:01:51Z
_artifactcache/casserver.py: Harmonize payload size limit
Use 1 MiB as payload size limit on the server side for both individual
downloads and batch uploads.
-
697d10f2
by Jürg Billeter
at 2018-09-25T09:01:51Z
_artifactcache/cascache.py: Use BatchReadBlobs
This uses BatchReadBlobs instead of individual blob download to speed up
artifact pulling, if the server supports it.
Fixes #554.
-
81c51dbf
by Jürg Billeter
at 2018-09-25T09:31:55Z
Merge branch 'juerg/cas-batch' into 'master'
_artifactcache/cascache.py: Use BatchReadBlobs
Closes #554
See merge request BuildStream/buildstream!813
-
2df7d140
by Jim MacArthur
at 2018-09-25T10:36:37Z
sandbox.py: Stop caching get_virtual_directory if get_directory is used
Also update the documentation for get_virtual_directory to make the
implications of using both methods clearer.
-
62f59382
by Jim MacArthur
at 2018-09-25T10:36:37Z
element.py/_assemble(): Call get_virtual_directory later.
-
8cea7b17
by Jim MacArthur
at 2018-09-25T10:58:40Z
Merge branch 'jmac/stop-caching-vdirs' into 'master'
Stop caching virtual directories if get_directory is used.
See merge request BuildStream/buildstream!818
-
83ab183e
by Tiago Gomes
at 2018-09-25T16:37:30Z
CI: test building freedesktop-sdk overnight
Closes #514.
-
c8594806
by Tiago Gomes
at 2018-09-25T17:03:55Z
Merge branch 'tiagogomes/issue-514' into 'master'
CI: test building freedesktop-sdk overnight
Closes #514
See merge request BuildStream/buildstream!826
-
fdbf9be1
by Tiago Gomes
at 2018-09-26T08:17:46Z
ci: update freedesktop-sdk ref
The current one doesn't build due server being down.
-
9280b0cf
by Tiago Gomes
at 2018-09-26T15:54:53Z
ci: add ACME challenge
To finish the creation of the Let's Encrypt certificate, which will
allows us to use https://docs.buildstream.build/ for accessing the
documentation.
-
af131503
by Tiago Gomes
at 2018-09-26T16:35:58Z
Merge branch 'tiagogomes/acme-challenge' into 'master'
ci: add ACME challenge
See merge request BuildStream/buildstream!831
-
f7f14f25
by Tiago Gomes
at 2018-09-26T17:42:12Z
ci: add missing `-p` argument
-
0f2bc375
by Martin Blanchard
at 2018-09-27T08:46:27Z
_protos: Import google.rpc.Code proto
Imports code.proto from https://github.com/googleapis/googleapis and
corresponding modules generated with ./setup.py build_grpc.
https://gitlab.com/BuildStream/buildstream/issues/668
-
16cf9d5f
by Martin Blanchard
at 2018-09-27T08:46:27Z
_sandboxremote.py: Handle remote build execution exit code
https://gitlab.com/BuildStream/buildstream/issues/668
-
f5f3cb7c
by Jim MacArthur
at 2018-09-27T09:16:38Z
Merge branch 'mablanch/668-remote-build-failure' into 'master'
Better handle remote build failures
See merge request BuildStream/buildstream!825
-
b99a6740
by Jürg Billeter
at 2018-09-27T09:18:03Z
element.py: Add __use_remote_execution() helper method
-
f8bbe008
by Jürg Billeter
at 2018-09-27T09:18:03Z
_platform: Add check_sandbox_config() method
-
f9494f1f
by Jürg Billeter
at 2018-09-27T09:18:03Z
element.py: Validate sandbox config
-
b4ad84c3
by Jürg Billeter
at 2018-09-27T09:18:03Z
_platform/linux.py: Remove redundant message
Unsupported sandbox config (UID/GID) is now reported by the element.
-
966af3d2
by Jürg Billeter
at 2018-09-27T09:18:03Z
_platform/linux.py: Do not disable push globally
On systems without user namespace support, elements with unsupported
sandbox config (UID/GID) are now individually tainted, which disables
artifact push.
-
f08e5eae
by Jürg Billeter
at 2018-09-27T09:18:03Z
_artifactcache/cascache.py: Remove unused enable_push parameter
-
10ed9158
by Jürg Billeter
at 2018-09-27T09:18:03Z
_artifactcache: Add preflight() method
-
7aec8b0f
by Jürg Billeter
at 2018-09-27T09:18:03Z
Move artifact cache creation to Context
The artifact cache is no longer platform-specific.
-
a5025c33
by Jürg Billeter
at 2018-09-27T09:18:03Z
_loader: Migrate to Context.artifactcache
-
ef1cb374
by Jürg Billeter
at 2018-09-27T09:18:03Z
_scheduler: Migrate to Context.artifactcache
-
52991be1
by Jürg Billeter
at 2018-09-27T09:18:03Z
_stream.py: Migrate to Context.artifactcache
-
cb6b35dc
by Jürg Billeter
at 2018-09-27T09:18:42Z
sandbox/_sandboxremote.py: Migrate to Context.artifactcache
-
28c62b00
by Jürg Billeter
at 2018-09-27T09:18:43Z
_platform/platform.py: Remove unused artifactcache property
-
99e90918
by Jürg Billeter
at 2018-09-27T09:19:12Z
_artifactcache/casserver.py: Use Context for artifact cache creation
-
b8f920e2
by Jürg Billeter
at 2018-09-27T09:19:12Z
storage/_casbaseddirectory.py: Use Context for artifact cache creation
-
3d88c5d4
by Jürg Billeter
at 2018-09-27T09:19:12Z
tests/testutils: Use Context for artifact cache creation
-
ed878cb6
by Jürg Billeter
at 2018-09-27T09:19:12Z
tests/artifactcache/pull.py: Use Context for artifact cache creation
-
fe82c9c2
by Jürg Billeter
at 2018-09-27T09:19:12Z
tests/artifactcache/push.py: Use Context for artifact cache creation
-
0d0f700d
by Jürg Billeter
at 2018-09-27T09:19:12Z
_platform: Remove unused context
-
dd770ec3
by Jürg Billeter
at 2018-09-27T09:19:12Z
Use lazy platform instantiation
Now that the platform is independent of the context, explicit
instantiation is no longer required. This avoids issues with platform
instances used across test cases with mismatching context.
-
44da8175
by Jürg Billeter
at 2018-09-27T09:48:20Z
Merge branch 'juerg/platform' into 'master'
Make platform independent of context
See merge request BuildStream/buildstream!829
-
900e8900
by Jürg Billeter
at 2018-09-27T13:12:34Z
git.py: Make `ref` human readable
Use `git describe` to prefix `ref` with closest tag, if available.
-
107269c1
by Jürg Billeter
at 2018-09-27T13:12:34Z
testutils/repo/git.py: Add add_tag() method
-
8060ad8c
by Jürg Billeter
at 2018-09-27T13:12:34Z
tests/sources/git.py: Add track and fetch test with and without tag
-
ab1cb672
by Jürg Billeter
at 2018-09-27T13:46:41Z
Merge branch 'juerg/git-describe' into 'master'
git.py: Make `ref` human readable
See merge request BuildStream/buildstream!291
-
fcf37f9c
by knownexus
at 2018-09-27T14:22:09Z
Added `set_resource_limits()` to platform
This has been moved from app.py
As it will have different functionality depending on platform
Once the Darwin (MacOS) platform is added
Removed `resource.setrlimit()` functionality from app.py
Added `resource.setrlimit()` functionality to platform.py as function
-
80ebdd2c
by knownexus
at 2018-09-27T14:22:09Z
Added FUSE check, as WSL does not support FUSE yet
_platform/linux.py: Add FUSE check
And Ensure exception is not raised when performing sandbox availability check
Without this check, WSL would error upon finding FUSE missing
This must be bypassed to allow remote execution
-
5e81573b
by knownexus
at 2018-09-27T14:22:09Z
Max-jobs is now defined on a platform basis
This is due to Darwin (MacOS) having a different Max-Jobs limit
_platform/platform.py: Adding max-jobs call
_project.py: redirected 'max-jobs' to point at the platform
-
3c93fe97
by knownexus
at 2018-09-27T14:22:09Z
Adding Dummy sandbox
This is to allow platforms that do not support sandboxing
To error in a controlled/known way
-
0f3ef369
by knownexus
at 2018-09-27T14:22:24Z
Adding darwin.py (MacOS) platform
Adding functionality to recognise Darwin as a platform in plaform.py
-
b78ae767
by knownexus
at 2018-09-27T14:29:29Z
utils.py: Reworked safe_remove
Non-Linux platforms don't return EISDIR when attempting to unlink a
directory.
Stopped safe_remove attempting to unlink dirs
Previously safe_remove would attempt to unlink a path
Before attempting to remove it if it was a dir
Now it checks for a dir before that step
-
ab5e78b4
by James Ennis
at 2018-09-27T14:29:32Z
Import sandbox subclass when instantiating sandbox
This patch was required due to not being able to execute `bst` on
a Linux machine without FUSE available.
-
261f65ca
by Jürg Billeter
at 2018-09-27T14:54:47Z
Merge branch 'mac_fixes' into 'master'
Implement compatibility fixes for MacOSX and WSL Blocks #411 and #412"
See merge request BuildStream/buildstream!726
-
d2ea3069
by Richard Maw
at 2018-09-27T15:16:57Z
tests: Add regression test for pushing failed builds
This test ensures that failed builds are pushed when set to on-error=quit.
Closes https://gitlab.com/BuildStream/buildstream/issues/534
-
c128429a
by richardmaw-codethink
at 2018-09-27T15:42:18Z
Merge branch 'richardmaw/push-failed-build-regression' into 'master'
tests: Add regression test for pushing failed builds
Closes #534
See merge request BuildStream/buildstream!824
-
e91eb38b
by Valentin David
at 2018-09-27T16:32:57Z
Fix outside-of-project check when project path is not canonical.
The issue happens on Silverblue where /home is a symlink to /var/home.
With this element-path is something like
/var/home/user/project/elements, when the project path is
/home/usr/project. Comparing canonical paths solves the issue.
Fixes #673
-
7babd55c
by Tiago Gomes
at 2018-09-27T16:57:12Z
Merge branch 'valentindavid/silverblue-path' into 'master'
Fix outside-of-project check when project path is not canonical.
Closes #673
See merge request BuildStream/buildstream!832
-
5cdfac81
by Mathieu Bridon
at 2018-09-28T09:20:20Z
data/userconfig.yaml: Document the cache.quota setting
-
5d3f039f
by Tom Pollard
at 2018-09-28T10:34:13Z
Merge branch 'bochecha/cache-size' into 'master'
data/userconfig.yaml: Document the cache.quota setting
See merge request BuildStream/buildstream!833
-
14e1a3b3
by Jürg Billeter
at 2018-10-01T08:18:05Z
_platform: Fix get_cpu_count() with cap=None
Comparison between None and integer is not supported.
-
232662f1
by Jürg Billeter
at 2018-10-01T08:53:06Z
Merge branch 'juerg/cpucount' into 'master'
_platform: Fix get_cpu_count() with cap=None
See merge request BuildStream/buildstream!840
-
f447aedd
by Tiago Gomes
at 2018-10-01T10:33:11Z
ci: upper case variables
For consistency.
-
682dddce
by Tiago Gomes
at 2018-10-01T10:35:12Z
ci: correct freedestop-sdk version comment
-
fafa8136
by Tiago Gomes
at 2018-10-01T10:59:54Z
Merge branch 'tiagogomes/ci-minor-tweaks' into 'master'
Minor CI tweaks
See merge request BuildStream/buildstream!842
-
26e1a3c7
by Jürg Billeter
at 2018-10-01T14:58:06Z
_artifactcache/casserver.py: Implement BatchUpdateBlobs
Fixes #676.
-
f47895c0
by Jürg Billeter
at 2018-10-01T14:58:06Z
_artifactcache/cascache.py: Use BatchUpdateBlobs
This uses BatchUpdateBlobs instead of individual blob upload to speed up
artifact pushing, if the server supports it.
Fixes #677.
-
cf00c0a1
by Jürg Billeter
at 2018-10-01T15:32:30Z
Merge branch 'juerg/cas-batch' into 'master'
CAS: Implement BatchUpdateBlobs support
Closes #677 and #676
See merge request BuildStream/buildstream!839
-
5f4ae90b
by Jürg Billeter
at 2018-10-02T06:34:02Z
sandbox/_sandboxremote.py: Use helpers to set up cwd and env
This matches the other sandbox implementations.
-
0458bc4e
by Jürg Billeter
at 2018-10-02T07:08:35Z
Merge branch 'juerg/sandbox' into 'master'
sandbox/_sandboxremote.py: Use helpers to set up cwd and env
See merge request BuildStream/buildstream!841
-
d5b396e0
by Phillip Smyth
at 2018-10-02T16:40:18Z
Forcing CI to install Sphinx 1.7.9
.gitlab-ci.yml: forced pip3 install Sphinx 1.7.9
The theme we use in our docs "sphinx_rtd_theme"
Does not support the latest version of Sphinx (>1.8)
This results in search functionality failing
-
dae842fd
by Phillip Smyth
at 2018-10-02T17:14:09Z
Merge branch 'docs_Search_not_working' into 'master'
Fixing: Search functionality in the Documentation has stopped working
Closes #681
See merge request BuildStream/buildstream!848
-
8dc16d3f
by Jürg Billeter
at 2018-10-03T05:08:21Z
_platform/linux.py: Accept all configs for dummy sandbox
If Sandbox.run() is never called, sandbox config is irrelevant. If it is
called, the build will fail anyway with the dummy sandbox.
This matches the logic in the Darwin platform.
-
66446fc3
by Jürg Billeter
at 2018-10-03T05:36:38Z
Merge branch 'juerg/dummy-sandbox' into 'master'
_platform/linux.py: Accept all configs for dummy sandbox
See merge request BuildStream/buildstream!843
-
29c19bea
by Tristan Van Berkom
at 2018-10-03T07:33:48Z
git.py: Added timed activity around fetching, displaying the URL being fetched.
This will take care of silencing the status messages while checking submodules.
-
b645881c
by Tristan Van Berkom
at 2018-10-03T07:33:48Z
source.py: Silence messages while consuming source fetchers
The source fetchers might be a list or a generator, when it is
a generator (like the git source does), then we want to ensure that
we silence the status messages which might occur as a result of
consuming a source fetcher from the generator.
This fixes the logs to be less verbose.
-
c9437616
by Tristan Van Berkom
at 2018-10-03T08:07:15Z
Merge branch 'tristan/fix-status-messages' into 'master'
fix status messages
See merge request BuildStream/buildstream!845
-
11320fe2
by Tristan Van Berkom
at 2018-10-03T09:33:39Z
_scheduler: Fix bookkeeping of terminated jobs
* Enhanced the base Job class to bookkeep which jobs have
been terminated, and to consider them as `skipped` when
asked via the `skipped` property.
* Enhanced the base Queue class to bookkeep the job statuses
more carefully.
This fixes #479
-
91271964
by Tristan Van Berkom
at 2018-10-03T09:59:40Z
Merge branch 'tristan/fix-terminated-jobs' into 'master'
_scheduler: Fix bookkeeping of terminated jobs
Closes #479
See merge request BuildStream/buildstream!850
-
3bf895d2
by Jonathan Maw
at 2018-10-03T11:48:48Z
tests: Add regression test for mirroring with project.refs
-
e4969807
by Jonathan Maw
at 2018-10-03T12:48:07Z
Merge branch 'jonathan/source-mirror-project-refs' into 'master'
tests: Add regression test for mirroring with project.refs
See merge request BuildStream/buildstream!823
-
a0814399
by Tristan Van Berkom
at 2018-10-03T13:05:52Z
_scheduler/scheduler.py: Ignore interrupt events while terminating.
For some reason, we now receive a SIGINT from the main loop even
when the SIGINT occurred with the handler disconnected in an interactive
prompt. This patch simply ignores any received SIGINT events from the
main loop in the case that we are already in the process of terminating.
This fixes issue #693
-
0a1f8e3c
by Tristan Van Berkom
at 2018-10-03T13:42:20Z
Merge branch 'tristan/fix-double-terminate-prompt' into 'master'
_scheduler/scheduler.py: Ignore interrupt events while terminating.
Closes #693
See merge request BuildStream/buildstream!852
-
11161f99
by Tristan Van Berkom
at 2018-10-03T13:44:02Z
utils.py: Give save_file_atomic() a tempdir argument
Allow callers to decide where the temporary file will be created.
-
3e797bb9
by Tristan Van Berkom
at 2018-10-03T13:44:02Z
_artifactcache/cascache.py: Don't create temporary files in the CAS storage
Use the designated tempdir when creating refs, we expect that temporary
files are not created in the storage directory ever, they should be
only ever created in the designated temporary directory.
This fixes race conditions where utils._get_dir_size() throws an
unhandled exception when attempting to stat the file which inadvertantly
disappears.
-
d9020e43
by Tristan Van Berkom
at 2018-10-03T13:44:02Z
utils.py: Document _get_dir_size() expectations.
This function assumes that files do not disappear while
walking the given directory.
-
3e5ff5a9
by Tristan Van Berkom
at 2018-10-03T14:09:51Z
Merge branch 'tristan/fix-cache-size-race' into 'master'
fix cache size race
See merge request BuildStream/buildstream!854
-
e8179c34
by Jim MacArthur
at 2018-10-03T16:06:59Z
element.py: Put the temporary staging directory in artifactdir
-
3cf38c8e
by Jim MacArthur
at 2018-10-03T16:44:02Z
Merge branch 'jmac/temporaries-inside-cachedir' into 'master'
Move the temporary staging directory to artifactdir
See merge request BuildStream/buildstream!856
-
59c92bda
by Daniel Silverstone
at 2018-10-04T08:12:20Z
sandbox/_sandboxdummy.py: Take a reason for use
Since the SandboxDummy sandbox is only used in very specific
circumstances and with good reason, this adjusts the SandboxDummy
class to take a reason and to return it if `.run()` has to
raise an exception because this is a dummy sandbox.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
b9ddcd0e
by Daniel Silverstone
at 2018-10-04T08:12:20Z
_platform/darwin.py: Give reason for use of dummy sandbox
Since Darwin is limited to the dummy sandbox for now due to OSXFUSE
being unsupported as yet, and there being no suitable sandboxing option
for use on OSX, give this as the reason so that it can be reported if
the user attempts a local build.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
df0d5a8b
by Daniel Silverstone
at 2018-10-04T09:04:21Z
_platform/linux.py: Refactor checks for sandboxing
To better report issues in the absence of a suitable bwrap, or the
FUSE devices, this refactors the checks for sandboxing in the Linux
platform to cover the various possibilities. The reasons are then
collated and passed to the dummy sandbox for later reporting to the
user if a local build is attempted.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
b8421a9c
by Daniel Silverstone
at 2018-10-04T09:04:21Z
_site.py: Protect against failure running `bwrap --version`
On some potentially broken systems, running `bwrap --version` might
fail with an error code. This patch corrects the oversight ensuring
that we cleanly return False for version checking in such cases.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
c74bfbe5
by Daniel Silverstone
at 2018-10-04T09:04:21Z
_site.py: Reduce complexity of bwrap version comparison
Instead of an if/else ladder which is quite complex, this patch
uses the fact that Python supports by-component tuple comparison
to simply compare two (major, minor, patch) tuples
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
c46a7e87
by Daniel Silverstone
at 2018-10-04T09:13:04Z
setup.py: Change bwrap assertion to a warning
Since there are use-cases where BuildStream could be installed
onto systems which do not have BubbleWrap (e.g. for remote-build-only
scenarios) it is not correct to assert a dependency on bwrap during
installation. This patch makes the assertion a warning, and also
clarifies the message somewhat. This should fix #644
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
fd6a9573
by Jürg Billeter
at 2018-10-04T09:45:58Z
Merge branch 'danielsilverstone-ct/bwrap-check-runtime-only' into 'master'
Make bwrap check runtime only
Closes #644
See merge request BuildStream/buildstream!847
-
c5778941
by Josh Smith
at 2018-10-04T13:43:10Z
element.py: Do not save workspace on failed build
This fixes #634, BuildStream no longer saves workspace configuration on
a failed build.
-
788cde6a
by Josh Smith
at 2018-10-04T13:43:10Z
testing: Add regression test for workspace bug
-
8630bac4
by Tristan Van Berkom
at 2018-10-04T14:11:27Z
Merge branch 'Qinusty/634-workspace-failed-builds' into 'master'
Do not save workspace on failed build
Closes #634
See merge request BuildStream/buildstream!812
-
a7984218
by Valentin David
at 2018-10-04T14:56:09Z
Catch correct exception from shutil.rmtree
Python documentation is not clear on what shutil.rmtree is supposed to
raise. However from the source code, it is obvious that OSError are
raised, but never shutil.Error.
It is not easy to test in normal condition because issues happen
usually in combination with a FUSE filesystem, a probably a race
condition where `fstatat` returns an error just before the filesystem
being unmounted.
Fixes #153.
-
b7b20d9e
by Valentin David
at 2018-10-04T15:31:22Z
Merge branch 'valentindavid/rmtree_oserror' into 'master'
Catch correct exception from shutil.rmtree
Closes #153
See merge request BuildStream/buildstream!849
-
42ea143d
by Chandan Singh
at 2018-10-05T12:40:48Z
Add contrib script to generate Docker images from bst checkout
This script can be useful to generate a Docker image from `bst checkout`
of an element as a single command. While this script does not eliminate
the need for a proper Docker/OCI element plugin that would probably also
support layering, it provides a cheap way to export the element into a
Docker image.
-
b38f9f9d
by Jonathan Maw
at 2018-10-05T13:05:38Z
Merge branch 'chandan/bst-docker-import' into 'master'
Add contrib script to generate Docker images from bst checkout
See merge request BuildStream/buildstream!857
-
47df1e36
by Jürg Billeter
at 2018-10-05T13:30:38Z
element.py: Prepare local sandbox for bst checkout and bst shell
A remote execution sandbox is not suitable for these commands.
-
d3921ab8
by Jonathan Maw
at 2018-10-05T13:54:17Z
Merge branch 'juerg/remote' into 'master'
element.py: Prepare local sandbox for bst checkout and bst shell
See merge request BuildStream/buildstream!860
-
53d9f977
by Tristan Van Berkom
at 2018-10-06T14:40:46Z
CONTRIBUTING.rst: Updating CONTRIBUTING guidelines
This is almost a complete rewrite of the CONTRIBUTING guide.
* The patch submission guidelines have become less ambiguous and more strict
* Some general restructuring and reordering of the file took place
* The codeing guidelines have changed completely.
o There is much less room for ambiguity here now
o More emphasis on consistency in the codebase
o Added some more abstract points which should be considered
when writing and reviewing patches
* The policy on public/private symbols has been greatly clarified
* Added new section about adding new core plugins and what needs
to be done as a consequence of that
-
5587715c
by Tristan Van Berkom
at 2018-10-07T06:19:03Z
CONTRIBUTING.rst: Some fixes in grammer and minor corrections
-
43c7ac23
by Angelos Evripiotis
at 2018-10-07T15:19:58Z
contributing.rst: fix typo
-
3f0c919f
by Angelos Evripiotis
at 2018-10-07T15:52:52Z
Merge branch 'aevri/fixup-contributing-typos' into 'master'
contributing.rst: fix typos
See merge request BuildStream/buildstream!865
-
6f5f795e
by Tristan Van Berkom
at 2018-10-08T08:46:11Z
CONTRIBUTING.rst: Added section about minimizing API surfaces
And modified some titles so that the titles in CONTRIBUTING.rst actually
follow the documentation guidelines for naming of section titles.
-
abb9fb98
by Tristan Van Berkom
at 2018-10-08T08:59:18Z
CONTRIBUTING.rst: Added section on file naming convention
-
ba905e3a
by Tristan Van Berkom
at 2018-10-08T09:05:18Z
CONTRIBUTING.rst: Correcting `Context` example in the "imports" section
This example is very outdated and comes from pre 1.0 when the Context
object was going to be public API. Just corrected the example made about
imports to import the `Context` object from `._context` instead of `.context`.
-
674afe94
by Tristan Van Berkom
at 2018-10-08T09:07:45Z
CONTRIBUTING.rst: Added a note that public API objects should be exposed from __init__.py
-
350c6796
by Tristan Van Berkom
at 2018-10-08T10:44:47Z
CONTRIBUTING.rst: Added section in PEP-8 coding style about line lengths.
We have a long line limit in order to handle the exceptions without making
code unreadable as a result, this long line length limit is not an invitation
to fill up the limit as much as possible.
-
3ca487b8
by Chandan Singh
at 2018-10-08T18:25:39Z
bst-docker-import: Consistently use stderr for all logs
In !857, we added `contrib/bst-docker-import` script but it has a small
issue that some of logs go to stdout while others go to stderr. Fix it
so that all logging is done on stderr.
-
49df3d75
by Chandan Singh
at 2018-10-08T18:58:54Z
Merge branch 'chandan/fix-bst-docker-import-logging' into 'master'
bst-docker-import: Consistently use stderr for all logs
See merge request BuildStream/buildstream!863
-
d827dfae
by Angelos Evripiotis
at 2018-10-09T09:12:45Z
contributing.rst: end lines with punctuation
-
9590e8ae
by Angelos Evripiotis
at 2018-10-09T09:12:45Z
contributing.rst: fix whitespace
No tabs, no lines of only horizontal whitespace.
-
6d02e269
by Angelos Evripiotis
at 2018-10-09T09:12:45Z
contributing.rst: fix typo of 'get_count'
-
3ed26a47
by Angelos Evripiotis
at 2018-10-09T09:12:45Z
contributing.rst: de-paren subclass example
It seems easier to read when separated into two sentences.
-
5b22d850
by Angelos Evripiotis
at 2018-10-09T09:12:45Z
contributing.rst: no spaces before '?'
-
ac0776f8
by Tristan Van Berkom
at 2018-10-09T09:36:33Z
Merge branch 'aevri/contributing_fixups' into 'master'
Minor fixups to contributing.rst
See merge request BuildStream/buildstream!866
-
885bd946
by Tristan Van Berkom
at 2018-10-09T09:39:24Z
CONTRIBUTING.rst: Added note about sphinx supporting docstrings on instance variables
Python does not natively support this, but sphinx does parse them and includes
these in the generated documentation.
-
120d8c73
by Tristan Van Berkom
at 2018-10-09T09:45:23Z
CONTRIBUTING.rst: Fix typos in previous commit.
Ooops, that was done far too quickly.
-
cda1354c
by Chandan Singh
at 2018-10-10T00:17:51Z
doc: Add new document about Docker integrations
Add a new section under "Additional writings" section about how
BuildStream integrates with Docker. At present, this section includes
only two sections:
- "Run BuildStream inside Docker", that refers to existing instructions
for doing so
- "Generate Docker images", that adds instructions for using the newly
added `contrib/bst-docker-import` script
In future, this document can be extended to include the following
things:
- Importing Docker sources via `docker` source plugin - if/when the
Docker source plguin is moved from bst-external to BuildStream proper
- A Docker sandbox, if/when that is added
-
dd472d95
by Chandan Singh
at 2018-10-10T00:18:17Z
NEWS: Add entry about contrib/bst-docker-import
As suggested in
https://gitlab.com/BuildStream/buildstream/merge_requests/857#note_106809743,
add a NEWS entry for `contrib/bst-docker-import` that was added
recently.
-
35ac26a7
by Chandan Singh
at 2018-10-10T00:59:17Z
Merge branch 'chandan/bst-and-docker' into 'master'
Add documentation and NEWS entry about bst-docker-import
See merge request BuildStream/buildstream!864
-
7d96333f
by Laurence Urhegyi
at 2018-10-10T19:24:14Z
README: Update to add link to website
-
39492db8
by devcurmudgeon
at 2018-10-10T19:24:14Z
Merge branch 'patch-2' into 'master'
README: Update to add link to website
See merge request BuildStream/buildstream!859
-
4f0bfb4a
by Tristan Van Berkom
at 2018-10-11T15:37:51Z
Rename element_enums.py -> types.py
This will be the place to store low level data types used
throughout the core, for now this includes public and private
types.
-
9dc10cc7
by Tristan Van Berkom
at 2018-10-11T15:45:36Z
doc/source/core_framework.rst: Include the foundation types in the API docs.
-
efc0d4cc
by Tristan Van Berkom
at 2018-10-11T15:48:44Z
types.py: Moved Consistency definition here from source.py
And slightly touch up the doc strings for Consistency and Scope.
-
a0712ead
by Tristan Van Berkom
at 2018-10-11T16:23:54Z
Merge branch 'tristan/refactor-types-api' into 'master'
Refactor types api
See merge request BuildStream/buildstream!870
-
ce55b9a0
by Tiago Gomes
at 2018-10-12T10:15:46Z
doc: updates considering website being live now
* Add a link to the website on the main page.
* Remove install instructions as they are now on the website.
* Remove Resources section as that information can be found at the
website, and also looks bad.
* Move artifact server setup from the no longer existing Install section
to the Using section.
-
10b092e1
by Tristan Van Berkom
at 2018-10-12T10:21:27Z
doc/source/additional_docker.rst: Fix link to refer to website
The docker guide, which is part of the install guide, has moved
to the website.
-
1c7ba9a0
by Tristan Van Berkom
at 2018-10-12T10:24:31Z
doc/source/index.rst: Moved references to the website below the simple ToC.
-
3738dd06
by Tristan Van Berkom
at 2018-10-12T10:49:39Z
Merge branch 'tristan/remove-install-guide' into 'master'
Remove install guide
See merge request BuildStream/buildstream!872
-
c31ed138
by Tristan Van Berkom
at 2018-10-14T15:24:53Z
CONTRIBUTING.rst: Added more guidelines about documenting the user guide
-
b39d87b4
by Jürg Billeter
at 2018-10-15T11:07:05Z
_artifactcache: Fix crash in push_directory() without artifact server
Fixes #708.
-
4e3ec89e
by Jürg Billeter
at 2018-10-15T11:48:16Z
Merge branch 'juerg/remote-config' into 'master'
_artifactcache: Fix crash in push_directory() without artifact server
Closes #708
See merge request BuildStream/buildstream!871
-
d15ed8fc
by Jonathan Maw
at 2018-10-15T15:54:59Z
yaml: Add a cache of parsed and provenanced yaml
Note that the ProvenanceFile's names will be incorrect after loading
from the cache, but this is currently only used for writeback, which
isn't used in junctions.
-
f4eb685a
by Jonathan Maw
at 2018-10-15T15:54:59Z
yamlcache.py: Add yaml cache tests
-
26dfa882
by Lachlan Mackenzie
at 2018-10-15T15:54:59Z
yaml.py: Add loader for yaml test files cache option
* Fix to CWD issue provided by Jonathan Maw
-
0fbff08b
by Lachlan Mackenzie
at 2018-10-15T15:54:59Z
yaml.py: Add yaml cache testing to yaml list composition test
-
3d58d7c5
by Lachlan Mackenzie
at 2018-10-15T15:54:59Z
yaml.py: Add yaml cache test to yaml list composition twice
-
363cfc39
by Lachlan Mackenzie
at 2018-10-15T15:54:59Z
yamlcache.py: Add YAML cache changed file test
* Test in same style as test_yamlcache_used
* Move of project not required so removed
-
086c47c4
by Jonathan Maw
at 2018-10-15T16:19:01Z
Merge branch 'lachlan/pickle-yaml-test-list-composite' into 'master'
Add YAM cache testing to yaml tests and further YAML cache refinements
See merge request BuildStream/buildstream!836
-
6298e409
by William Salmon
at 2018-10-16T12:39:14Z
Sandbox: CWD was not being created for workspaces
The code was creating the cwd folder but when the workspace was
mounted in to the buildroot it was hiding the folder created in it
behind the bind mounted workspace.
However by using the bubblewarp `--dir` directive to ensure that cwd
exists we can cover both workspace and non workspace situations with
the same method.
For issue #512 in Gitlab.
-
bbcb9bd5
by William Salmon
at 2018-10-16T12:39:14Z
New Integration test for workspace command-subdir
Build stream was only creating command-subdir for non workspace builds
this has now been fixed, and this regression test should support the
feature.
For issue #512 in Gitlab.
-
5e7cc645
by William Salmon
at 2018-10-16T12:39:14Z
Add conf-root variable to builds
Adding the conf-root variable makes creating out of source builds
slightly easier.
For issue #512 in Gitlab.
-
0d04e1b7
by William Salmon
at 2018-10-16T12:39:14Z
Added tests for conf-root variable
For issue #512 in Gitlab.
-
b2767ac0
by William Salmon
at 2018-10-16T12:39:14Z
Extended the Documentation to cover out of source builds
For issue #512 in Gitlab.
-
118704a9
by William Salmon
at 2018-10-16T12:39:14Z
Added a news item for building out of the source directory
For issue #512 in Gitlab.
-
0a5db229
by Phil Dawson
at 2018-10-16T13:19:56Z
Merge branch 'willsalmon/outOfSourecBuild' into 'master'
Out of source builds
Closes #512
See merge request BuildStream/buildstream!776
-
1fd38fb7
by Jim MacArthur
at 2018-10-16T14:54:09Z
bst2html.py: Name the second argument to avoid an error
-
b023d5c0
by Jim MacArthur
at 2018-10-16T15:28:15Z
Merge branch 'jmac/doc-argument-fix' into 'master'
Add named argument in bst2html.py to fix documentation
See merge request BuildStream/buildstream!874
-
ac5b482d
by Richard Dale
at 2018-10-16T19:40:39Z
Fix spelling of it's and its
-
3d9c4eca
by Jürg Billeter
at 2018-10-16T20:17:39Z
Merge branch 'rdale/spelling' into 'master'
Fix spelling of it's and its
See merge request BuildStream/buildstream!877
-
edc07536
by Tiago Gomes
at 2018-10-17T13:49:15Z
README: use correct links for documentation website
-
155296a7
by Tiago Gomes
at 2018-10-17T13:49:15Z
setup.py: use correct link for documentation website
-
131f95eb
by Tiago Gomes
at 2018-10-17T14:15:38Z
Merge branch 'tiagogones/update-links-to-documentation' into 'master'
Update links to documentation website
See merge request BuildStream/buildstream!876
-
c327d1f3
by Valentin David
at 2018-10-17T14:33:40Z
Change URL to the Alpine tarball
-
eeb334f2
by Javier Jardón
at 2018-10-17T15:03:17Z
Merge branch 'valentindavid/move_alpine_tarball' into 'master'
Change URL to the Alpine tarball
See merge request BuildStream/buildstream!880
-
b8f69946
by Daniel Silverstone
at 2018-10-18T09:32:09Z
_loader/loader.py: Be more explanatory in CircDep exception
When a circular dependency is detected, the reported error hilights
only one part of the loop in question. This change ensures that
the entire loop is listed so that the user has a greater chance of
easily determining the correct fix.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
892866e1
by richardmaw-codethink
at 2018-10-18T10:04:32Z
Merge branch 'danielsilverstone-ct/report-loop' into 'master'
_loader/loader.py: Be more explanatory in CircDep exception
See merge request BuildStream/buildstream!878
-
f1aa0974
by Javier Jardón
at 2018-10-18T14:13:35Z
Fix python warnings: Use collections.abc instead collections
Since python 3.3, collections has been moved to collections.abc module.
For backwards compatibility, they continue to be visible in this module through Python 3.7.
Subsequently, they will be removed entirely.
See https://docs.python.org/3/library/collections.html
-
f1550c8e
by Valentin David
at 2018-10-18T16:02:45Z
Merge branch 'jjardon/warnings_collections' into 'master'
Fix python warnings: Use collections.abc instead collections
See merge request BuildStream/buildstream!883
-
1c24979a
by Angelos Evripiotis
at 2018-10-19T21:17:01Z
Spelling fixes: 'affect', not 'effect' as verb
Fix most instances of 'effect' being used as a verb instead of a noun.
Skipped generated instance in doc/source/conf.py.
-
43a2eee3
by Angelos Evripiotis
at 2018-10-19T21:48:59Z
Merge branch 'aevri/affect' into 'master'
Spelling fixes: 'affect', not 'effect' as verb
See merge request BuildStream/buildstream!885
-
12719f0d
by Jürg Billeter
at 2018-10-22T17:05:41Z
_artifactcache: Rename update_atime() to update_mtime()
os.utime() updates both, however, list_artifacts() sorts refs by mtime,
i.e., atime is irrelevant.
-
a7a28d14
by Jürg Billeter
at 2018-10-22T17:05:41Z
_artifactcache: Fix ref in update_mtime()
get_artifact_fullname() is required to construct the ref. The cache key
alone does not suffice.
-
be29e0f5
by Jürg Billeter
at 2018-10-22T17:53:26Z
Merge branch 'juerg/cas-mtime' into 'master'
_artifactcache: Fix ref in update_mtime()
See merge request BuildStream/buildstream!882
-
b74aca1a
by Jürg Billeter
at 2018-10-23T09:22:19Z
tests/testutils/artifactshare.py: Fix has_artifact() to match core code
Replace path separator with '-' to match Element.normal_name.
-
c7dda150
by Jürg Billeter
at 2018-10-23T09:48:00Z
Merge branch 'juerg/test-artifactshare' into 'master'
tests/testutils/artifactshare.py: Fix has_artifact() to match core code
See merge request BuildStream/buildstream!890
-
74c115b9
by Angelos Evripiotis
at 2018-10-23T10:07:31Z
plugins/sources: refactor, rm needless ExitStack-s
Remove two uses of ExitStack that aren't necessary and make the code
a little harder to follow.
-
ecb58b42
by Phil Dawson
at 2018-10-23T10:33:47Z
Merge branch 'aevri/rm-exitstack' into 'master'
plugins/sources: refactor, rm needless ExitStack-s
See merge request BuildStream/buildstream!888
-
aa0cbf5d
by Martin Blanchard
at 2018-10-23T10:54:40Z
_sandboxremote.py: Try to reopen operation steam on failure
The REAPI allows a client to reconnect to an ongoing operation stream by
providing a WaitExecution(). If implemented on server side, BuildStream
will try to recover from connection errors using it.
https://gitlab.com/BuildStream/buildstream/issues/630
-
552f5fc6
by Jim MacArthur
at 2018-10-23T11:19:48Z
Merge branch 'mablanch/630-remote-execution-reconn' into 'master'
Handle connection losses during remote build execution
See merge request BuildStream/buildstream!806
-
276d2195
by Angelos Evripiotis
at 2018-10-25T10:17:49Z
_downloadablefilesource: handle ValueError-s
-
2d012a21
by Angelos Evripiotis
at 2018-10-25T10:17:49Z
Merge branch 'aevri/unknown-uri-452' into 'master'
_downloadablefilesource: handle ValueError-s
Closes #452
See merge request BuildStream/buildstream!893
-
cf4741ce
by James Ennis
at 2018-10-25T13:05:43Z
docs: Add helpful notes to artifact server configuration instructions
-
5737bb06
by James Ennis
at 2018-10-25T13:05:43Z
using_configuring_artifact_server.rst: Fix incorrect reference to bst push (with link)
-
28317622
by James Ennis
at 2018-10-25T13:35:22Z
Merge branch 'jennis/patch_remote_cache_docs' into 'master'
Improve our documentation for configuring an artifact server
See merge request BuildStream/buildstream!899
-
d2743c52
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_context.py: Remove useless `return` from `Context.message`
This pointless bare `return` was causing modern pylint to raise an
error.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
95adf09e
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_variables.py: Fix lint issue in `find_recursive_variable`
The python `for`/`else` construct only makes sense if the `for` loop body
has a `break` statement. Otherwise the use of `else` causes pylint
to raise an error.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
9359c067
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_workspaces.py: Simplify chained comparison
In `_parse_workspace_config` there was a chained version comparison
which is simplified in this commit to quieten a pylint issue.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
796bd8c9
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_yaml.py: use `in (a,b)` to simply boolean checks
Where we use a construct `val == foo or val == bar` we can instead use
`val in (foo, bar)` which pylint prefers.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
5a3a537f
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_yaml.py: Quieten a lint in Python < 3.6
For Python before 3.6, `path.resolve()` could not take the `strict`
keyword argument. Linting on such Python versions will raise an unnecessary
issue given the check present. As such, quieten that lint.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
b279c730
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_yamlcache.py: Correct bug in `YamlCache._get_filepath()`
The correct file path was computed but never returned. This was
never caught because of a test missing consumption of one of its
parameters. This commit resolves the bug mentioned in #722 leaving
the test to be amended by a future commit.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
527f3b32
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_yamlcache.py: Correct braino in variable name
This braino would mean that we'd fail to raise the right exception
if we failed to find the right project object when unpickling the
yaml cache.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
6d0c697d
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_yamlcache.py: Remove unused imports
The imports of _cachekey and utils were unused.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
32323695
by Daniel Silverstone
at 2018-10-25T14:43:52Z
buildelement.py: Quieten a lint about `__commands`
Unfortunately elements don't override `__init__` in general, so
we have to quieten pylint here.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
c5c0654d
by Daniel Silverstone
at 2018-10-25T14:43:52Z
element.py: Simplify some conditions with `in (foo, bar)`
Where we have conditions of the form `var == foo or var == bar` it
can be simplified to `var in (foo, bar)` which pylint prefers.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
4f84e2f6
by Daniel Silverstone
at 2018-10-25T14:43:52Z
element.py: Silence pylint warning about abstract method
Unfortunately pylint can't understand that we'll always use subclasses
of Element and as such complains of a no-return function (`assemble()`)
having its return value used. This quietens that warning.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
b4645745
by Daniel Silverstone
at 2018-10-25T14:43:52Z
plugin.py: use dict.get() instead of an if statement
Pylint recommends the use of dict.get() rather than a multi-line if
statement for handling optional keyword arguments.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
68ec9bcf
by Daniel Silverstone
at 2018-10-25T14:43:52Z
source.py: Quiet several pylint issues with abstract methods
A number of times, abstract methods are called which pylint cannot
possibly understand will only ever happen in subclasses which implement
the abstract methods. This silences those specific warnings
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
1bf0a031
by Daniel Silverstone
at 2018-10-25T14:43:52Z
source.py: Remove unused local variable
Remove `source_kind` as it was unused.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
e9c6db1e
by Daniel Silverstone
at 2018-10-25T14:43:52Z
source.py: Remove unused variable
Remove the `context` variable which was unused.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
5a187a1e
by Daniel Silverstone
at 2018-10-25T14:43:52Z
utils.py: Disable lint warning about popen
We use `preexec_fn` in our use of Popen. Since there are threads
in the codebase, this is not necessarily safe. However we go to
great lengths to ensure that the main process doesn't spawn threads
(they're used in gRPC a lot) and so it should be safe for our use.
As such, we disable the lint here.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
b368f57f
by Daniel Silverstone
at 2018-10-25T14:43:52Z
utils.py: Group stat imports
The imports of `stat` and `S_ISDIR` from `stat` should be grouped to
satisfy pylint.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
b45fea19
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_artifactcache/artifactcache.py: Remove superfluous parens
The pylint report dislikes the superfluous parens which used to
be here in this assert.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
3e4a6507
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_artifactcache/artifactcache.py: Silence lint issues
The pylint tool is unable to understand that the abstract methods
in the artifact cache will only be called when there's concrete
implementations behind them. Silence the lint errors for these
specific calls.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
447780b0
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_frontend/app.py: Remove unused import of `resource`
The `resource` import was unused. Removed.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
247b9fa8
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_frontend/status.py: Reorder imports
The `curses` import is "standard" whereas `click` is not. As such, despite
alphabetical order normally being the rule, `curses` must come before `click`.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
522867c8
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_fuse/{hardlinks,mount}.py: Remove dangerous use of {} in defaults
Since default values in arguments to functions and methods are created once
at the compilation of the code, it is dangerous to include list and dict
literals in them. This changes the use of {} to None.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
31a7bce5
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_fuse/mount.py: Deal with abstract method lint issue
Unfortunately pylint can't tell this is an abstract method which will
only ever end up invoked from a class which concretises it. As such
we need to silence this warning.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
eb805c6c
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_options/optionbool.py: Refactor conditions
The pylint tool prefers that conditions of the form "var == foo or var == bar"
be refactored into "var in (foo, bar)".
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
aca9a612
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_platform/darwin.py: Remove useless __init__()
An otherwise empty __init__ passing no arguments to super.__init__
is worthless. Remove it.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
77b1506f
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_platform/darwin.py: Remove unused imports
The import of `resource` was unused.
The import of `PlatformError` was unused.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
70000b0d
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_platform/linux.py: Remove unused imports
The imports of `Message` and `MessageType` were unused.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
bab617d0
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_platform/linux.py: Simplify return statement
The linter dislikes an if/return/else/return where it can be
simplified to a return of the if condition.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
45a1d15f
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_scheduler/jobs/job.py: Correct lint issue around abstract method
The linter cannot detect abstract methods the way we use them, so
this silences the warning which ensues.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
e9154b4d
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_scheduler/queue/pullqueue.py: Remove unused return value
The `done()` method does not return anything anywhere else.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
7b082bb7
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_scheduler/queue/trackqueue.py: Remove unused import
The `SourceError` import was never used
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
f1cfc0b7
by Daniel Silverstone
at 2018-10-25T14:43:52Z
plugins/source/git.py: Rationalised unused return values
The `assert_ref_in_track()` method's return value was never used so
rationalise it to never return a value.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
7c72d25b
by Daniel Silverstone
at 2018-10-25T14:43:52Z
sandbox/_mount.py: Do not use dict literals in argument defaults
The use of dictionary literals in argument defaults is disrecommended
due to the way that they are static and thus potentially very confusing.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
4e7408ee
by Daniel Silverstone
at 2018-10-25T14:43:52Z
sandbox/_mounter.py: Remove useless inheritance on `object`
In Python 3, inheriting from `object` explicitly is pointless.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
df495d16
by Daniel Silverstone
at 2018-10-25T14:43:52Z
sandbox/_sandboxbwrap.py: Disable lint about dict.get
Sometimes `dict.get()` is preferable, in this instance it's less clear
so we'll disable that lint
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
63c6e6b1
by Daniel Silverstone
at 2018-10-25T14:43:52Z
sandbox/_sandboxchroot.py: Silence warning about unused variable
The variable was unused, remove it.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
3394741a
by Daniel Silverstone
at 2018-10-25T14:43:52Z
sandbox/_sandboxchroot.py: Silence warning about preexec_fn
We are super-careful to not use threads in places where we might use
Popen and as such this warning is save to quash.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
cd20e7a1
by Daniel Silverstone
at 2018-10-25T14:43:52Z
sandbox/_sandboxchroot.py: Silence warning about dict.get
Sometimes `dict.get()` is preferable to an `if` statement, but this time
it's clearer if we keep the structure. As such, silence the warning.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
5087f5c5
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_artifactcache/cascache.py: Refactor slightly for indentation
Correct some multi-line conditional indentation by slight refactor
if necessary.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
d73d965b
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_artifactcache/cascache.py: Silence len(SEQUENCE) as condition warnings
The lint tool dislikes the use of `if len(SEQ) == 0` type statements
because nominally `len(SEQ)` may be more expensive than `bool(SEQ)`.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
fa740402
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_artifactcache/cascache.py: Prepare attributes in __init__
Python linters prefer that attributes are defined in __init__ rather
than left to later routines.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
ad8271f0
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_artifactcache/cascache.py: Remove unused imports
The imports of `Message` and `MessageType` were unused.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
1445a901
by Daniel Silverstone
at 2018-10-25T14:43:52Z
_artifactcache/cascache.py: Cleanup lint warning about indexing
In order to quieten the linter, and to make a more correct comparison,
we switch to using the `Code.OK` enumeration from `google.rpc.Code`
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
19df07ea
by Tristan Maat
at 2018-10-25T14:43:52Z
Bump CI image tags
We need to do this so that the new linting errors pop up
-
64dbe9ae
by Daniel Silverstone
at 2018-10-25T14:43:52Z
MANIFEST: Include a lot more missing stuff in the manifest
Versioneer needs to be in the MANIFEST.in and its .pyc needs to be ignored
in the .gitignore. Also much docs were not being included, nor conftest.py.
Much of the test suite data files needed including, so changed that to a
raw include of everything in the tests/ tree.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
f6bc25dd
by Daniel Silverstone
at 2018-10-25T14:43:52Z
.gitlab-ci.yml: Change how coverage is recovered
We need to alter how coverage data is recovered in order to work with
newer coverage tooling.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
1c1d14e7
by Chandan Singh
at 2018-10-25T15:04:00Z
Merge branch 'danielsilverstone-ct/fix-lint-issues' into 'master'
Fix lint issues
See merge request BuildStream/buildstream!892
-
23140b6b
by Chandan Singh
at 2018-10-25T15:25:22Z
sources: Don't redundantly document directory configuration
Instead of redundantly documenting "directory" configuration option in
each source plugin, refer to the built-in functionality documentation of
the Source class.
* source.py: Add anchor for built-in functionality.
* sources/plugins/*.py: Remove directory config option, and add reference to
Source's built-in functionality.
Fixes #713.
-
db2a676e
by Chandan Singh
at 2018-10-25T15:26:39Z
build elements: Add reference to BuildElement's built-in config
For each element plugin derived from BuildElement, add reference to the
built-in functionality documentation of BuildElement.
* buildelement.py: Add anchor for built-in functionality.
* plugins/elements/*.py: Add refence to BuildElement's built-in
functionality for each build element.
Related to #713.
-
356d84cd
by Chandan Singh
at 2018-10-25T16:59:13Z
Merge branch 'chandan/source-doc-directory' into 'master'
plugins: Don't redundantly document common configurations
Closes #713
See merge request BuildStream/buildstream!896
-
8c41b5b8
by Daniel Silverstone
at 2018-10-26T09:02:30Z
_yaml.py: Do not insert into cache if retrieved from cache
We were unconditionally inserting into the yaml cache anything we had
retrieved from the yaml cache. This had the side-effect of being expensive
on re-runs of commands where yaml hadn't changed.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
494d7018
by Jonathan Maw
at 2018-10-26T09:26:36Z
Merge branch 'danielsilverstone-ct/do-not-reinsert-yaml' into 'master'
_yaml.py: Do not insert into cache if retrieved from cache
See merge request BuildStream/buildstream!902
-
80762ecb
by Benjamin Schubert
at 2018-10-26T09:45:39Z
Check if command is a str and replace by list before checking existence
Currently we would make sure the sandbox had a command before
converting it to a list if it was given as a string. That meant that a string
command would never exist and the check be invalid.
This also adds the same logic in the dummy sandbox for consistency.
-
f131c407
by Benjamin Schubert
at 2018-10-26T10:09:51Z
Merge branch 'bschubert/fix-command-sandbox' into 'master'
Check is command is a str and replace by list before checking existence
Closes #728
See merge request BuildStream/buildstream!898
-
54d89aa1
by Daniel Silverstone
at 2018-10-26T10:20:36Z
_loader/loadelement.py: Use enumerate() in dependency extraction
In cases where elements end up with large numbers of dependencies,
the n-squared performance in `_extract_depends_from_node` can produce
significant delays during project load. This patch corrects that.
In addition we were double-retrieving provenance which was unnecessary.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
e4c18ba4
by Phil Dawson
at 2018-10-26T10:43:55Z
Merge branch 'danielsilverstone-ct/use-enumerate' into 'master'
_loader/loadelement.py: Use enumerate() in dependency extraction
See merge request BuildStream/buildstream!901
-
20e5c58a
by James Ennis
at 2018-10-26T11:14:58Z
using_configuring_artifact_server.rst: Fix lines that are too long
-
320dae02
by James Ennis
at 2018-10-26T11:37:42Z
docs: Add more information to "managing the cache with systemmd" section
-
1eb993bf
by James Ennis
at 2018-10-26T12:02:49Z
Merge branch 'jennis/another_docs_patch' into 'master'
More information regarding the use of systemd to manage the cache
See merge request BuildStream/buildstream!904
-
f069d82f
by Daniel Silverstone
at 2018-10-26T12:19:58Z
various: Move _sentinel from utils.py to _yaml.py
The `_sentinel` in `utils.py` was used only for yaml node tracking.
As such, simplify matters by removing it from `utils.py` and move it
to `_yaml.py` which means that we no longer need to try and avoid a
circular import issue by means of runtime importing.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
283887a5
by James Ennis
at 2018-10-26T13:12:12Z
Merge branch 'danielsilverstone-ct/yaml-sentinel-rework' into 'master'
Move _sentinel from utils.py to _yaml.py
See merge request BuildStream/buildstream!903
-
2c6cb230
by Valentin David
at 2018-10-26T14:21:18Z
Fix some ruamel warnings during tests
-
a8250ca4
by Valentin David
at 2018-10-26T15:04:25Z
Merge branch 'valentindavid/ruamel_warnings' into 'master'
Fix some ruamel warnings during tests
See merge request BuildStream/buildstream!889
-
1b308fe3
by Daniel Silverstone
at 2018-10-26T15:50:42Z
_stream.py: Preserve stdout FD across checkout-to-stdout
In order to support things which might need to use the stdout FD
after checkout has completed writing a tarball to it, preserve it
by means of `os.dup()` and `os.dup2()`
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
65d90c31
by Daniel Silverstone
at 2018-10-26T15:50:54Z
tests/testutils/runcli.py: Support binary-mode capture of stdout
In order to test things which write tarballs to stdout correctly,
we need to capture the binary output cleanly. This ensures we're not
potentially mismatching encodings in and out.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
ed733f3e
by Daniel Silverstone
at 2018-10-26T15:51:40Z
tests/frontend/buildcheckout.py: Enable test_build_checkout_tarball_stdout
With the new support for saving the stdout FDs cleanly, and binary mode
capture in runcli, enable the tarball-to-stdout test.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
e97d2a75
by Benjamin Schubert
at 2018-10-29T10:17:07Z
Merge branch 'bschubert/fix-binary-output-capture' into 'master'
Don't close stdout when running 'checkout' to stdout
Closes #486
See merge request BuildStream/buildstream!905
-
1625de0e
by Tristan Van Berkom
at 2018-10-29T11:49:33Z
doc/source/conf.py: Added `images` directory for statically included files
-
38507b4e
by Tristan Van Berkom
at 2018-10-29T11:49:33Z
doc/source/format_intro.rst: Adding link anchor for include directives
-
26164bcd
by Tristan Van Berkom
at 2018-10-29T13:57:51Z
MANIFEST.in: Include SVG and ODG files in source distributions
-
3a23c8f6
by Tristan Van Berkom
at 2018-10-29T13:57:51Z
doc: Adding new architecture document with initial "Overview of modules" section
-
41d370f6
by Tristan Van Berkom
at 2018-10-29T13:57:51Z
doc: Adding new architecture document describing the data model
-
bed7f7ac
by Tristan Van Berkom
at 2018-10-29T13:57:51Z
doc: Adding new architecture document describing the dependency model
-
9bdf7f40
by Tristan Van Berkom
at 2018-10-29T13:57:51Z
doc: Adding new architecture document about highlevel program flow
-
6b8bdf35
by Tristan Van Berkom
at 2018-10-29T13:57:51Z
doc: Adding new architecture document about how the scheduler works.
-
b1fadaa5
by Tristan Van Berkom
at 2018-10-29T13:57:51Z
doc: Moved cachekey and sandboxing writings into the architecture section
-
baf6b578
by Tristan Van Berkom
at 2018-10-29T14:28:41Z
Merge branch 'tristan/architecture-docs' into 'master'
Tristan/architecture docs
See merge request BuildStream/buildstream!907
-
09ef8b25
by Jonathan Maw
at 2018-10-30T15:42:05Z
element.py: Always clean up the rootdir
We shouldn't need it to persist now that we cache failed build dirs.
This change breaks the test
`tests/integration/shell.py::test_sysroot_workspace_visible`.
I can no longer see a use-case for this test.
AIUI, it tested that the failed build sysroot stored in the builddir has
the workspace's files in, despite the workspace being unmounted.
I believe this behaviour is made redundant by cached buildtrees.
This fixes part of #539
-
37afde0a
by Jonathan Maw
at 2018-10-30T15:42:05Z
Element: Use cached buildtree in build shells and failure shells
This includes changes in app.py:
* Interactive failure shell no longer uses the failed build sysroot,
defaulting to the cached build tree.
Changes in element.py are:
* Errors caused by building don't store the failed build sysroot,
instead storing that a sandbox can be created to debug the error.
* When staging sources, will stage the element's cached build tree if it
exists.
Changes in _exceptions.py:
* BstError.sandbox is now a flag of whether a sandbox can be opened up
to debug the error.
Changes in widget.py:
* Don't try to print any information about the sandbox.
Changes in _message.py:
* Fix documentation so Message.sandbox is not a directory any more.
This is part of #539
-
4bc71773
by Jonathan Maw
at 2018-10-30T15:42:05Z
NEWS: Add item for cached buildtree behaviour
-
9b89564f
by Jonathan Maw
at 2018-10-30T15:42:05Z
tests: Add test that cached build trees are staged in build shells
This is related to #539
-
ec76cbe1
by Jonathan Maw
at 2018-10-30T15:42:05Z
sandbox.py: Remove redundant Sandbox.__directory
-
825963b5
by Jonathan Maw
at 2018-10-30T15:42:05Z
element: Make "--sysroot" take a bare directory
i.e. instead of taking a directory that must contain "root" and
"scratch", and treating "root" as the root, use the directory directly.
In element.py:
* __sandbox takes the `bare_sandbox` arg, to pass into the sandbox's constructor
In sandbox.py:
* If bare_sandbox, `_root` is the passed-in directory, and `__scratch`
is None.
* Trying to use `__scratch` when bare_sandbox is True is a bug.
In _mount.py:
* Don't get the value of `__scratch` if it's not needed.
This is part of #539
-
cf721838
by Jonathan Maw
at 2018-10-30T15:42:05Z
NEWS: Add item for bst shell --sysroot changes
-
79d1bb7f
by Jonathan Maw
at 2018-10-30T15:42:05Z
tests: Add tests for 'bst shell --sysroot'
This is related to #539
-
c7ac7e7d
by Jonathan Maw
at 2018-10-30T16:19:17Z
Merge branch 'jonathan/debug-remote-failed-builds' into 'master'
Jonathan/debug remote failed builds
See merge request BuildStream/buildstream!869
-
516e990e
by ctolentino8
at 2018-10-31T11:36:46Z
_frontend/app.py: Set correct element-path in interactive bst-init
-
b8a37a63
by Tristan Van Berkom
at 2018-11-01T10:16:25Z
Merge branch 'chiaratolentino/bst-init-interactive-elementpath' into 'master'
_frontend/app.py: Set correct element-path in interactive bst-init
See merge request BuildStream/buildstream!912
-
b27b592a
by Benjamin Schubert
at 2018-11-01T10:49:57Z
Remove dependency on pytest-runner
This includes a new command mimicking pytest-runner so that we
can drop this dependency
This was the only setup_requires dependency that we had and
will make like easier for people behind proxies
-
89ace5d7
by Benjamin Schubert
at 2018-11-01T11:16:36Z
Merge branch 'bschubert/remove-pytest-runner' into 'master'
Remove dependency on pytest-runner
See merge request BuildStream/buildstream!886
-
4cfabce8
by Angelos Evripiotis
at 2018-11-01T11:35:02Z
BREAK: manual.yaml: don't set any default env vars
Remove the 'MAKEFLAGS' and 'V' defaults.
Now that there is a specialised 'make' element, these make-specific
defaults don't make sense here. This element is meant to be a blank
slate for folks to build on.
Note that this is a breaking change, that will require some users to
make changes to their .bst files if they are expecting these environment
variable to be set.
_versions.py: BST_FORMAT_VERSION bumped to 18.
This fixes issue #718
-
48860aac
by Tristan Van Berkom
at 2018-11-01T12:01:04Z
Merge branch 'tristan/empty-manual-element' into 'master'
BREAK: manual.yaml: don't set any default env vars
Closes #718
See merge request BuildStream/buildstream!916
-
d868b409
by Daniel Silverstone
at 2018-11-01T13:40:24Z
_yaml.py: Implement `get()` for `ChainMap`
Since the core Python `ChainMap.get()` implements with:
self[key] if key in self else default
The double-chain-lookup is expensive. This simple change solves that
for our ChainMap derived structure. As such it improves matters
for #466 somewhat.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
7f79b9ce
by Tristan Van Berkom
at 2018-11-01T14:25:57Z
Merge branch 'danielsilverstone-ct/improve-chainmap-get' into 'master'
_yaml.py: Implement `get()` for `ChainMap`
See merge request BuildStream/buildstream!919
-
de59ebdb
by ctolentino8
at 2018-11-02T16:41:54Z
plugins/sources/pip.py: Accomodate characters '-','.','_' for packages
-
8d7cf806
by ctolentino8
at 2018-11-02T16:41:54Z
tests/integration/project/files: Remove pypi-repo
-
9c2f9bf7
by Chandan Singh
at 2018-11-02T17:09:46Z
Merge branch 'chiaratolentino/fix-pip-source-regex' into 'master'
plugins/sources/pip.py: Accomodate characters '-','.','_' for packages
See merge request BuildStream/buildstream!914
-
3788e701
by Jürg Billeter
at 2018-11-03T11:52:00Z
element.py: Pass bare_directory also to SandboxRemote()
Fixes: 825963b5 ("element: Make "--sysroot" take a bare directory")
-
82e971ef
by Jürg Billeter
at 2018-11-05T11:33:20Z
Merge branch 'juerg/remote-execution' into 'master'
element.py: Pass bare_directory also to SandboxRemote()
See merge request BuildStream/buildstream!928
-
62942bfd
by Valentin David
at 2018-11-05T12:14:20Z
Use less fetchers in overnight build to work-around limitations from servers.
Issue happens with sourceware.org server.
Fixes #742
-
442da2f9
by Javier Jardón
at 2018-11-05T12:41:54Z
Merge branch 'valentindavid/limit_fetchers_in_overnight_build' into 'master'
Use less fetchers in overnight build to work-around limitations from servers.
Closes #742
See merge request BuildStream/buildstream!929
-
0993de53
by Richard Maw
at 2018-11-05T16:41:05Z
dev-requirements: Update pytest dependency to 3.8
"_frontend/app.py: Set correct element-path in interactive bst-init"
added a dependency on the tmp_path test fixture, which was added by 3.8.
-
be8f0a54
by richardmaw-codethink
at 2018-11-05T17:08:43Z
Merge branch 'richardmaw/pytest-dep-update' into 'master'
dev-requirements: Update pytest dependency to 3.8
See merge request BuildStream/buildstream!930
-
bfb639bf
by Jürg Billeter
at 2018-11-05T17:18:12Z
element.py: Remove artifacts parameter from constructor
Get the artifact cache from the context instead.
-
ca855f91
by Jürg Billeter
at 2018-11-05T17:18:12Z
_elementfactory.py: Remove unused artifacts parameter from create()
-
15fed21c
by Jürg Billeter
at 2018-11-05T17:18:12Z
_project.py: Remove unused artifacts parameter from create_element()
-
0085d2aa
by Jürg Billeter
at 2018-11-05T17:18:12Z
element.py: Remove unused artifacts parameter from _new_from_meta()
-
f69b1117
by Jürg Billeter
at 2018-11-05T17:18:12Z
_project.py: Remove unused artifacts parameter from load_elements()
-
e398f877
by Jürg Billeter
at 2018-11-05T17:18:12Z
element.py: Do not include type name of artifact cache in cache key
The artifact cache backend does not affect build outputs and we anyway
no longer have pluggable artifact cache backends. This hardcodes
CASCache instead of removing the entry completely to avoid cache key
changes.
-
626d20ae
by Jürg Billeter
at 2018-11-05T17:18:12Z
Split up artifact cache and CAS cache
This changes CASCache from a subclass to a delegate object of
ArtifactCache. As the lower layer, CASCache no longer deals with
elements or projects.
Fixes #659.
-
ec04446b
by Jürg Billeter
at 2018-11-05T17:51:39Z
Merge branch 'juerg/cas' into 'master'
Split up artifact cache and CAS cache
Closes #659
See merge request BuildStream/buildstream!922
-
9a045080
by Josh Smith
at 2018-11-06T13:23:19Z
utils: Fix _pretty_size() for sizes > 1024T
-
d3a07e6b
by Josh Smith
at 2018-11-06T13:23:19Z
Add regression test for _pretty_size
-
0c09fb9c
by richardmaw-codethink
at 2018-11-06T14:12:20Z
Merge branch 'Qinusty/unit-test-utils' into 'master'
Fix issue with _pretty_size with large numbers of bytes
See merge request BuildStream/buildstream!799
-
b4eec489
by Jim MacArthur
at 2018-11-06T16:44:14Z
_sandboxremote.py: Use the standard SandboxError.
Replaces the custom one which was erroneously added during development.
Fixes #746.
-
1f7acf74
by Jim MacArthur
at 2018-11-06T17:16:31Z
Merge branch 'jmac/remote-sandbox-errors' into 'master'
_sandboxremote.py: Use the standard SandboxError
Closes #746
See merge request BuildStream/buildstream!931
-
8e64ccef
by James Ennis
at 2018-11-07T11:06:11Z
using_config.rst: Update our instructions for how we declare caches in user config
-
09ab676d
by James Ennis
at 2018-11-07T11:06:11Z
format_project.rst: Update instructions regarding how we declare remote caches in project.conf
-
f514124f
by James Ennis
at 2018-11-07T11:06:11Z
using_configuring_artifact_server.rst: Remove examples and redirect to user config/project config
-
029ba17d
by richardmaw-codethink
at 2018-11-07T11:32:20Z
Merge branch 'jennis/docs_patch' into 'master'
Update our instructions/examples regarding how we declare remote caches
See merge request BuildStream/buildstream!932
-
261e2cd3
by Jim MacArthur
at 2018-11-07T12:02:43Z
element.py: Use _force_rmtree instead of custom code.
There are arguments for and against using onerror - see issue #735
for details.
-
8931e42c
by Jim MacArthur
at 2018-11-07T12:26:06Z
Merge branch 'jmac/make_writable_combination' into 'master'
Use _force_rmtree instead of custom code.
Closes #735
See merge request BuildStream/buildstream!927
-
6ccfab0b
by Valentin David
at 2018-11-07T16:28:47Z
Fix cache corruption by scripts when layout and integration commands are used
Root directory was marked as a non-artifact mount, so not using
SafeHardLink. However integration commands executed with write access
to the root directory.
Fixes #749
-
f24e20e9
by richardmaw-codethink
at 2018-11-07T16:59:50Z
Merge branch 'valentindavid/script-artifact-corruption' into 'master'
Fix cache corruption by scripts when layout and integration commands are used
Closes #749
See merge request BuildStream/buildstream!934
-
e28f668a
by Valentin David
at 2018-11-08T09:34:11Z
Fix infinite recursion in default strip debug command
Fixes #645.
-
83d15350
by Valentin David
at 2018-11-08T10:01:39Z
Merge branch 'valentindavid/fix-recursive-strip-debug' into 'master'
Fix infinite recursion in default strip debug command
Closes #645
See merge request BuildStream/buildstream!918
-
9f0e12f1
by Benjamin Schubert
at 2018-11-08T10:21:12Z
Move bwrap checks in platform/linux.py
Remove the bwraps checks from _site.py and put them in platform.linux
which is the only place where they are run.
This allows the removal of a double level of caching, making
reasoning about tests easier
-
cf2e0059
by Benjamin Schubert
at 2018-11-08T10:21:12Z
conftest.py: Ensure platform is not maintained between tests
This removes the `_instance` on the platform object that we use
for caching and not recreating the object everytime at the start
of every test.
This is to ensure our tests share the least amount of state.
The performance penalty is from 5 to 10% accross the whole test suite.
The readings were done 5 times for each before and after the change
and on the same computer.
-
c51ba01b
by Benjamin Schubert
at 2018-11-08T10:21:12Z
Test that helpful messages are raised when missing dependencies
This adds a `reason` to the SandboxEror thrown in sandboxdummy
to be able to understand where the error comes from
-
f116b9b7
by Benjamin Schubert
at 2018-11-08T11:07:12Z
Merge branch 'bschubert/tests-no-chroot-linux' into 'master'
test behavior when there is no sandbox on Linux
Closes #696 and #736
See merge request BuildStream/buildstream!921
-
cc2e6ae5
by Valentin David
at 2018-11-08T12:41:36Z
Fix bug with root mounted as non-artifact in script plugin.
The issue was introduced by 6ccfab0b1b25990e406446d5cbe5aee83a5e158a.
-
e578a89f
by Valentin David
at 2018-11-08T13:11:10Z
Merge branch 'valentindavid/fix-script-install-root' into 'master'
Fix bug with root mounted as non-artifact in script plugin.
Closes #756 and #749
See merge request BuildStream/buildstream!941
-
c0a8bb66
by Angelos Evripiotis
at 2018-11-08T15:49:16Z
contributing: WIP again to be kind to reviewers
As someone coming from GitHub to GitLab, I was pleasantly surprised by
the 'filter by WIP status' option.
To make sure we get the most out of it, add a guideline to keep the
filter clean, to reduce reviewer burden.
-
f7231e90
by Angelos Evripiotis
at 2018-11-08T15:49:16Z
contributing: non-WIP should always be landable
I was recently surprised that we don't prefer addressing review comments
in 'fixup!' commits.
Coming from GitHub, I've found that fixup commits make it easier for
reviewers to see what has changed since their last review. The idea is
to use '--autosquash' before landing to clean up the history again.
It's a pleasant surprise that it's easy to keep track of what changed in
merge-requests between pushes, so we can always keep the history clean.
Document this, so folks like me can see the light sooner.
-
f7643440
by Angelos Evripiotis
at 2018-11-08T15:49:16Z
contributing: emphasise the 'why' in commits
Explain why it's useful to mention the decisions made for a change and
provide links for background, e.g. issue numbers.
My general experience of git histories is that folks don't do enough
explaining, so it's great we have a contributing section for it.
I've found it's easier for folks to stick to rules when they know the
practical reasons for them, so provide some.
-
dd5e7b04
by Angelos Evripiotis
at 2018-11-08T16:17:04Z
Merge branch 'aevri/contributing_gitlab' into 'master'
Add more to GitLab-relevant parts of contributing
See merge request BuildStream/buildstream!935
-
fe33e328
by James Ennis
at 2018-11-08T17:54:18Z
using_config.rst: Add documentation to showing how to impose quotas on the local cache
This patch partially resolves #700
-
09faf002
by James Ennis
at 2018-11-08T17:54:18Z
artifactcache.py: Fix misleading error message when using % cache quota
Due to the changed Exception message, this patch also changes
the test_parse_size_over_1024T test in misc.py
-
d153453c
by Javier Jardón
at 2018-11-08T18:22:54Z
Merge branch 'jennis/quota_declaration_fix' into 'master'
Add local cache expiry documentation and fix misleading error message when specifying a percentage cache quota
Closes #700
See merge request BuildStream/buildstream!939
-
7738f6df
by Daniel Silverstone
at 2018-11-09T11:25:44Z
plugin.py: Redirect DEBUG from `__del__` to `sys.stderr`
Previously, debug messages from `Plugin.__del__()` went to stdout
which was a problem for the test suite in extremely rare and hard to
predict circumstances. This corrects that by sending the message to
stderr where all the rest of the messages tend to go.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
62f59eaa
by Valentin David
at 2018-11-09T13:30:06Z
Merge branch 'danielsilverstone-ct/plugin-destroy-debug-to-stderr' into 'master'
plugin.py: Redirect DEBUG from `__del__` to `sys.stderr`
See merge request BuildStream/buildstream!944
-
35ec6b6a
by Jim MacArthur
at 2018-11-09T14:58:22Z
_casbaseddirectory.py: Enable direct CAS-to-CAS import.
Fixes issue #574.
-
b93100ec
by Jim MacArthur
at 2018-11-09T14:58:22Z
_casbaseddirectory: Fix order of list_modified_paths
This will now return paths in the same order as list_relative_paths.
-
78691fa0
by Jim MacArthur
at 2018-11-09T14:58:22Z
virtual_directory_import.py: New test
-
7ce6581b
by Jim MacArthur
at 2018-11-09T15:25:46Z
Merge branch 'jmac/cas_to_cas_v2' into 'master'
Direct CAS-to-CAS import
Closes #574
See merge request BuildStream/buildstream!911
-
6f4351ec
by Benjamin Schubert
at 2018-11-09T16:53:42Z
source.py: don't let StopIteration propagate to silence() contextmanager
As per PEP 0479 (https://www.python.org/dev/peps/pep-0479/),
StopIteration thrown in context managers are not valid starting from
Python 3.7.
-
e6e03451
by richardmaw-codethink
at 2018-11-12T11:05:15Z
Merge branch 'bschubert/fix-silence-stopiteration-pep-0479' into 'master'
source.py: don't let StopIteration propagate to silence() contextmanager
See merge request BuildStream/buildstream!945
-
ae5ccd76
by Phillip Smyth
at 2018-11-12T14:57:51Z
_project.py: Validate nodes early in Project._load
_project.py: Added validate_nodes() helper function to prevent duplicate lists
element-path was being used before node validation resulting in uncaught errors
-
56a54161
by Phillip Smyth
at 2018-11-12T14:57:51Z
tests/frontend: Add test for invalid element-path
-
e55a9703
by Jürg Billeter
at 2018-11-12T15:44:45Z
Merge branch 'element-path_not_validated' into 'master'
Element path not validated before use
See merge request BuildStream/buildstream!937
-
c87d6e45
by Valentin David
at 2018-11-14T11:43:33Z
Run tests on aarch64
Fixes #755
-
16b01489
by Valentin David
at 2018-11-14T11:43:33Z
Disable cachekey tests on other architectures than x86_64
-
85046b29
by Valentin David
at 2018-11-14T11:43:33Z
Disable tests on example on other architectures than x86_64
-
dd5a073b
by Valentin David
at 2018-11-14T11:43:33Z
Add support for aarch64 in a test
-
c5d72ae7
by Valentin David
at 2018-11-14T11:52:53Z
Test aarch64 only overnight
-
264a57f6
by Javier Jardón
at 2018-11-14T12:22:03Z
Merge branch 'valentindavid/integration-tests-aarch64' into 'master'
Run tests on aarch64
Closes #369 and #755
See merge request BuildStream/buildstream!948
-
da735e56
by Richard Maw
at 2018-11-14T13:30:34Z
_platform/linux.py: Move get_bwrap_version into _site.py
It's inconvenient to have to create a Linux platform to parse the bwrap version
and we want to get the version in a consistent manner.
-
e7633500
by Richard Maw
at 2018-11-14T13:30:34Z
buildstream/sandbox/_sandboxbwrap.py: Distinguish sandbox failure from command failure
If `bwrap` fails to set up the sandbox and start the payload command
it won't write an exit-code in --json-status-fd,
so we can report if it was a sandboxing failure if we don't get exit-code status
and a payload command failure if we do and it's non-zero.
Closes https://gitlab.com/BuildStream/buildstream/issues/286
-
e9e08823
by Richard Maw
at 2018-11-14T13:30:34Z
tests/testutils/site.py: Check for bwrap supporting --json-status-fd
-
90ca007e
by Richard Maw
at 2018-11-14T13:30:34Z
tests/integration/sandbox-bwrap.py: Test distinguishing sandbox exit code from command
-
327b19dd
by richardmaw-codethink
at 2018-11-14T13:59:16Z
Merge branch 'richardmaw/distinguish-sandboxing-build-fail' into 'master'
Distinguish between bubblewrap sandboxing failure and command failure
Closes #286
See merge request BuildStream/buildstream!868
-
082b3811
by Angelos Evripiotis
at 2018-11-15T19:48:12Z
contributing: add guidance on unit tests
Decrease uncertainty around whether unit tests are welcome in the
project or not.
-
b5b79056
by Jürg Billeter
at 2018-11-15T20:24:58Z
Merge branch 'aevri/unit_tests' into 'master'
contributing: add guidance on unit tests
See merge request BuildStream/buildstream!943
-
199bfff1
by Tom Pollard
at 2018-11-17T13:07:59Z
Add cli main and user config option for 'pull-buildtrees' context.
_context.py: Add pull_buildtrees global user context, the default
of which is set to False via the addition of pull-buildtrees to
userconfig.yaml cache group.
_frontend/app.py & cli.py: Add --pull-buildtrees as a bst main
option, which when passed will override the default or user defined
context for pull_buildtrees.
tests/completions/completions.py: Update for the added flag.
-
454dcaf1
by Tom Pollard
at 2018-11-17T13:07:59Z
Don't pull artifact build trees by default.
The addition of cached build trees being included in element
artifacts has led to mostly redundant download overheads when
pulling from a remote artifact server. As such the default behaviour
of pull shouldn't fetch the build tree object if available.
element.py: extend relevant pull logic for specified subdir
consideration and ensure push logic does not lead to partial
artifact pushes. Change assumption that the buildtree can be
extracted if artifact is cached. __cached_buildtree() and
__pull_directories() helpers added.
_artifactcache/: artifactcache.py & cascache.py inclusion of
helper functions for subdir artifact checking & fetching, fetch
logic extended to only pull required artifact directories.
extract & checkout updated to handle full/partial operation.
tests/: addition of integration test pullbuildtrees.py,
buildtrees.py adapted cli options, testutils/artifactshare.py
has_artifact changed to return artifact digest on true condition.
-
0d309478
by Jürg Billeter
at 2018-11-17T13:49:58Z
Merge branch 'tpollard/494' into 'master'
Don't pull artifact buildtrees by default
See merge request BuildStream/buildstream!786
-
27932739
by Benjamin Schubert
at 2018-11-19T09:46:39Z
plugins/sources/pip.py: also look for python version named "python"
In some virtual environments, we might not have the binary with the
exact python version, which would lead the current pip plugin to
fail to find a working pip version.
This adds "python" at the start of the list of valid python versions
-
ea2de561
by Benjamin Schubert
at 2018-11-19T10:19:24Z
Merge branch 'bschubert/fix-pip-python' into 'master'
plugins/sources/pip.py: also look for python version named "python"
Closes #758
See merge request BuildStream/buildstream!942
-
f23b6031
by Benjamin Schubert
at 2018-11-19T11:39:51Z
tests/frontend/buildtrack.py: check for success after invocation
Previously the result of the first call in test_build_track was not
checked to be successful, which would lead to potential erros later on
that were hard to debug.
Let's check it everytime
-
a6defc0b
by Benjamin Schubert
at 2018-11-19T11:39:51Z
Fix os.rename in git source element to correctly handle error codes
According to the documentation
(https://www.unix.com/man-page/POSIX/3posix/rename/), when the directory
already is there, either EEXIST or ENOTEMPTY could be thrown.
Previously only ENOTEMPTY was checked.
Done:
- Separated the move into its own function
- Check for both errors
- Create unit tests for it, covering most test cases
-
88089d2d
by Benjamin Schubert
at 2018-11-19T11:39:51Z
Extract atomic move function to utils.py
Moving atomically a file/directory can be tricky since different
errors might be raised for the same underlying problem.
Having a utility function to reduce this discrepancies will help
in ensuring we have correct behavior
-
fd9e46be
by Benjamin Schubert
at 2018-11-19T11:39:51Z
cascache.py: use move_atomic instead of manual error checking
-
d32e0b83
by Benjamin Schubert
at 2018-11-19T11:39:51Z
sources/pip.py: Use move_atomic instead of manual os.rename
This uses move_atomic insteand of the manual os.rename and manual error
checking and throws a SourceError for consistency with other modules.
-
6f837118
by Benjamin Schubert
at 2018-11-19T12:22:40Z
Merge branch 'bschubert/fix-atomic-move-git-repo' into 'master'
Fix os.rename in git source element to correctly handle error codes
See merge request BuildStream/buildstream!938
-
30b72244
by Chandan Singh
at 2018-11-19T12:35:01Z
buildstream/_pipeline.py: Simplify error message for assert_consistent()
Currently, `Pipeline.assert_consistent()` prints an error message like
the one below when certain elements have inconsistent sources:
```
...
Element: hello.bst is inconsistent
Source tar source at hello.bst [line 16 column 2] is missing ref
...
```
Drop the word "Source" from the beginning of the message as
"Source <source-kind> source ..." is kind of awkward to read.
-
76c5d2f8
by Chandan Singh
at 2018-11-19T12:35:01Z
Add `bst source-checkout` command
As discussed in
https://mail.gnome.org/archives/buildstream-list/2018-September/msg00064.html,
add `bst source-checkout` command. This will allow users to checkout
sources for a given target.
* _frontend/cli.py: Add source-checkout command
* _pipeline.py: Add assert_sources_cached() method
* _stream.py: Add source_checkout method, abstract out
__check_location_writable() method that used to part of checkout()
-
9f629638
by Chandan Singh
at 2018-11-19T13:03:36Z
Merge branch 'chandan/source-checkout' into 'master'
Add `bst source-checkout` command
See merge request BuildStream/buildstream!820
-
bc827cc8
by Abderrahim Kitouni
at 2018-11-19T14:55:15Z
plugins/elements/cmake.yaml: always specify variable types
cmake sometimes misinterprets relative paths as relative to the current directory
if this is not specified. See freedesktop-sdk/freedesktop-sdk#431
adjust tests/format/variables.py accordingly.
-
5fbc5f41
by Valentin David
at 2018-11-19T15:31:05Z
Merge branch 'abderrahim/cmake-variable-types' into 'master'
plugins/elements/cmake.yaml: always specify variable types
Closes #761
See merge request BuildStream/buildstream!947
-
06e28860
by Benjamin Schubert
at 2018-11-19T15:52:24Z
Don't cache sandbox errors
Sandbox errors (like missing host tools) are dependent on the host
system and rarely on what is actually done.
It is therefore better to not cache them as they are subject to
change between two runs.
Also add test to ensure sandbox failure are not cached
-
dd36cfbc
by Benjamin Schubert
at 2018-11-19T15:52:24Z
element.py: Only cache on element error or success
Reverse the way we were handling caching by only caching
when we know it's a problem with the build or the build is a
success in order not to cache transient errors.
-
eac7274d
by Benjamin Schubert
at 2018-11-19T16:29:07Z
Merge branch 'bschubert/dont-cache-errors-from-host-tools' into 'master'
Don't cache sandbox failures
Closes #727
See merge request BuildStream/buildstream!895
-
625dfe1f
by Chandan Singh
at 2018-11-19T16:41:17Z
NEWS: Add entry for the new source-checkout command
`bst source-checkout` command was recently added in
https://gitlab.com/BuildStream/buildstream/merge_requests/820. Add a
NEWS entry for the new command.
-
d4f12184
by Chandan Singh
at 2018-11-19T17:15:10Z
Merge branch 'chandan/source-checkout-news' into 'master'
NEWS: Add entry for the new source-checkout command
See merge request BuildStream/buildstream!960
-
ba6c96e8
by Richard Maw
at 2018-11-19T19:54:30Z
CasBasedDirectory: Change constructor to take a CASCache instead of a Context
The Context was only used to obtain a reference to the CASCache
and set the unused cas_directory field.
-
8a0dc3a3
by Jürg Billeter
at 2018-11-19T19:54:30Z
tests/testutils/artifactshare.py: Do not create a fake context
The fake context did not set the cache quota, triggering an error. With
CASCache now separate from ArtifactCache, we can instantiate a CASCache
without context.
-
8722aced
by Jürg Billeter
at 2018-11-19T19:54:30Z
tests/plugins/pipeline.py: Load context default values
-
fc56ffa4
by Jürg Billeter
at 2018-11-19T19:54:30Z
_context.py: Drop duplicated default values for user configuration
The default values are in userconfig.yaml, together with the
documentation. The default values should not be duplicated in
_context.py.
-
3f663d82
by Jürg Billeter
at 2018-11-19T20:36:57Z
Merge branch 'juerg/context-default-values' into 'master'
_context.py: Drop duplicated default values for user configuration
See merge request BuildStream/buildstream!953
-
b498cce7
by Angelos Evripiotis
at 2018-11-20T11:17:38Z
_yaml: document node_get()'s default_value arg
-
eb2d376f
by Angelos Evripiotis
at 2018-11-20T11:17:38Z
_context: allow 'terminate' for scheduler.on-error
Enable this option of 'terminate', which is mentioned in userconfig.yaml
and handled in _frontend/app.py:_handle_failure(). It appears to have
been left out of the valid_actions as an oversight.
Originally introduced in
https://gitlab.com/BuildStream/buildstream/commit/2622d5da9bd9fefd87436613d6e3e9770fdd0f28
-
b81c4333
by Angelos Evripiotis
at 2018-11-20T11:17:38Z
_context: refactor, extract _node_get_option_str
Use a new helper function to simplify working with nodes that can only
accept certain strings. This will be used when adding the prompt.*
config options.
In later work we can see if this function would be useful elsewhere, and
could be added to '_yaml.py'.
-
27ca6593
by Angelos Evripiotis
at 2018-11-20T11:19:33Z
Add prompt.auto-init buildstream.conf option
Provide an option in buildstream.conf to disable the 'Would you like to
...' prompt when we cannot resolve a project.
Some users prefer not to be interrupted by such prompts, so pave the way
to creating options to disable all those that might get in the way.
Follow the example of the advice.* options 'git-config', and create a
namespace for these UI options grouped by behaviour, rather than an
over-reaching 'ui.*' namespace. In later work perhaps we'll also add
'advice.*' options.
Add a NEWS item for this.
-
7ae3a3d2
by Angelos Evripiotis
at 2018-11-20T11:43:49Z
Add prompt.workspace-... options
Provide options in project.conf to disable the 'Are you sure ...'
prompts when making destructive changes:
- Add prompt.really-workspace-close-remove-dir
- Add prompt.really-workspace-reset-hard
Add a NEWS item for these.
-
8071c00c
by Angelos Evripiotis
at 2018-11-20T12:12:11Z
Merge branch 'aevri/prompt-config' into 'master'
Add 'prompt.*' config options to buildstream.conf
See merge request BuildStream/buildstream!887
-
fd41b0b5
by Raoul Hidalgo Charman
at 2018-11-20T16:32:10Z
_sandboxremote.py: Add sigterm handler that sends CancelOperation
-
c6306b88
by Jürg Billeter
at 2018-11-20T16:59:45Z
Merge branch '725-job-cancellation-on-remote-builds' into 'master'
_sandboxremote.py: Add sigterm handler that sends CancelOperation
Closes #725
See merge request BuildStream/buildstream!900
-
9fa8a881
by James Ennis
at 2018-11-20T17:00:42Z
_yaml.py: Fix incorrect error message
This patch ensures that we receive an appropriate error
message if we specify an absolute path that leads within
the project.
-
fb8860db
by Jürg Billeter
at 2018-11-20T17:32:58Z
Merge branch 'jennis/less_restrictive_pathways' into 'master'
Fix warning when using an absolute path which exists inside the project
See merge request BuildStream/buildstream!956
-
87751350
by Benjamin Schubert
at 2018-11-20T18:10:48Z
gitlab-ci.yml: Use CI_PROJECT_DIR instead of $(pwd) for cache
-
8668df9f
by Benjamin Schubert
at 2018-11-20T18:10:48Z
Export variables globally for less repetition.
This doesn't change the test behavior and enable for better
composability of tests
-
cc6a7f0d
by Benjamin Schubert
at 2018-11-20T18:10:48Z
gitlab-cy.yml: make linux-tests-template more composable.
This will allow for further de-duplication of work.
-
eb37dd89
by Benjamin Schubert
at 2018-11-20T18:10:48Z
gitlab-ci.yml: remove unused artifacts for unix tests
The unix-logs is always empty, there is therefore no reasons of keeping
it there
-
e030b48e
by Benjamin Schubert
at 2018-11-20T18:10:48Z
gitlab-ci.yml: use template for unix tests
This makes all tests use the same template, which makes reasoning
about them simpler
-
57e6358f
by Benjamin Schubert
at 2018-11-20T18:10:48Z
Ensure tests requiring bubblewrap are correctly marked
-
e70dd1f8
by Benjamin Schubert
at 2018-11-20T18:10:48Z
gitlab-ci.yml: Add linux without brwap/ostree to ensure tests behave
This allows us to make sure that tests behave nicely while missing brwap
and ostree.
-
f7cb4386
by Benjamin Schubert
at 2018-11-20T18:10:48Z
gitlab-ci.yml: Extract test command as a variable
This removes the need of having it synchronized in multiple places
-
7f316a76
by Benjamin Schubert
at 2018-11-20T18:41:03Z
Merge branch 'bschubert/add-fedora-nobwrap-tests' into 'master'
Add tests for fedora with no bubblewrap available
See merge request BuildStream/buildstream!949
-
a50c598e
by Benjamin Schubert
at 2018-11-21T09:24:15Z
utils.py: Ensure move_atomic booleans are keyword only arguments
This is to be coherent with the rest of the codebase
-
b2f604b8
by Benjamin Schubert
at 2018-11-21T09:24:15Z
utils.py: improve documentation of move_atomic
-
daca0c01
by Benjamin Schubert
at 2018-11-21T09:52:42Z
Merge branch 'bschubert/mr938-comments' into 'master'
Followup on MR 938, addressing additional comments
See merge request BuildStream/buildstream!958
-
050cd1bd
by Tom Pollard
at 2018-11-21T11:37:48Z
tests/plugin/pipeline.py: Avoid using host user conf
create_pipeline was passing no config parameter to context.load,
leading to _context.py loading in the host's buildstream user conf
when running tests locally, potentially leading to unwanted errors.
-
58353aad
by Jürg Billeter
at 2018-11-21T14:29:49Z
Merge branch 'tpollard/pipelinehostconfig' into 'master'
tests/plugin/pipeline.py: Avoid using host user conf
See merge request BuildStream/buildstream!961
-
2022c3e8
by William Salmon
at 2018-11-21T15:53:03Z
tests/frontend/workspace.py: Refactor support function
The Refactor now makes it possible to test for the forth coming multi
element workspace open commands and to test for failure.
-
7bdd44b2
by William Salmon
at 2018-11-21T15:53:03Z
Workspace CLI update
This is to update the workspace CLI to as agreed on the mailing list
https://mail.gnome.org/archives/buildstream-list/2018-September/msg00046.html
This patch also introduces the default workspace directory.
-
6612e708
by William Salmon
at 2018-11-21T15:53:03Z
Added a news item for workspace open changes
-
4d6e2cd3
by Will Salmon
at 2018-11-21T16:20:26Z
Merge branch 'willsalmon/defaultWorkspaces' into 'master'
Updated Workspace CLI
See merge request BuildStream/buildstream!897
-
dddf0eaa
by Valentin David
at 2018-11-22T11:12:53Z
.gitlab-ci.yml: Bump version of fd.o SDK and bst_external in overnight tests
-
abef70fe
by Javier Jardón
at 2018-11-22T11:41:31Z
Merge branch 'valentindavid/overnight-tests-bump-fdo-sdk-version' into 'master'
Bump version of fd.o SDK and bst_external in overnight tests
See merge request BuildStream/buildstream!962
-
5c208698
by Jim MacArthur
at 2018-11-26T10:23:31Z
Docs: Add remote execution architecture documentation.
-
5af455a4
by Jim MacArthur
at 2018-11-26T10:55:22Z
Merge branch 'jmac/execution-architecture-docs' into 'master'
Docs: Add remote execution architecture documentation.
See merge request BuildStream/buildstream!923
-
4ca892e3
by Jim MacArthur
at 2018-11-27T09:30:13Z
tests: Avoid hangs due to exceptions in subprocesses
-
d09a18b8
by Jim MacArthur
at 2018-11-27T10:31:07Z
Merge branch 'jmac/fix-test-hangs-2' into 'master'
Avoid hanging artifact cache tests
See merge request BuildStream/buildstream!964
-
df60258a
by Jürg Billeter
at 2018-11-27T12:11:24Z
source.py: Add optional _get_local_path() method
-
42809933
by Jürg Billeter
at 2018-11-27T12:11:24Z
local.py: Implement _get_local_path()
-
eb5b10f7
by Jürg Billeter
at 2018-11-27T12:11:24Z
_loader.py: Use Source._get_local_path() for subprojects
This eliminates unneeded copies of the project directory for junctions
with a single local source.
-
b2ea208c
by Jürg Billeter
at 2018-11-27T12:50:46Z
Merge branch 'juerg/local-junctions' into 'master'
Optimization for local junctions
See merge request BuildStream/buildstream!290
-
223c0073
by Jürg Billeter
at 2018-11-27T13:41:09Z
tests/integration/manual.py: Add test for command logging
-
38d16c62
by Jürg Billeter
at 2018-11-27T13:41:09Z
sandbox: Deduplicate code to process cwd, env, and command arguments
-
85f5b574
by Jürg Billeter
at 2018-11-27T13:41:09Z
sandbox/sandbox.py: Add SandboxFlags.NONE
This improves readability.
-
bdd6925f
by Jürg Billeter
at 2018-11-27T13:41:09Z
element.py: Use SandboxFlags.NONE instead of 0
-
69005c76
by Jürg Billeter
at 2018-11-27T13:41:09Z
scriptelement.py: Use SandboxFlags.NONE instead of 0
-
f1767de2
by Jürg Billeter
at 2018-11-27T13:41:09Z
sandbox/sandbox.py: Add command batching API
This adds the batch() context manager.
-
87f7c99a
by Jürg Billeter
at 2018-11-27T13:41:09Z
element.py: Pass element object to sandbox
This allows the sandbox to output messages using the plugin id.
-
024d584d
by Jürg Billeter
at 2018-11-27T13:41:09Z
element.py: Cache artifact also on SandboxCommandError
-
bb7c3213
by Jürg Billeter
at 2018-11-27T13:41:09Z
element.py: Defer workspace.prepared setting in case of pending commands
-
04f05b1a
by Jürg Billeter
at 2018-11-27T13:41:09Z
element.py: Support command batching for integration commands
-
7827ac50
by Jürg Billeter
at 2018-11-27T13:44:49Z
element.py: Add batch_prepare_assemble() method
This allows batching of all sandbox commands aross prepare() and
assemble().
-
63db90b2
by Jürg Billeter
at 2018-11-27T13:44:49Z
buildelement.py: Support batching for integration and build commands
-
73dec86e
by Jürg Billeter
at 2018-11-27T13:44:49Z
scriptelement.py: Support batching for integration and build commands
-
79442e0a
by Jürg Billeter
at 2018-11-27T13:44:49Z
compose.py: Support batching for integration commands
-
6018b3bd
by Jürg Billeter
at 2018-11-27T13:44:49Z
sandbox/_sandboxremote.py: Implement command batching
Execute batched commands in a single shell script.
-
ec3d4486
by Jürg Billeter
at 2018-11-27T13:44:49Z
NEWS: Add entry for command batching
-
127d332f
by Jürg Billeter
at 2018-11-27T14:16:50Z
Merge branch 'juerg/command-batching' into 'master'
Command batching
Closes #675
See merge request BuildStream/buildstream!915
-
d5b5538d
by Jim MacArthur
at 2018-11-27T15:32:19Z
artifactcache: Move ArtifactCacheSpec code into CASRemoteSpec.
There is nothing in ArtifactCacheSpec that's actually specific to
artifacts, so I've made it a CAS class so we can use the same
spec for remote execution.
-
f224d4cb
by Jim MacArthur
at 2018-11-27T15:32:19Z
artifactcache.py, _context.py: Move CASCache object into context
Since the artifact cache and remote execution share the same
local CAS store, they should share the same CASCache object. Moving
this into context allows us to do this.
-
926c1446
by Jim MacArthur
at 2018-11-27T15:33:34Z
_sandboxremote: Remove references to artifact cache.
Uses the new config options introduced earlier to specify remote
exec storage and execution service.
-
d7cdb03e
by Jim MacArthur
at 2018-11-27T15:33:36Z
Documentation: Update to show new config options
-
95d8244f
by Jim MacArthur
at 2018-11-27T15:33:36Z
tests/sandboxes/remote-exec-config.py: New test.
Tests that we get a sensible error message when we specify incomplete
or wrong information in the configuration for remote execution.
-
7f2f62eb
by Jim MacArthur
at 2018-11-27T15:33:36Z
artifactcache.py: Remove unused verify_digest_pushed
-
c55ca3a5
by Jim MacArthur
at 2018-11-27T15:33:36Z
Docs: Correct URLs in artifact cache example
The port number must come after the hostname and before the path.
The path is ignored by CASCache anyway, so including it is misleading.
-
2a8a3b19
by Jim MacArthur
at 2018-11-27T18:17:03Z
Merge branch 'jmac/remote_execution_split' into 'master'
Split remote execution from artifact cache
Closes #750
See merge request BuildStream/buildstream!946
-
499c70fd
by Valentin David
at 2018-11-28T09:11:21Z
setup.py: require ruamel.yaml >= 0.15.41 < 0.15.52
-
3513580c
by Valentin David
at 2018-11-28T14:02:32Z
Merge branch 'valentindavid/ruamel_0_15_41' into 'master'
setup.py: require ruamel.yaml >= 0.15.41 < 0.15.52
See merge request BuildStream/buildstream!975
-
26cdee08
by Valentin David
at 2018-11-28T14:29:52Z
Use f_bavail to query available space. Not f_bfree.
f_bfree space might not be usable. In practice we see failures in big
disks because f_bfree is over 2GB and f_bavail is 0. We get ENOSPC if
writing on disk then.
-
58ca298f
by Valentin David
at 2018-11-28T14:29:52Z
Make cache clients not fail when a blob is not available.
We plan to make cache incomplete. That is some blobs are missing. For
most of cases we will delete references when requested if they are
incomplete. But there will be corner cases where objects are removed
after the reference is requested.
-
227fa26d
by Valentin David
at 2018-11-28T14:29:52Z
Fix type error in RPC messages
-
5ef19a0b
by Valentin David
at 2018-11-28T14:29:52Z
Avoid copying temporary file when adding object to CAS in server.
The file is already a temporary file and does not need copy. ENOSPC
is thrown during that copy in issue #609.
Fixes #678.
-
8d2946ff
by Valentin David
at 2018-11-28T14:29:52Z
"Fallocate" object disk space to avoid getting NOSPC error when writing
This locks the temporary object file so that cleanup does not need to
be done for every write.
-
b587953a
by Valentin David
at 2018-11-28T14:29:52Z
Update mtimes of objects for requested references.
This also remove references when some objects are missing. This is in
preparation for the move from reference to object garbage collection.
-
a64f667d
by Valentin David
at 2018-11-28T14:29:52Z
Move cas server from ref-based to object-based garbage collection.
-
353b90dd
by Valentin David
at 2018-11-28T14:29:52Z
Cleanup cache in cas server more agressively
When there is less than 2GB left, it cleans up have 10GB available.
These values are configurable.
-
ba9afa98
by Valentin David
at 2018-11-28T14:29:52Z
Lock cache cleanup in cas server
Cleaning up in parallel might slow down the cleaning process
-
9a458402
by Valentin David
at 2018-11-29T08:47:40Z
Merge branch 'valentindavid/cache_server_fill_up' into 'master'
Fix cleanup of cache in server when disk is full
Closes #678
See merge request BuildStream/buildstream!830
-
47b7a9ba
by Jim MacArthur
at 2018-11-29T09:58:48Z
_sandboxremote.py: Remove unnecessary tests.
push_message and push_directory will both raise assertion failures if
they fail to send the digest to the server. Checking the digest
returned by each only tests that the content was hashed locally, which
cannot reasonably fail.
-
4a8d0565
by Jim MacArthur
at 2018-11-29T10:42:31Z
Merge branch 'jmac/no-verify-digests' into 'master'
_sandboxremote.py: Remove unnecessary tests.
Closes #786
See merge request BuildStream/buildstream!976
-
2e78e0d1
by Valentin David
at 2018-11-29T13:18:17Z
Add support for .netrc in remote/tar/zip plugins
Fixes #723.
-
a6144100
by Valentin David
at 2018-11-29T13:18:17Z
.gitlab-ci.yml: Update image versions where forgotten
-
f6c184f5
by Valentin David
at 2018-11-29T16:15:56Z
Merge branch 'valentindavid/netrc' into 'master'
Add support for .netrc in remote/tar/zip plugins
Closes #723
See merge request BuildStream/buildstream!908
-
1f31aefc
by Angelos Evripiotis
at 2018-11-30T09:34:38Z
man/: update with changes since Apr 2018
It seems that the regenerated man pages haven't been committed for some
time. Add them all in one lump now.
Had to manually strip the version number from the generated files.
Had to manually fix the NAME field of bst.1 to not be 'bst - None'.
Oddly had to invoke click-man directly in order to get the changes to
be applied, the usual setup.py route mentioned in contributing.rst
didn't work.
Eyeballed the result of invoking man on each of the commands, seems
good.
-
033a5ad9
by Jürg Billeter
at 2018-11-30T10:09:11Z
Merge branch 'aevri/update_man' into 'master'
man/: update with changes since Apr 2018
See merge request BuildStream/buildstream!981
-
1123b9a1
by Tom Pollard
at 2018-11-30T13:30:35Z
_stream.py: Ability to pull missing buildtrees outside of pull/build
Adds helper function _buildtree_pull_required() to determine if a
pullqueue should be constructed, for commands outside of bst pull
and build where it is determined that an element's buildtree
artifact is to be required given the respective semantics and
config. Utilised in push() to attempt to mitigate skipping the push
of partial elements without the user having to have preceded it with
an explicit pull.
cli.py: Add new behaviour to push command description
element.py: Move _cached_buildtree() to be non local private method,
use _KeyStrength types to reduce duplication.
tests/integration/pullbuildtrees.py also updated to cover this
use-case.
-
ad293ed3
by Jürg Billeter
at 2018-11-30T14:10:06Z
Merge branch 'tpollard/774' into 'master'
_stream.py: Ability to pull missing buildtrees outside of pull/build
Closes #774
See merge request BuildStream/buildstream!978
-
0d634c21
by Phillip Smyth
at 2018-11-30T14:16:36Z
plugin.py: Add BAD_ELEMENT_SUFFIX warning
-
d97ef822
by Phillip Smyth
at 2018-11-30T14:16:36Z
_project.py: Check for fatal_warnings earlier
-
59d442e5
by Phillip Smyth
at 2018-11-30T15:41:57Z
loader: Added file suffix check and helper function
_loader/loader.py: Added Suffix check and warning for named elements and add helper function
-
2d6ec07d
by Phillip Smyth
at 2018-11-30T15:41:57Z
cli.py: no autocomplete on files without .bst
-
ac0bc4c0
by Phillip Smyth
at 2018-11-30T16:50:35Z
Added tests for .bst suffix and completions
buildcheckout.py: Add mandatory .bst suffix tests
completions.py: Add test for fail on invalid suffix
Added required files for testing
integration/source-determinism.py: renamed test elements to end with .bst
loader/__init__.py: initialised context properly with load and a message handler
-
d4bc662a
by Phillip Smyth
at 2018-11-30T16:50:50Z
NEWS: Added update about the Mandatory .bst change
-
7cea464a
by Jürg Billeter
at 2018-11-30T17:21:37Z
Merge branch 'mandatory_suffix' into 'master'
Mandatory .bst suffix
See merge request BuildStream/buildstream!967
-
cc5ef68c
by Tristan Van Berkom
at 2018-12-03T08:41:42Z
MANIFEST.in: Include the sources for rebuilding the documentation session HTML
This was previously missing, causing our CI to forget to rebuild the sessions
when updating the documentation.
This fixes issue #778
-
87ba19d7
by Tristan Van Berkom
at 2018-12-03T09:19:54Z
Merge branch 'tristan/fix-doc-session-rebuilds' into 'master'
MANIFEST.in: Include the sources for rebuilding the documentation session HTML
Closes #778
See merge request BuildStream/buildstream!984
-
1b24148f
by Chandan Singh
at 2018-12-03T09:46:13Z
Ensure `--deps=none` option works for `bst checkout`
Currently, `bst checkout --deps none` command always produces empty
output. Fix this issue and add regression test for the same.
- element_enums.py: Add Scope.NONE.
- element.py: Ensure Scope.NONE works correctly in addition to
Scope.RUN/Scope.ALL in Element.dependencies() and Element.search().
- tests/frontend/buildcheckout.py: Fix tests for `--deps none`.
Fixes #670.
-
8ac1e757
by Chandan Singh
at 2018-12-03T09:46:14Z
Add `--deps build` option to `bst checkout`
As discussed in
https://mail.gnome.org/archives/buildstream-list/2018-September/msg00064.html,
add `--deps build` option to `bst checkout`. This will allow users to
checkout the all build dependencies of a given element using a single
command.
- _frontend/cli.py: Add `--deps build` option for `bst checkout`.
- element.py: Support `deps='build'` in Element._prepare_sandbox().
- tests/frontend/buildcheckout.py: Ensure `--deps build` works as
expected.
-
ac60f47a
by Benjamin Schubert
at 2018-12-03T09:46:14Z
Refactor and simplify _prepare_sandbox for elements
Before we would have a intricate logics with multiple arguments
that might get ignored.
This simplifies the design and introduces a bool `shell` instead
of having two different variables concerned about scope
-
b1430fb5
by Tristan Van Berkom
at 2018-12-03T11:01:54Z
Merge branch 'chandan/bst-checkout-build' into 'master'
Add `--deps build` option to `bst checkout`
Closes #670
See merge request BuildStream/buildstream!819
-
9022a778
by Javier Jardón
at 2018-12-03T11:14:55Z
buildstream/plugins/sources/git.py: warn about checkout by default
See #783
-
4462892e
by Tristan Van Berkom
at 2018-12-03T11:45:07Z
Merge branch 'jjardon/doc_git_submodules' into 'master'
git: warn about checkout submodules by default
See merge request BuildStream/buildstream!983
-
6fcfa452
by Jonathan Maw
at 2018-12-03T13:21:05Z
_yamlcache.py: Use a project's junction name if present
This is required because if there are projects with the same name
loaded, that have elements in the same path, with the same contents,
they are considered the same, despite actually belonging to different
Projects.
This fixes buildstream issue #795
-
d0f9c724
by James Ennis
at 2018-12-03T13:21:05Z
tests/loader/junctions.py: Test that we can build a junction that is referred differently, twice.
Test required to close #795 - We should be able to build a project which refers
to the same junction twice, but with two different filenames.
-
f7581026
by Jürg Billeter
at 2018-12-03T16:27:03Z
Merge branch 'jonathan/fix-identical-element' into 'master'
_yamlcache.py: Use a project's junction name if present
Closes #795
See merge request BuildStream/buildstream!980
-
98c15463
by Tristan Van Berkom
at 2018-12-05T07:04:56Z
_scheduler/queues: Don't call update state outside of error handling harness
Commit 3fa79d8da, part of an initiative for caching of the failed builds,
introduced a call to Element._update_state() after a job completes and before
entering the error handling harness intended for handling plugin raised errors.
Element._update_state() can result in triggering plugin code to
run, so this is incorrect, and causes raised errors to crash BuildStream
if they happen here.
After analyzing the code, it appears that this additional call to
Element._update_state() is unneeded, and was only added because the
state needs to be updated for a failure as well as a success.
Instead, we now have the BuildQueue call Element._assemble_done()
unconditionally, regardless of whether the build was successful
or not, which has the same effect and also reads better.
In addition, added a FIXME comment that we are still conditionally
updating the artifact cache size from BuildQueue.done() only
if the build is successful, which is incorrect because failed builds
also increase the local artifact cache size - to fix this we need
to communicate the added artifact size through Element._assemble()
regardless of whether the build succeeded or failed.
-
5d77b871
by Tristan Van Berkom
at 2018-12-05T07:37:54Z
Merge branch 'tristan/refactor-queues-update-state' into 'master'
_scheduler/queues/queue.py: Don't call update state outside of error handling harness
See merge request BuildStream/buildstream!988
-
82513109
by Valentin David
at 2018-12-05T09:47:52Z
git source plugin: Track git tags and save them to reproduce a minimum shallow repository
Instead of tag information being fetched which can change with time,
they are tracked and saved in the projects.refs/.bst. Then we re-tag
automatically the closest tag so that `git describe` works and is
reproducible.
This new feature is opt-in with the new `track-tags` configuration,
and must be used to fix modules which are broken by our new policy
of omitting the `.git/` repository when staging git sources.
This fixes issue #487
-
ec7b62c3
by Valentin David
at 2018-12-05T09:50:15Z
NEWS: Add news about broken 'git describe' by default.
-
761e7570
by Tristan Van Berkom
at 2018-12-05T10:23:49Z
Merge branch 'valentindavid/git_describe_tracking' into 'master'
Track of git tags and save them to reproduce minimum shallow repository
Closes #487
See merge request BuildStream/buildstream!906
-
2f5966bd
by Raoul Hidalgo Charman
at 2018-12-05T10:37:10Z
platform.py: Add mapping of uname to OS-independent values
-
1ad35fcd
by Raoul Hidalgo Charman
at 2018-12-05T10:44:02Z
_config.py: Use os and architecture settings
In element, platform asks for host os and architecture to default to when
SandboxConfig is initialised.
This changes element cache keys so those have been updated in the tests.
-
9f75c274
by Raoul Hidalgo Charman
at 2018-12-05T10:44:02Z
optionarch.py: update to use same arch names as SandboxConfig
Also update tests to be consistent with this
-
a825096c
by Raoul Hidalgo Charman
at 2018-12-05T10:44:02Z
_sandboxremote.py: Add os and arch to command uploaded
These are contained within the platform field.
-
8e09a81c
by Raoul Hidalgo Charman
at 2018-12-05T10:44:02Z
optionos.py: Add new option for OS configuration
-
defec112
by Raoul Hidalgo Charman
at 2018-12-05T10:44:02Z
optionos.py: Add tests for OptionOS
Same format as OptionArch tests, but with OS's.
-
e5d8c7d8
by Raoul Hidalgo Charman
at 2018-12-05T10:44:02Z
_platform: Add checks for os and architecture
-
b0603fb0
by Raoul Hidalgo Charman
at 2018-12-05T10:44:02Z
Sandbox: use linux32 for x86-32 builds on x86-64 machines
o _platform/linux.py: Add linux32 flag to send to sandbox bwrap when the
build arch is x86-32 and the machines arch is x86-64 or similarly with
aarch32 and aarch64.
o sandbox/_sandboxbwrap.py: Use flag passed to start bwrap command with
linux32 if set.
-
f4d76996
by Raoul Hidalgo Charman
at 2018-12-05T14:58:49Z
format_project.rst: Update documentation for changes to OptionArch
-
81163a79
by Raoul Hidalgo Charman
at 2018-12-05T14:58:53Z
format_declaring.rst: Update documentation for sandbox options
-
23c27580
by Raoul Hidalgo Charman
at 2018-12-05T14:58:53Z
format_project.rst: Add docs for OptionOS
-
eb1ed410
by Jürg Billeter
at 2018-12-05T15:28:52Z
Merge branch 'raoul/775-execution-environment-reqs' into 'master'
Execution environment reqs
Closes #775
See merge request BuildStream/buildstream!969
-
9ef1a8a2
by Raoul Hidalgo Charman
at 2018-12-05T15:32:22Z
utils.py: Add message digest function
Get cascache.py to use this
-
4a56bf2a
by Raoul Hidalgo Charman
at 2018-12-05T15:33:44Z
_sandboxremote.py: Add checks to action cache before attempting to push.
Stops unneccesary pushing of builds that have already been built, just checks
the action cache to begin with.
Fixes #628
-
3641b6f6
by Raoul Hidalgo Charman
at 2018-12-05T15:33:44Z
_sandboxremote.py: Add action-cache-service endpoint
The endpoint may not necessarily be the same as execution-service endpoint.
Part of #628
-
9d77351f
by Raoul Hidalgo Charman
at 2018-12-05T15:33:44Z
format_project.rst: Add docs for action-cache-service
Part of #628
-
a53d6d1f
by Raoul Hidalgo Charman
at 2018-12-05T16:36:00Z
Merge branch 'raoul/628-RE-flow-optimisation' into 'master'
Remote-execution client flow optimisation
Closes #628
See merge request BuildStream/buildstream!982
-
4688b2c9
by Tristan Van Berkom
at 2018-12-06T07:35:59Z
tests/sources/git.py: Refactor ref-not-in-track test to use parameterization
Instead of duplicating the whole test body, run it twice while
checking for a warning or an error depending on the parameter.
-
03028c7f
by Tristan Van Berkom
at 2018-12-06T07:35:59Z
types.py: Moving CoreWarnings to the types.py module
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.
-
3b7f8df8
by Tristan Van Berkom
at 2018-12-06T07:35:59Z
Source: Fix typo in documentation, and make it a link to `bst track`
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`.
-
e5c0f067
by Tristan Van Berkom
at 2018-12-06T07:35:59Z
git source plugin: Fixing documentation linking and typo
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'.
-
205c27d8
by Tristan Van Berkom
at 2018-12-06T07:35:59Z
git source plugin: Rename symbol for consistency and readability
Change 'INCONSISTENT_SUBMODULE' for 'WARN_INCONSISTENT_SUBMODULE' to
make things a bit more readable and comprehensive.
-
bea4d4f5
by Tristan Van Berkom
at 2018-12-06T09:37:50Z
Merge branch 'tristan/misc-cleanup' into 'master'
Misc cleanups
See merge request BuildStream/buildstream!993
-
b1d2f001
by Tristan Van Berkom
at 2018-12-06T14:18:31Z
source.py: Add new delegate method validate_cache()
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.
-
ee7fc47f
by Tristan Van Berkom
at 2018-12-06T14:18:31Z
git source plugin: Implementing submodule warnings
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.
-
5fc9a1da
by Tristan Van Berkom
at 2018-12-06T14:18:31Z
git source plugin: Emmit the ref-not-in-track warning from validate_cache()
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.
-
50cb2706
by Tristan Van Berkom
at 2018-12-06T14:18:31Z
tests/testutils/repo/git.py: Adding remove_path() helper
A function for removing paths from a git repo, can also
be used to remove submodules.
-
f139ca8f
by Tristan Van Berkom
at 2018-12-06T14:18:31Z
tests/sources/git.py: Testing the git:unlisted-submodule warning
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)
-
afe1aa9f
by Tristan Van Berkom
at 2018-12-06T14:18:31Z
tests/sources/git.py: Testing the git:invalid-submodule warning
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)
-
57300201
by Tristan Van Berkom
at 2018-12-06T14:18:31Z
tests/sources/git.py: Test unlisted submodules warning appearing after track
-
a0297625
by Tristan Van Berkom
at 2018-12-06T14:18:31Z
tests/sources/git.py: Test invalid submodules warning appearing after track
-
60e96781
by Tristan Van Berkom
at 2018-12-06T15:14:37Z
Merge branch 'tristan/submodule-warnings' into 'master'
Implement submodule warnings
See merge request BuildStream/buildstream!996
-
7fe55143
by Jonathan Maw
at 2018-12-06T15:48:12Z
Fix bst source-checkout not working with open workspaces
-
2a6879a5
by Jonathan Maw
at 2018-12-06T17:46:33Z
Merge branch 'jonathan/source-checkout-workspace' into 'master'
Fix bst source-checkout not working with open workspaces
Closes #807
See merge request BuildStream/buildstream!997
-
e61e6e50
by Tristan Van Berkom
at 2018-12-07T07:57:13Z
_yaml.py: Added `allow_none` parameter to _yaml.node_get()
This allows specifying whether or not the code believes a None
value is acceptable if explicitly expressed to be None in the YAML.
A previous patch 3ba544b80f9f268be8ffe62fc8589b30212ec4a2 changed
the behavior to accept None for all values across the board, along
with allowing explicitly setting the `default_value` to `None` which
caused the code to be much more readable (this was the main motivation
of the patch, but it had the side effect of allowing None for everything).
In the majority of cases we load YAML however, it either has a value or
it is not specified in the YAML, and None is hardly ever acceptable
to be explicitly specified (it may be in the case you want to override
something with nothing in the YAML, but it is the edge case).
This had the side effect of causing unexpected crashes where the
YAML specifies an empty dictionary for instance.
Instead of forcing the caller to handle a possible None value, give
the choice to the caller if they really want to accept a None value,
and raise the LoadError otherwise.
This fixes issue #803, which is a crash due to receival of an
unexpected None value through _yaml.node_get()
-
504ecb3e
by Tristan Van Berkom
at 2018-12-07T07:57:56Z
plugin.py: Added new `allow_none` parameter to Plugin.node_get_member(), defaulting to False.
Allow plugins to conveniently leverage the new `allow_none` parameter,
and have Plugin.node_get_member() raise a LoadError in the usual
case where None is not an acceptable value to be explicitly set in
the user provided YAML.
-
642ae4e8
by Tristan Van Berkom
at 2018-12-07T07:57:56Z
tests/format/project.py: Added new regression test for empty dependency dictionaries
This adds a regression test for issue #803
-
2a0676c3
by Tristan Van Berkom
at 2018-12-07T08:33:14Z
Merge branch 'tristan/yaml-optionally-allow-none' into 'master'
Only optionally allow None values in user provided YAML
Closes #803
See merge request BuildStream/buildstream!999
-
56c2c2cc
by Javier Jardón
at 2018-12-09T16:59:26Z
buildstream/data/projectconfig.yaml: Remove default strip-binaries
They are too specific to be included by default
Recommendation is if you are building in Linux is to use the
ones begin used in the freedesktop-sdk project, for example
See #645
-
dcb6b5e8
by Javier Jardón
at 2018-12-09T16:59:26Z
NEWS: Update for removal of default strip-commands
-
ae0afce5
by Javier Jardón
at 2018-12-09T17:08:16Z
buildstream/buildelement.py: Document where to find strip commands for Linux
-
873b618c
by Javier Jardón
at 2018-12-10T09:49:52Z
Merge branch 'jjardon/strip-binaries-removal' into 'master'
Remove default strip-commands
Closes #645
See merge request BuildStream/buildstream!987
-
f2fcc2f6
by Valentin David
at 2018-12-11T12:12:08Z
Force updating tags when fetching git repository
When using aliases there are multiple remotes used in the cache
repository. When fetching, tags are not updated if the were previously
fetched from a different remote. Commits that not in a branch and only
tagged do not get fetched if the tag is not fetched.
Fixes #812
-
717c10d1
by Valentin David
at 2018-12-11T12:44:56Z
Merge branch 'valentindavid/git_force_fetch_tags' into 'master'
Force updating tags when fetching git repository
Closes #812
See merge request BuildStream/buildstream!1000
-
7892287a
by Jonathan Maw
at 2018-12-11T12:56:32Z
utils.py: Add a helper for searching upwards for files
i.e. with a given directory and filename, check parent directories until
either a directory with the filename is found, or you reach the root of
the filesystem.
This is a part of #222
-
67c7a58d
by Jonathan Maw
at 2018-12-11T12:56:32Z
Create and store data inside projects when opening workspaces
Changes to _context.py:
* Context has been extended to contain a WorkspaceProjectCache, as there
are times when we want to use it before a Workspaces can be initialised
(looking up a WorkspaceProject to find the directory that the project is
in)
Changes to _stream.py:
* Removed staging the elements from workspace_open() and workspace_reset()
Changes in _workspaces.py:
* A new WorkspaceProject contains all the information needed to refer back
to a project from its workspace (currently this is the project path and
the element used to create this workspace)
* This is stored within a new WorkspaceProjectCache object, which keeps
WorkspaceProjects around so they don't need to be loaded from disk
repeatedly.
* Workspaces has been extended to contain the WorkspaceProjectCache, and
will use it when opening and closing workspaces.
* Workspaces.create_workspace has been extended to handle the staging of
the element into the workspace, in addition to creating the equivalent
WorkspaceProject file.
This is a part of #222
-
64836b18
by Jonathan Maw
at 2018-12-11T12:56:32Z
_project.py: Rename _ensure_project_dir to _find_project_dir
This is a part of #222
-
7deeb2c3
by Jonathan Maw
at 2018-12-11T12:56:32Z
cli.py: Use utils' search upwards helper when searching for project.conf
This is a part of #222
-
496f0ab7
by Jonathan Maw
at 2018-12-11T12:56:32Z
_project.py: Find project from workspace if outside of a project
This is a part of #222
-
921f2bcb
by Jonathan Maw
at 2018-12-11T12:56:32Z
_workspaces.py: Do not include .bstproject.yaml in the cache key
This is a part of #222
-
f145a3e4
by Jonathan Maw
at 2018-12-11T12:56:32Z
cli: Interactively warn if the user is trying to close the workspace they're using to load the project
This involves changes in:
* _stream.py:
* Add the helper Stream.workspace_is_required()
* userconfig.yaml:
* Add a default value for prompt.really-workspace-close-project-inaccessible
* _context.py:
* Load the prompt 'really-workspace-close-project-inaccessible' from
user config.
* cli.py:
* If buildstream is invoked interactively, prompt the user to confirm
that they want to close the workspace they're using to load this
project.
This is a part of #222
-
494cb7c6
by Jonathan Maw
at 2018-12-11T14:12:54Z
tests: Test bst commands from an external workspace
This is a part of #222
-
fd1c5c5a
by Jonathan Maw
at 2018-12-11T14:12:54Z
NEWS: Add an entry for being able to run commands from a workspace
This is a part of #222
-
4219a6b4
by Jonathan Maw
at 2018-12-11T16:00:55Z
Merge branch 'jonathan/workspace-fragment-create' into 'master'
Support invoking buildstream from a workspace outside a project
See merge request BuildStream/buildstream!924
-
e564251b
by Jonathan Maw
at 2018-12-11T16:15:19Z
_stream.py: Fix ugly error when opening a workspace using a relative path
-
7cf83343
by Jonathan Maw
at 2018-12-11T16:15:19Z
_context.py: Store the directory buildstream was invoked on
-
a1dee91e
by Jonathan Maw
at 2018-12-11T16:15:19Z
Make specifying elements optional in bst commands
Known issues:
* `bst shell` works, but `bst shell COMMANDS...` doesn't, because click
has no way of separating optional args from variable-length args.
* `bst checkout` and `bst source-checkout`'s usage strings mark LOCATION
as an optional argument. Because click gets confused if there's an
optional argument before a mandatory argument, I had to mark LOCATION
as optional internally.
* `bst workspace open` makes no sense with element being optional, so
I skipped it.
* `bst workspace close` will probably need to be revisited when multiple
projects can own one workspace.
* `bst workspace reset` will happily delete the directory you're
currently in, requiring you to `cd $PWD` to see the contents of your
directory.
I could exclude the top-level directory of the workspace being
deleted, but it is entirely valid to run workspace commands from deeper
in the workspace.
This is a part of #222
-
9b192015
by Jonathan Maw
at 2018-12-11T16:15:19Z
tests: Add tests for guessing element names
This is a part of #222
-
e340371f
by Jonathan Maw
at 2018-12-11T16:15:19Z
Add NEWS for guessing the element in commands
This is a part of #222
-
bbf81c3d
by Jonathan Maw
at 2018-12-11T16:15:19Z
doc: Point out that element is optional when commands are run from the workspace
This is a part of #222
-
a5a53ddd
by Jonathan Maw
at 2018-12-12T13:44:09Z
Merge branch 'jonathan/workspace-fragment-guess-element' into 'master'
Guess the element when running commands in a workspace
See merge request BuildStream/buildstream!954
-
d55b9e39
by Phil Dawson
at 2018-12-12T13:55:19Z
Add --tar option to source-checkout command
This commit is part of the work towards #672
-
733aab53
by Phil Dawson
at 2018-12-12T13:55:19Z
Add --force / -f option to source-checkout command
-
c2efeba0
by Phil Dawson
at 2018-12-12T14:43:40Z
Add option to source-checkout command to generate build scripts
-
85c61894
by Phil Dawson
at 2018-12-12T14:43:40Z
Remove source bundle command
This is part of the work towards #672
-
a322d5c0
by Phil Dawson
at 2018-12-12T14:43:40Z
NEWS: Add entry about the removal of source-bundle command
-
ec909605
by Phil Dawson
at 2018-12-12T15:45:42Z
Merge branch 'phil/source-checkout-options' into 'master'
Retire bst source bundle command
Closes #672
See merge request BuildStream/buildstream!959
-
3697a611
by Richard Maw
at 2018-12-12T16:31:38Z
cli: Add support for auto-completing artifact ref names
-
b3dceb16
by Richard Maw
at 2018-12-12T16:32:41Z
cli: Add artifact command group
-
ba08a0cd
by Richard Maw
at 2018-12-12T16:32:41Z
cli: Add artifact log command
-
70fb9554
by Richard Maw
at 2018-12-12T16:32:41Z
tests: Add tests for artifact group commands
-
f773e746
by Richard Maw
at 2018-12-12T16:33:02Z
NEWS: Mention `bst artifact log`
-
b6528441
by richardmaw-codethink
at 2018-12-12T18:00:59Z
Merge branch 'richardmaw/artifact-log' into 'master'
Add artifact log command
See merge request BuildStream/buildstream!920
-
d03bf316
by Benjamin Schubert
at 2018-12-13T10:24:11Z
Mock storage space checks for tests.
Fix #530
- Extract free space computation in a function for easier
mocking
- Mock space computation during cache quota tests
- Mock cache size during cachque quota tests
- Add two more tests when the configuration would require
to much storage space
-
a116f576
by Tristan Van Berkom
at 2018-12-13T10:58:46Z
Merge branch 'BenjaminSchubert/fix-quota-tests' into 'master'
Mock storage space checks for tests.
Closes #530
See merge request BuildStream/buildstream!702
-
180fa774
by Benjamin Schubert
at 2018-12-13T12:05:15Z
element.py: fix unbounded variable in nested python exception
As per https://docs.python.org/3.7/reference/compound_stmts.html#except
variables used in the "except" clause are erased at the end of the
block.
We had a conflict with a nested exception using the same variable as
before.
This renames the nested variable to avoid the clash
-
224aa4c2
by Benjamin Schubert
at 2018-12-13T12:34:41Z
Merge branch 'bschubert/fix-unbound-variable-exception' into 'master'
element.py: fix unbounded variable in nested python exception
See merge request BuildStream/buildstream!1006
-
053beb66
by Tristan Van Berkom
at 2018-12-13T14:23:19Z
manual plugin: Support virtual directories
-
29ab271c
by Tristan Van Berkom
at 2018-12-13T14:23:19Z
makemaker plugin: Support virtual directories
-
ba955cf0
by Tristan Van Berkom
at 2018-12-13T14:23:19Z
pip element plugin: Support virtual directories
-
6010b5a4
by Tristan Van Berkom
at 2018-12-13T14:23:19Z
modulebuild plugin: Support virtual directories
-
3a6d27a4
by Tristan Van Berkom
at 2018-12-13T14:23:19Z
distutils plugin: Support virtual directories
-
4c0e602c
by Tristan Van Berkom
at 2018-12-13T14:23:19Z
BuildElement: Don't enable batching of prepare and assemble by default
Some external plugins depend derive from BuildElement and are broken
by BuildElement enabling this batching by default.
Instead, enable it in all of the individual build element plugin
implementations.
This fixes issue #800
-
60ddeeb9
by Tristan Van Berkom
at 2018-12-13T14:58:28Z
Merge branch 'tristan/dont-batch-prepare-assemble-by-default' into 'master'
Dont batch prepare assemble by default
Closes #800
See merge request BuildStream/buildstream!1009
-
bf72cc42
by Angelos Evripiotis
at 2018-12-13T17:31:17Z
contributing: mandate end-to-end tests, allow others
Update the section on adding tests, to fulfill these broad points:
- Mandate end-to-end testing, with rationale.
- Mention internal APIs as endpoints for testing.
- Warn against pitfalls of unit-testing.
It's more text than I would have liked, perhaps in later work we'll be
able to say it with less.
This change integrates feedback from the mailing list
'Guidance on Unit Tests' thread:
https://mail.gnome.org/archives/buildstream-list/2018-November/msg00045.html
-
13eb7ed2
by Angelos Evripiotis
at 2018-12-13T18:01:56Z
Merge branch 'aevri/contributing_e2e_tests' into 'master'
contributing: more clarity on testing
See merge request BuildStream/buildstream!973
-
629a6e52
by Chandan Singh
at 2018-12-14T19:34:20Z
Introduce new "source" command group
Following the message thread
https://mail.gnome.org/archives/buildstream-list/2018-November/msg00106.html,
implement a new command group called `source`. Move existing `track`,
`fetch`, and the recently added `source-checkout` commands under this
group.
For `track` and `fetch`, this is a BREAKING change, as the old commands
have been marked as obsolete. Using them will result in an error message
that refers people to use the new versions, like `bst source fetch`
instead of old `bst fetch`. `source-checkout` will now become
`source checkout` (the dash has turned into a space), and is not a
breaking change as it was added in the current development cycle.
Note that the functionality to hide commands from help output was added
only recently in Click, so the minimum version of Click that we now
require is 7.0.
Summary of changes:
* _frontend/cli.py: Add `source` command group, mark previous versions
as obsolete and hide them from the help output.
* _frontend/complete.py: Fix completion for hidden commands.
* setup.py: Bump Click minimum version to 7.0.
* tests: Update to cope with the new command names.
Fixes #814.
-
f894c0a8
by Chandan Singh
at 2018-12-14T19:34:20Z
NEWS: Add entry for new source command group
Also, change the existing entry about `source-checkout` to be
`source checkout` instead. And, while we are there, move it near the
other announcements about the source command group.
-
b23bec55
by Chandan Singh
at 2018-12-14T20:07:13Z
Merge branch 'chandan/source-subgroup' into 'master'
Introduce new "source" command group
Closes #814
See merge request BuildStream/buildstream!1003
-
d2105909
by Raoul Hidalgo Charman
at 2018-12-18T11:13:56Z
Add remote execution instance option
This is used when sending execution requests, to specify which instance of the
execution server to use.
Partial fix for #627.
-
a3bbec23
by Jim MacArthur
at 2018-12-18T11:13:56Z
sandboxremote: Add server/storage config with defaults
Adds instance name support for the remote execution storage service.
-
89219f61
by Jim MacArthur
at 2018-12-18T11:13:56Z
_cascache.py: Add instance names to GRPC calls
Adds the 'instance_name' parameter, which may be None, to most GRPC
calls in the CASCache object. ByteStream requests already have
instance_name supplied in the resource name, so do not need the
parameter.
Closes #627.
-
3dc20963
by Jim MacArthur
at 2018-12-18T11:13:56Z
Documentation: Include instance-name in remote execution documentation
-
644d8b28
by Jim MacArthur
at 2018-12-18T11:45:30Z
Merge branch 'raoul/627-RE-instance-config' into 'master'
Remote-execution instance configuration support
Closes #627
See merge request BuildStream/buildstream!952
-
e29aea36
by William Salmon
at 2018-12-19T13:23:19Z
Basic options for shell --build to use buildtrees
Fixes issue #740
-
898a23a5
by Will Salmon
at 2018-12-19T14:35:41Z
Merge branch 'willsalmon/shellBuildTrees' into 'master'
Shell --build has optional buildtrees
Closes #740
See merge request BuildStream/buildstream!986
-
a2f1d879
by Javier Jardón
at 2018-12-19T15:36:11Z
README.rst: Add license badge
-
aae5e4b3
by Javier Jardón
at 2018-12-19T16:09:48Z
Merge branch 'jjardon/license_badge' into 'master'
README.rst: Add license badge
See merge request BuildStream/buildstream!1014
-
2b767fe8
by Jürg Billeter
at 2018-12-20T10:06:11Z
Move fetch logic from FetchQueue to Element
The queue shouldn't need to know about individual sources. This is in
line with _track() and _get_consistency().
-
7a102144
by Jürg Billeter
at 2018-12-20T10:06:11Z
element.py: Do not call fetch() for cached sources
-
b325989e
by Jürg Billeter
at 2018-12-20T10:07:20Z
tests/sources: Test that fetch() is not called for cached sources
-
77d8ad45
by Jürg Billeter
at 2018-12-20T10:42:39Z
Merge branch 'juerg/fetch' into 'master'
Do not call fetch() for cached sources
See merge request BuildStream/buildstream!992
-
9835b7f1
by Chandan Singh
at 2018-12-20T12:50:02Z
Expose base class for Git source plugins
Add a `_GitSourceBase` class to act as the base class for deriving
source plugins that work with Git. The first user of this base class is
the `git` source plugin that's in core at the moment.
The contents of this base class is almost identical to the existing `GitSource`
class. The two notable differences are:
- the private methods now have leading underscores, as some were missing
it originally
- the name of the class
Note that we are exposing a private member here as we expect it to move to a
separate package soon. See the following discussion for more details:
https://gitlab.com/BuildStream/buildstream/issues/739#note_124819869
Fixes #739.
-
14da6955
by Chandan Singh
at 2018-12-20T13:34:10Z
Merge branch 'chandan/abstract-git-source' into 'master'
Expose base class for Git source plugins
Closes #739
See merge request BuildStream/buildstream!1019
-
7368f569
by Angelos Evripiotis
at 2018-12-20T13:59:23Z
_project::_find_project_dir: fix error message
Now that we are also looking for WORKSPACE_PROJECT_FILE, we should add
it to the error message. While we're there, also mention the directory
we are looking in - this could help scripters be clear about what went
wrong.
The new error message looks like this:
Error loading project: None of ['project.conf', '.bstproject.yaml']
found in '/src/temp/blah' or any of its parent directories
-
46efc91d
by Angelos Evripiotis
at 2018-12-20T13:59:23Z
BREAK: remove auto-init behaviour
In the event that the project could not be found, stop BuildStream from
asking if the user would like to create a new project. Exit with error
instead, and give a hint to the user in case they're new.
As proposed on the mailing list here:
https://mail.gnome.org/archives/buildstream-list/2018-December/msg00082.html
The new interaction looks like this:
$ bst show nonsuch.bst
No project found. You can create a new project like so:
bst init
Error loading project: None of ['project.conf', '.bstproject.yaml']
found in '/src/temp/blah' or any of its parent directories
Fixes #826
-
e0c575c4
by Angelos Evripiotis
at 2018-12-20T14:37:38Z
Merge branch 'aevri/rm-autoinit' into 'master'
BREAK: remove auto-init behaviour
Closes #826
See merge request BuildStream/buildstream!1015
-
c05d8b4f
by Chandan Singh
at 2018-12-20T15:53:12Z
tests/frontend/logging.py: Fix regex Deprecation Warning
Use raw strings for regex searches, which is the preferred way to do
regular expressions in Python.
Without this patch, currently we get the following warnings:
```
tests/frontend/logging.py:44
/builds/BuildStream/buildstream/dist/buildstream/tests/frontend/logging.py:44: DeprecationWarning: invalid escape sequence \[
m = re.search("\[\d\d:\d\d:\d\d\]\[\]\[\] SUCCESS Checking sources", result.stderr)
tests/frontend/logging.py:80
/builds/BuildStream/buildstream/dist/buildstream/tests/frontend/logging.py:80: DeprecationWarning: invalid escape sequence \d
m = re.search("\d\d:\d\d:\d\d,\d\d:\d\d:\d\d.\d{6},\d\d:\d\d:\d\d,,,SUCCESS,Checking sources", result.stderr)
```
-
e8055a56
by Chandan Singh
at 2018-12-20T15:53:12Z
buildstream/utils.py: Fix regex Deprecation Warning
Specify flags at the start of the _expression_ as per the recommendation
of the standard library.
Without this patch, we currently get the following warning:
```
tests/examples/junctions.py::test_open_cross_junction_workspace
/builds/BuildStream/buildstream/dist/buildstream/buildstream/utils.py:213: DeprecationWarning: Flags not at the start of the _expression_ '\\/[^/]*\\Z(?ms)'
regexer = re.compile(_expression_)
```
-
cd4889af
by Chandan Singh
at 2018-12-20T16:34:08Z
Merge branch 'chandan/fix-warning' into 'master'
Fix Deprecation warnings from regex module
See merge request BuildStream/buildstream!1010
-
ac995236
by Tom Pollard
at 2018-12-20T17:18:02Z
_stream.py: fix _buildtree_pull_required logic
-
c3153dea
by Tom Pollard
at 2018-12-21T10:10:58Z
Merge branch 'tpollard/fixbuildtreereq' into 'master'
_stream.py: fix _buildtree_pull_required logic
See merge request BuildStream/buildstream!1021
-
caf49669
by Tristan Van Berkom
at 2018-12-26T19:54:05Z
dev-requirements.txt: Require at least pytest 3.9
Recently we have been adding some tests which use the new tmp_path
fixture from pytest, this is new in 3.9.
-
425781db
by Tristan Van Berkom
at 2018-12-26T19:54:05Z
_signals.py: Fixing new (simplifiable-if-_expression_) linter errors
-
1f8cc996
by Tristan Van Berkom
at 2018-12-26T19:54:05Z
element.py: Fixing new (unnecessary-pass) and (simplifiable-if-_expression_) linter errors
-
89632150
by Tristan Van Berkom
at 2018-12-26T19:54:05Z
source.py: Fixing new (unnecessary-pass) linter error
-
26d135ba
by Tristan Van Berkom
at 2018-12-26T19:54:05Z
_artifactcache/casserver.py: Fixed new (wrong-import-order) linter error
-
d0988f80
by Tristan Van Berkom
at 2018-12-26T19:54:05Z
_frontend/cli.py: Fixing new (unnecessary-pass) linter errors
-
4d54ab78
by Tristan Van Berkom
at 2018-12-26T19:54:05Z
_frontend/complete.py: Fixing new (simplifiable-if-_expression_) linter error
-
ee0d5bf6
by Tristan Van Berkom
at 2018-12-26T19:54:05Z
_frontend/widget.py: Fixing new (wrong-import-order) linter error
-
36295282
by Tristan Van Berkom
at 2018-12-26T19:54:05Z
plugins/elements/import.py: Fixing new (duplicate-string-formatting-argument) linter error
-
4ffe03c6
by Tristan Van Berkom
at 2018-12-26T19:54:05Z
buildstream/storage/_casbaseddirectory.py: Fixing new (unnecessary-pass) linter errors
-
80c137d5
by Tristan Van Berkom
at 2018-12-26T19:54:05Z
dev-requirements.txt: Require new version of pytest-datafiles
Since Thomas Nixon fixed the datafiles plugin to be compatible
with pytest >= 3.8.0, we can now depend on it and avoid the
warnings and errors which the older datafiles plugin causes.
This fixes issue #636
-
61906a14
by Tristan Van Berkom
at 2018-12-26T19:54:05Z
dev-requirements.txt: Remove the restriction on pylint.
After having fixed the more recent linting errors, the
tests should pass with recent versions of pylint. Tested
with pylint 2.2.2.
-
94b9948c
by Tristan Van Berkom
at 2018-12-26T22:35:29Z
Merge branch 'tristan/test-fixes' into 'master'
Misc fixes to the tests and newer linter errors
Closes #636
See merge request BuildStream/buildstream!1011
-
fe4fc0b5
by Tristan Van Berkom
at 2018-12-26T23:19:07Z
_downloadablefilesource.py: Avoid crashes when HOME is unset
The python netrc module will raise OSError in the case
that HOME is not set, this was discovered while running
tests under tox.
-
c61e1793
by Tristan Van Berkom
at 2018-12-26T23:19:07Z
tests/testutils/runcli.py: Fixed broken environment handling
Treat None values in the passed dictionary as keys to be removed
from the environment, this was already happening at restoration time.
-
50c1bb7f
by Tristan Van Berkom
at 2018-12-26T23:19:07Z
tests/sources/tar.py: Test that we don't crash when HOME is unset
This happens when the netrc module is searching for a ~/.netrc
file and it doesnt find any HOME set.
-
32a101f6
by Tristan Van Berkom
at 2018-12-26T23:53:29Z
Merge branch 'tristan/fix-netrc-crasher' into 'master'
Fix netrc crasher
See merge request BuildStream/buildstream!1025
-
a080b6c7
by Tristan Van Berkom
at 2018-12-31T19:03:25Z
tests/loader/junctions.py: Use Result checking APIs instead of manually
Better to use the same API everywhere for thecking CLI results.
-
d7c8b54d
by Tristan Van Berkom
at 2018-12-31T19:14:16Z
tests/loader/junctions.py: Test the error we expect when a cross junction element is not found
-
560a6342
by Tristan Van Berkom
at 2018-12-31T19:49:24Z
Merge branch 'tristan/junction-tests' into 'master'
Junction test addition
See merge request BuildStream/buildstream!1029
-
8a020a5a
by Chandan Singh
at 2018-12-31T19:54:25Z
_loader/loader.py: Refactor warnings about element names in one method
Currently we some duplication in the way we check for invalid filenames.
To make it more robust and allow room for adding more warnings, refactor
it into a separate method `_warn_invalid_elements()` that handles just
this.
-
87568074
by Chandan Singh
at 2018-12-31T19:54:25Z
_loader/loader.py: Add warnings about invalid characters in filename
See https://mail.gnome.org/archives/buildstream-list/2018-December/msg00061.html
for some related discussion.
-
4b2992c1
by Chandan Singh
at 2018-12-31T19:54:25Z
tests/buildcheckout.py: Add tests for invalid chars in filename
-
ce9e9c2d
by Chandan Singh
at 2018-12-31T19:54:25Z
doc: Add note about valid element names
-
b848172c
by Tristan Van Berkom
at 2018-12-31T20:29:51Z
Merge branch 'chandan/element-filename-requirements' into 'master'
Add warnings about invalid characters in filename
See merge request BuildStream/buildstream!1028
-
bb9df2a1
by Chandan Singh
at 2019-01-02T11:59:35Z
doc/Makefile: Update comment about sphinx entrypoint
https://github.com/sphinx-doc/sphinx/issues/4375 has been closed as
`wontfix`. Update the comment in doc/Makefile that mentions it, based on
the discussion on the issue.
-
43eaf6ee
by Chandan Singh
at 2019-01-02T13:42:10Z
Merge branch 'chandan/update-doc-makefile-note' into 'master'
doc/Makefile: Update comment about sphinx entrypoint
See merge request BuildStream/buildstream!1026
-
3b5c8a28
by Tristan Maat
at 2019-01-02T15:57:13Z
.gitlab-ci.yml: Use new testsuite images with pycodestyle 1.4.0
We need to bump the testsuite image versions to use the new
pycodestyle update that allows excluding file paths, so that we can
exclude generated python code.
-
bd60e8a9
by Javier Jardón
at 2019-01-02T16:59:41Z
Use pycodestyle instead of pep8
pep8 package was renamed to pycodestyle to reduce confusion.
Disabled warnings:
W504 - Line break after binary operator (seems people like this)
W605 - Invalid escape sequence (some of our regexes use these)
-
32c47d1c
by Tristan Maat
at 2019-01-02T17:32:09Z
Merge branch 'jjardon/pycodestyle' into 'master'
Use pycodestyle instead pep8 python module
See merge request BuildStream/buildstream!638
-
1cbd9a73
by Chandan Singh
at 2019-01-02T19:39:58Z
Add requirements files for install, test and plugin dependencies
Add `.in` and `.txt` requirements files for BuildStream's pure python
dependencies. For each pair, the `.in` file is supposed to capture the
loose version requirements, and the corresponding `.txt` file is
supposed to have frozen requirements. We have 3 such sets:
* `requirements`: BuildStream's runtime dependencies
* `dev-requirements`: Dependencies for running tests
* `plugin-requirements`: Dependencies for core plugins
Note that the frozen requirements files will only be used for testing
purposes, and `setup.py` will continue to read loose requirements.
-
6b0cb5f3
by Chandan Singh
at 2019-01-02T19:41:21Z
Add tox.ini to enable running tests using tox
Add `tox.ini` file that will enable us to use
[tox](https://tox.readthedocs.io/) as a frontend for running tests.
Since we share the config via `setup.cfg` and requirements via
requirements files, commands like `python3 setup.py test` will continue
to work.
-
9d2d1d4f
by Chandan Singh
at 2019-01-03T03:31:52Z
.gitlab-ci.yml: Run tests using tox
Instead of invoking tests throung `setup.py`, use `tox` as a frontend in
the CI pipelines.
-
8ae04283
by Tristan Van Berkom
at 2019-01-03T03:31:52Z
CONTRIBUTING.rst: Updated to reflect running tests using tox.
-
e7e2a5c1
by Chandan Singh
at 2019-01-03T03:31:52Z
CONTRIBUTING.rst: Add steps for installing non-python build dependencies
Since we don't allow use of site packages by default in our `tox`
configuration, people will need to install non-python build dependencies
of some of our dependencies that do not provide pre-built wheels. We
have two such packages at the moment:
* psuitl: requires python C headers, compiler
* pygobject: requires python C headers, pkg-config, compiler, cairo
headers, and gobject libraries
-
afa0a369
by Chandan Singh
at 2019-01-03T03:31:52Z
Move all requirements files into "tools" directory
These new `.in` and `.txt` are making the repository look very
cluttered. Move them to a separate `tools` directory to make it look a
bit cleaner.
-
3fae3446
by Chandan Singh
at 2019-01-03T03:44:17Z
Move sphinx build functionality to tox
Currently the CI and the docs both have to duplicate the same inforation
about how to gather dependencies etc, and have to use hacky ways to run
them.
Add a new `docs` environment to our tox setup so that building docs is
as simple as running `tox -e docs`.
-
1f7bc655
by Chandan Singh
at 2019-01-03T03:44:17Z
CONTRIBUTING.rst: Add instructions to recreate tox environment
When we update our dependencies, developers will eventually need to
recreate their `tox` environments to get correct results. This happens
because `tox` isn't particularly good at recognizing changes in the
requirements files.
-
669b55b0
by Tristan Van Berkom
at 2019-01-03T15:47:27Z
Merge branch 'chandan/toxify' into 'master'
Use tox as a frontend for running tests
See merge request BuildStream/buildstream!1027
-
ca547f19
by Chandan Singh
at 2019-01-03T19:34:49Z
tests/frontend/buildcheckout.py: Fix bad filename issue for Windows
In BuildStream/buildstream!1028, we added a test specifically to test
that BuildStream correctly raises an warning when the name of an element
contains characters that are invalid on Windows. Unfortunately, we
didn't see it coming that it would make it impossible to checkout this
branch on Windows.
Fix it by generating this file, only if we are not running on Windows.
* tests/testutils/site.py: Add `IS_WINDOWS` check
* tests/frontend/buildcheckout.py: Generate file with invalid filename
on the fly
* Remove tests/frontend/project/elements/invalid-chars.
Fixes #842.
Note that this may still cause issues on WSL when running tests on a
shared filesystem, but that seems to be a generic issue on WSL with
`os.rename`.
-
01c3761c
by Chandan Singh
at 2019-01-03T20:03:32Z
Merge branch 'chandan/fix-bad-filename-mini-disaster' into 'master'
tests/frontend/buildcheckout.py: Fix bad filename issue for Windows
Closes #842
See merge request BuildStream/buildstream!1032
-
7850e4e2
by Tristan Van Berkom
at 2019-01-03T20:55:00Z
setup.cfg: Specify the pycodestyle configurations separately from pytest configuration
-
3c9d592d
by Tristan Van Berkom
at 2019-01-03T20:55:00Z
setup.cfg: Don't lint by default through setup.py test invocations
-
feba48e7
by Tristan Van Berkom
at 2019-01-03T20:55:00Z
tox.ini: Added new 'lint' environment to lint separately
-
9caa0ea0
by Tristan Van Berkom
at 2019-01-03T20:55:00Z
.gitlab-ci.yml: Update the CI to run the linter separately through tox
This should save us some cycles in CI, and also allow the
developer to more conveniently lint separately from testing.
-
91c8b634
by Tristan Van Berkom
at 2019-01-03T21:04:49Z
CONTRIBUTING.rst: Adding instructions to run the linter separately
-
892bf99e
by Tristan Van Berkom
at 2019-01-03T21:31:04Z
tools/requirements.{in,txt}: Fix warning about duplicate jinja
Apparently you need to spell Jinja2 with a capital J, otherwise
we find it listed twice in the resulting requirements.txt files.
-
7c681c42
by Tristan Van Berkom
at 2019-01-03T21:32:40Z
tools/dev-requirements.{in,txt}: Removed requirements on pylint/codestyle pytest plugins
We no longer run the linters through pytest, so we don't need these
plugins anymore.
-
d6689ed2
by Tristan Van Berkom
at 2019-01-03T22:09:02Z
Merge branch 'tristan/toxic-linting' into 'master'
Run the linter separately from the tests
See merge request BuildStream/buildstream!1033
-
e15278d7
by Thomas Coldrick
at 2019-01-03T22:14:01Z
Use collections.abc for Mapping, Iterable
In _yaml.py and _frontend/complete.py we were getting pylint warnings
for using collections.Mapping and collections.Iterable, which are
abstract classes now provided from collections.abc. This patch just
uses the classes from the right place.
-
a85da591
by Tristan Van Berkom
at 2019-01-03T22:36:16Z
Merge branch 'coldtom/collections' into 'master'
Use collections.abc for Mapping, Iterable
Closes #831
See merge request BuildStream/buildstream!1020
-
cf0e7d26
by Jürg Billeter
at 2019-01-04T07:07:59Z
_frontend/cli.py: Reinstate support for guessing targets
Moving fetch and track to the source command group accidentally dropped
the support for guessing targets for these commands when invoked from a
workspace directory. This brings it back.
-
0751fc8f
by Jürg Billeter
at 2019-01-04T11:27:58Z
Merge branch 'juerg/source-guess-target' into 'master'
_frontend/cli.py: Reinstate support for guessing targets
See merge request BuildStream/buildstream!1036
-
ebd965fe
by Chandan Singh
at 2019-01-04T15:21:35Z
Rename "tools" directory to "requirements"
This seems like a better name for the directory, as it more closely
describes the purpose of its contents.
-
bb712886
by Chandan Singh
at 2019-01-04T15:21:35Z
Add Makefile to update requirements files
-
b9792837
by Chandan Singh
at 2019-01-04T15:21:35Z
CONTRIBUTING.rst: Add instructions to update requirements files
Split the "The MANIFEST.in and setup.py" section in two:
"Managing data files" and "Updating BuildStream's Python dependencies".
Briefly explain the layout of `requirements` directory and add
instructions to use the Makefile added in the last commit.
-
45692335
by Tristan Van Berkom
at 2019-01-04T15:50:14Z
Merge branch 'chandan/update-requirements-one-liner' into 'master'
Add Makefile to update requirements files
See merge request BuildStream/buildstream!1035
-
f42dcb54
by Chandan Singh
at 2019-01-04T17:16:43Z
.gitlab-ci.yml: Remove prepare stage
As we now run tests using `tox`, we don't need to worry about manually
packing and unpacking BuildStream. So, we can remove the preapre stage
entirely.
Update `coverage` and nightly jobs to appropriately cope with this
change. Both these jobs now install all runtime dependencies from
requirements files.
-
ee29f207
by Chandan Singh
at 2019-01-04T17:41:02Z
Merge branch 'chandan/no-sdist' into 'master'
.gitlab-ci.yml: Remove prepare stage
See merge request BuildStream/buildstream!1037
-
f122cfe8
by Jürg Billeter
at 2019-01-06T17:57:33Z
_frontend/app.py: Use buildtree for interactive shell on build failure
Fixes: e29aea36 ("Basic options for shell --build to use buildtrees")
-
7dfb85b3
by Tristan Van Berkom
at 2019-01-06T18:31:25Z
Merge branch 'juerg/shell-buildtree' into 'master'
_frontend/app.py: Use buildtree for interactive shell on build failure
See merge request BuildStream/buildstream!1039
-
891fcb0e
by Tristan Van Berkom
at 2019-01-07T16:47:01Z
Fix stack traces discovered with ^C forceful termination.
* utils.py:_kill_process_tree(): Ignore NoSuchProcess errors
These are caused because we issue SIGTERM, and if the process
has not exited after a timeout, we kill it.
* _scheduler/jobs/job.py: Stop handling NoSuchProcess errors here
redundantly, they are already ignored.
It seems that we were ignoring it after sleeping when terminating
tasks from the scheduler... but we were not ignoring it when performing
the same pattern in the `Plugin.call()` -> `utils._call()` path, so
we were still getting these exceptions at termination time from host
tool processes launched by source plugins.
-
5de42d43
by Tristan Van Berkom
at 2019-01-07T18:00:37Z
Merge branch 'tristan/keyboard-interrupt-stack-trace' into 'master'
Fix stack traces discovered with ^C forceful termination.
See merge request BuildStream/buildstream!1043
-
059035b9
by Tristan Van Berkom
at 2019-01-07T18:02:00Z
_scheduler/scheduler.py: Make _schedule_jobs() private
This is not used anywhere outside of the Scheduler, currently
only the Scheduler itself is allowed to queue a job at this level.
If the highlevel business logic for automatic queueing of auxiliary
jobs moves to another location, we can make this public again.
-
b83d1b1f
by Tristan Van Berkom
at 2019-01-07T18:02:00Z
_scheduler/scheduler.py: Only run one cache size job at a time
When queuing the special cache management related cleanup and
cache size jobs, we now treat these jobs as special and do the
following:
* Avoid queueing a cleanup/cache_size job if one is already queued
We just drop redundantly queued jobs here.
* Ensure that jobs of this type only run one at a time
This could have been done with the Resources mechanics,
however as these special jobs have the same properties and
are basically owned by the Scheduler, it seemed more straight
forward to handle the behaviors of these special jobs together.
This fixes issue #753
-
16a8816f
by Tristan Van Berkom
at 2019-01-07T18:02:00Z
Scheduler: Introduced JobStatus instead of simple success boolean
This changes the deepest callback from when a Job completes to
propagate a JobStatus value instead of a simple boolean, and updates
all of the effected code paths which used to receive a boolean
to now handle the JobStatus values.
This further improves the situation for issue #753, as now we avoid
queueing cache size jobs for pull jobs which are skipped.
-
c2fc2a5e
by Tristan Van Berkom
at 2019-01-07T18:02:00Z
_scheduler/jobs/job.py: Removed 'skipped' property
This is redundant now that we report it through the JobStatus.
-
3e3984ad
by Tristan Van Berkom
at 2019-01-07T18:50:23Z
Merge branch 'tristan/one-cache-size-job' into 'master'
Only queue one cache size job
Closes #753
See merge request BuildStream/buildstream!1040
-
512c726e
by Tristan Van Berkom
at 2019-01-08T03:38:11Z
sandbox/sandbox.py: Fix regression of command logging
Since we added batch commands, the batch commands print the
text of the commands directly in the message text, but this is wrong.
The detail string is the appropriate place for text of unknown lengths
(the user can actually configure how many max lines of commands they
want to see in their log), the message text itself should be controlled
and brief enough to avoid text wrapping.
-
01171988
by Tristan Van Berkom
at 2019-01-08T04:20:14Z
Merge branch 'tristan/fix-command-status-messages' into 'master'
sandbox/sandbox.py: Fix regression of command logging
See merge request BuildStream/buildstream!1044
-
6c1d06d6
by Phil Dawson
at 2019-01-08T10:24:32Z
element.py: remove reference to source bundle command
This command has been replacved by the bst source checkout command
-
914ecb72
by Jürg Billeter
at 2019-01-08T10:54:02Z
Merge branch 'phil/remove-source-bundle-reference' into 'master'
element.py: remove documentation reference to source bundle command
See merge request BuildStream/buildstream!1041
-
81f7a964
by Tristan Van Berkom
at 2019-01-08T16:55:58Z
sandbox/sandbox.py: Use assertions for programming errors instead of BstErrors.
When code is faulty, in a plugin or in the core, we should
get a stack trace and a BUG message.
-
edcc43ed
by Tristan Van Berkom
at 2019-01-08T19:19:10Z
Merge branch 'tristan/sandbox-programming-error' into 'master'
sandbox/sandbox.py: Use assertions for programming errors instead of BstErrors.
See merge request BuildStream/buildstream!1046
-
17c5ca2d
by Valentin David
at 2019-01-09T10:45:23Z
Use relative path to project directory for remote execution certificates/keys
-
605f8d11
by Valentin David
at 2019-01-09T10:45:23Z
Add support for user remote execution configuration
Fixes #631.
-
65ea03ab
by Valentin David
at 2019-01-09T10:45:23Z
Add support for https channel to remote execution and actions servers
Fixes #780.
-
ba05c4fa
by Valentin David
at 2019-01-09T12:58:59Z
Merge branch 'valentindavid/remote_execution_configuration' into 'master'
Remote execution configuration: HTTPS and user configuration
Closes #780 and #631
See merge request BuildStream/buildstream!1030
-
eb0dbcfc
by Valentin David
at 2019-01-09T13:56:58Z
buildstream/plugins/elements/script.py: Mark script as BST_VIRTUAL_DIRECTORY
ScriptElement does not use Sandbox.get_directory. It works using it
with remote execution.
Fixes #850
-
f7681925
by Valentin David
at 2019-01-09T14:44:22Z
Merge branch 'valentindavid/script_virtual_directory' into 'master'
buildstream/plugins/elements/script.py: Mark script as BST_VIRTUAL_DIRECTORY
Closes #850
See merge request BuildStream/buildstream!1047
-
f87d1c93
by Jim MacArthur
at 2019-01-09T15:01:18Z
sandboxremote.py: Rename 'instance_name' option to 'instance-name'
It was 'instance-name' in the documentation.
-
ed8bc5bc
by Jim MacArthur
at 2019-01-09T15:30:28Z
Merge branch 'jmac/rename_instance_name' into 'master'
Rename 'instance_name' option to 'instance-name'
See merge request BuildStream/buildstream!1048
-
f29a0995
by Tristan Van Berkom
at 2019-01-09T19:51:14Z
Support running test environments in parallel with `detox`
This patch namespaces the test temp directory and the output
coverage report file with the name of the environment under test,
such that separately run tests do not access the same files.
When running tests without tox, directly through setup.py,
then the tmp directory will still be `./tmp`.
* .gitignore: Added new .coverage-reports/ directory
* .gitlab-ci.yml: Rely on tox to combine and report coverage, only
tell tox about the COVERAGE_PREFIX so that results can be namespaced
by CI job name.
This change also publishes the sources and final combined `.coverage`
file in an output gitlab artifact for inspection, and lists some missing
dependencies to the `coverage` job.
* tox.ini: Add comments and refactor main [testenv] section so that
other environments dont inherit too much unrelated cruft.
Generate the coverate reports in the respective {envtmpdir} so that
all per-process coverage files are prefixed with a full path, ensuring
that concurrent runs don't mix reports and addressing concerns
raised in #844.
Also implemented new `tox -e coverage` environment to combine
any found coverage and print a report.
* .coveragerc: Omit .tox/ directory from coverage stats
Fixes issue #844
-
d364ad02
by Tristan Van Berkom
at 2019-01-09T19:52:22Z
CONTRIBUTING.rst: Updated to mention new `coverage` tox environment.
Also point out that it is possible to run test environments in
parallel using the `detox` tool.
-
1e352434
by Tristan Van Berkom
at 2019-01-09T20:36:06Z
Merge branch 'tristan/detox-tests' into 'master'
Allow using detox, and fix/refactor collection of coverage reports
Closes #844
See merge request BuildStream/buildstream!1051
-
116c1070
by Tristan Van Berkom
at 2019-01-09T20:39:15Z
.coveragerc: Omit some things which are irrelevant to cover.
* Omit versioneer's _version.py
* Omit our __main__.py which is used only internally for generating
documentation
-
c8f3616d
by Tristan Van Berkom
at 2019-01-09T21:12:29Z
Merge branch 'tristan/refine-coverage' into 'master'
.coveragerc: Omit some things which are irrelevant to cover.
See merge request BuildStream/buildstream!1052
-
c87bb592
by Jürg Billeter
at 2019-01-10T09:43:37Z
_platform/platform.py: Add canonicalize_arch() method
-
26e33346
by Jürg Billeter
at 2019-01-10T12:50:15Z
_options/optionarch.py: Accept architecture aliases
Accept common architecture aliases for arch options instead of only
accepting the canonicalized, OS-independent architecture name. This
restores compatibility with existing projects and may simplify option
handling for projects that only target a single OS (and thus, do not
need OS-independent architecture names).
-
06deb4c4
by Jürg Billeter
at 2019-01-10T12:50:15Z
element.py: Accept architecture aliases for sandbox config
Accept common architecture aliases for the sandbox config for
consistency with arch options.
-
0c2a66b3
by Jürg Billeter
at 2019-01-10T13:06:02Z
tests/format/optionarch.py: Add tests for architecture aliases
-
f86bc760
by Jürg Billeter
at 2019-01-10T13:34:56Z
Merge branch 'juerg/arch' into 'master'
Accept architecture aliases
See merge request BuildStream/buildstream!1034
-
347eb34e
by Angelos Evripiotis
at 2019-01-10T14:38:23Z
contributing: fix 'oprtation' and some other typos
-
6bc27bc1
by Angelos Evripiotis
at 2019-01-10T15:07:46Z
Merge branch 'aevri/contrib-typos' into 'master'
contributing: fix 'oprtation' and some other typos
See merge request BuildStream/buildstream!1055
-
0b83d024
by Tristan Van Berkom
at 2019-01-10T20:02:50Z
_pipeline.py: Fix the planner to retain the original order when depth sorting
The algorithm adds elements to a dictionary and then sorts the dictionary
by the discovered depths while recursing - using an OrderedDict is enough
to ensure a stable order.
This fixes `bst show --deps plan ...` reporting different results on
each invocation.
This fixes an aspect of #824
-
630e26f1
by Tristan Van Berkom
at 2019-01-10T20:03:52Z
testutils/runcli.py: Added Result.get_start_order()
Added a function to report the list of elements which appeared in
a given queue in the order of their first appearance.
-
d1d7de57
by Tristan Van Berkom
at 2019-01-11T04:13:16Z
tests/frontend/order.py: Adding tests ensuring stable element processing order
For each sample project and expected result order, this test ensures that:
* bst show --deps plan: Always shows the expected build order.
* bst source fetch: Always executes in the expected build order.
* bst build: Always builds in the expected order (disabled).
The build part of the test is currently disabled as the scheduler
seems to be messing with the order even in a `--builders 1` scenario.
-
276b8d48
by Tristan Van Berkom
at 2019-01-11T04:42:24Z
Merge branch 'tristan/element-processing-order' into 'master'
Make build plan element list stable
See merge request BuildStream/buildstream!1058
-
fc3dcec8
by Angelos Evripiotis
at 2019-01-11T16:45:00Z
dev-requirements: pytest-cov==2.6.1 for '--no-cov'
Bump the version of pytest-cov, so that we pick up the fix for
the '--no-cov' option breaking in pytest 4.0:
https://github.com/pytest-dev/pytest-cov/pull/230
This was the error you would get prior to this version:
_pytest.warning_types.RemovedInPytest4Warning: config.warn has been
deprecated, use warnings.warn instead
Although it says 'deprecated', it did result in
termination with stack trace.
-
f86b7ff3
by Angelos Evripiotis
at 2019-01-11T16:45:00Z
contributing: '--last-failed' and '--no-cov' tips
To help new folks get to grips with pytest, add some tips on other
frequently used features.
-
d983f231
by Angelos Evripiotis
at 2019-01-11T17:19:06Z
Merge branch 'aevri/tox_no_cov' into 'master'
pytest-cov==2.6.1, contributing: '--last-failed' and '--no-cov' tips
See merge request BuildStream/buildstream!1059
-
829a2b93
by Tristan Van Berkom
at 2019-01-12T21:32:13Z
_scheduler/queues/queue.py: Put elements in the skip list, not jobs
Minor correction, looks like we're not observing this queue
otherwise we'd be seeing crashes.
-
993e30ae
by Tristan Van Berkom
at 2019-01-12T22:02:55Z
Merge branch 'tristan/fix-skipped-elements' into 'master'
_scheduler/queues/queue.py: Put elements in the skip list, not jobs
See merge request BuildStream/buildstream!1063
-
32732e01
by Javier Jardón
at 2019-01-14T09:04:01Z
.gitlab-ci.yml: Use latest freedesktop-sdk 18.08.25
-
4f5f1184
by Valentin David
at 2019-01-14T09:40:56Z
Merge branch 'jjardon/freedesktop-sdk_latest' into 'master'
.gitlab-ci.yml: Use latest freedesktop-sdk 18.08.25
Closes #858
See merge request BuildStream/buildstream!1064
-
bb80a2b8
by Chandan Singh
at 2019-01-14T14:30:15Z
.gitlab-ci.yml: Use newer image for overning aarch tests
During recent reorganizing of `.gitlab-ci.yml` to work with `tox`, seems
like we missed to update the image used by the overnight aarch tests,
meaning that they currently fail due to `tox` being missing from them.
While these tests will be skipped on MRs usually, here is an example of
what the tests look like if they are actually run with this change:
https://gitlab.com/BuildStream/buildstream/-/jobs/145449561.
Fixes #859.
-
10b3ee62
by Chandan Singh
at 2019-01-14T14:57:08Z
Merge branch 'chandan/fix-overnight-aarch' into 'master'
Chandan/fix overnight aarch
Closes #859
See merge request BuildStream/buildstream!1065
-
542cdaf0
by Jürg Billeter
at 2019-01-14T18:46:57Z
_frontend/cli.py: Also check original args for --config in bash completion
The path of the config file generated by testutils for completion tests
is passed as regular argument, not via COMP_WORDS. Use that config file
in complete_artifact() to ensure the test uses the right artifact
directory.
-
ff666e76
by James Ennis
at 2019-01-14T18:46:57Z
completions.py: Add a test for our artifact ref autocompletions
Since the artifact subcommand group has been created, we have been able
to tab complete both element names and artifact refs as arguments to
the artifact subcommands (e.g. bst artifact log), this commit adds a
test for this.
-
273b0f55
by Tristan Van Berkom
at 2019-01-14T20:24:57Z
Merge branch 'jennis/add_artifacts_completion' into 'master'
completions.py: Add a test for our artifact ref autocompletions
See merge request BuildStream/buildstream!1054
-
2e3c2ea2
by Javier Jardón
at 2019-01-14T22:26:04Z
.gitlab-ci.yml: Use latest bst-external
which include flatpak_repo plugin needed to build fdsdk
-
d60d2e31
by Javier Jardón
at 2019-01-15T00:39:22Z
Merge branch 'jjardon/bst_external_0_9' into 'master'
.gitlab-ci.yml: Use latest bst-external
Closes #861
See merge request BuildStream/buildstream!1068
-
605836c1
by Chandan Singh
at 2019-01-15T00:57:05Z
.gitlab-ci.yml: Add job to attempt to update dependencies
This will help us check if BuildStream is working with the latest
version of dependencies, as per our constraints. This job is allowed to
fail but its failure should signal that we need to add stricter
constraints in some of our `.in` requirements files.
-
006370af
by Chandan Singh
at 2019-01-15T01:21:33Z
Merge branch 'chandan/reqs-update-test' into 'master'
.gitlab-ci.yml: Add job to attempt to update dependencies
See merge request BuildStream/buildstream!1038
-
4b544555
by Chandan Singh
at 2019-01-15T21:28:40Z
.gitlab-ci.yml: Add tests for python 3.7
We already have tests for python 3.5 and 3.6 but not 3.7.
Fixes https://gitlab.com/BuildStream/buildstream/issues/838.
-
80fe0d9a
by Javier Jardón
at 2019-01-15T22:48:22Z
Merge branch 'chandan/python37-tests' into 'master'
.gitlab-ci.yml: Add tests for python 3.7
Closes #838
See merge request BuildStream/buildstream!1074
-
c6719d87
by Javier Jardón
at 2019-01-15T22:56:41Z
Add license: Creative Commons Attribution 4.0 International License