-
c5fe9465
by Jürg Billeter
at 2018-07-08T12:33:46Z
_signals.py: Guard against use in non-main thread
-
3d1e23d6
by Jürg Billeter
at 2018-07-09T13:44:49Z
tests: Remove unneeded ArtifactShare.update_summary() method
The OSTree summary file is no longer used.
-
5f4b9377
by Jürg Billeter
at 2018-07-09T13:44:49Z
_artifactcache/artifactcache.py: Update remote init error message
initialize_remotes() no longer fetches remote refs.
-
9defbb62
by Jürg Billeter
at 2018-07-09T13:44:49Z
tests/frontend/push.py: Add missing skip annotation for non-Linux
-
bc5a40e3
by Phillip Smyth
at 2018-07-11T11:06:40Z
Move _list_dir_contents to __init__.py
-
ddeac63a
by Jonathan Maw
at 2018-07-16T12:19:14Z
tests: Fix filter tests not checking whether files should be missing.
They weren't actually catching it if you checked-out the entire depended
element, instead of just the specified split domains
-
4c6512d6
by Jonathan Maw
at 2018-07-16T16:12:08Z
Only redirect elements for workspace and track operations
It was redirecting for checkout operations
-
fa2eaba2
by Jürg Billeter
at 2018-07-17T05:56:40Z
tests: Use context manager for ArtifactShare
-
ba4581f8
by Jürg Billeter
at 2018-07-17T05:56:40Z
tests/testutils/artifactshare.py: Add support for statvfs mocking
-
8cd81636
by Jürg Billeter
at 2018-07-17T05:56:40Z
tests/frontend/push.py: Use ArtifactShare statvfs mocking
This makes it unnecessary to update the free space in the mock object in
the middle of tests.
-
9b63f6f2
by Jürg Billeter
at 2018-07-17T05:56:40Z
.gitlab-ci.yml: Update images to include protobuf and grpcio
-
1a2ee26e
by Jürg Billeter
at 2018-07-17T05:56:40Z
setup.py: Add grpcio dependency and support for code generation
This allows code generation with ./setup.py build_grpc
-
b585388e
by Jürg Billeter
at 2018-07-17T05:56:40Z
HACKING.rst: Add note about protocol buffers and code generation
-
383e0586
by Jürg Billeter
at 2018-07-17T05:56:40Z
Import Google proto dependencies for the Remote Execution API
This imports protos from https://github.com/googleapis/googleapis/ and
the modules generated with ./setup.py build_grpc.
-
73fe9af1
by Jürg Billeter
at 2018-07-17T05:56:40Z
Import protos for the Bazel Remote Execution API
This imports protos from https://github.com/bazelbuild/remote-apis/ and
the modules generated with ./setup.py build_grpc.
-
df9a4949
by Jürg Billeter
at 2018-07-17T05:56:40Z
remote_execution.proto: Add proposed symlink support
https://github.com/bazelbuild/remote-apis/pull/18/
-
f13bef56
by Jürg Billeter
at 2018-07-17T05:56:40Z
_artifactcache: Add CAS artifact cache
Content Addressable Storage specified in the Remote Execution API.
Fixes #387.
-
a3bdfc18
by Jürg Billeter
at 2018-07-17T05:56:40Z
_artifactcache/cascache.py: Add prune() method
-
687b9a8b
by Jürg Billeter
at 2018-07-17T05:56:40Z
_artifactcache/cascache.py: Add remove() method
-
bed6c800
by Jürg Billeter
at 2018-07-17T05:56:40Z
_artifactcache/cascache.py: Add list_artifacts() method
-
8a0fe273
by Jürg Billeter
at 2018-07-17T05:56:40Z
Add proto for BuildStream reference storage service
-
72284b59
by Jürg Billeter
at 2018-07-17T05:56:40Z
_artifactcache/cascache.py: Add remote cache support
-
ff8703c9
by Jürg Billeter
at 2018-07-17T05:56:40Z
_artifactcache: Add CAS artifact server
-
971606ae
by Jürg Billeter
at 2018-07-17T05:56:40Z
_artifactcache/casserver.py: Add cache cleanup based on pushreceive
-
4b4c5268
by Jürg Billeter
at 2018-07-17T05:56:40Z
_artifactcache/casserver.py: Add update_mtime parameter to resolve_ref()
-
9b879015
by Jürg Billeter
at 2018-07-17T05:56:40Z
_artifactcache/casserver.py: Update artifact ref mtime on access
This makes cache cleanup LRU.
-
8de8ef1f
by Jürg Billeter
at 2018-07-17T05:56:40Z
_platform: Use CAS artifact cache
-
a161c746
by Jürg Billeter
at 2018-07-17T05:56:40Z
tests/testutils/artifactshare.py: Use CAS artifact server
-
d0346e89
by Jürg Billeter
at 2018-07-17T05:56:40Z
tests/cachekey: Update expected cache keys after switch to CAS
-
05a1a25d
by Jürg Billeter
at 2018-07-17T05:56:40Z
tests: Test push/pull on all platforms
-
6fd3f523
by Jürg Billeter
at 2018-07-17T05:56:40Z
tests/frontend/push.py: Remove xfail mark from LRU cache test
The CAS server now supports LRU.
-
b87c696f
by Jürg Billeter
at 2018-07-17T05:56:40Z
tests/frontend/pull.py: Add pull test for missing blobs on the server
-
99846137
by Jürg Billeter
at 2018-07-17T05:56:40Z
tests/integration/workspace.py: Test incremental build on all platforms
-
e35098d3
by Jürg Billeter
at 2018-07-17T05:56:40Z
doc/source/artifacts.rst: Update documentation for CAS artifact server
-
5a7d49dc
by Jürg Billeter
at 2018-07-17T05:56:40Z
Remove tar artifact cache
No longer used.
-
1f8b4aa2
by Jürg Billeter
at 2018-07-17T05:56:40Z
Remove OSTree artifact cache
No longer used.
Fixes #134, #138, #148, #217, #268, #276, #443, #460.
-
d87df668
by Jürg Billeter
at 2018-07-17T05:56:40Z
NEWS: Add news entry for CAS-based artifact cache
-
7acc64e4
by Jürg Billeter
at 2018-07-17T05:56:40Z
element.py: Do not use ArtifactCache.can_diff()
The only existing artifact cache implementation always returns True.
-
f2484fe4
by Jürg Billeter
at 2018-07-17T05:56:40Z
_artifactcache: Remove unused method can_diff()
-
f770ab1c
by Jürg Billeter
at 2018-07-17T08:40:16Z
element.py: Include fail-on-overlap setting in cache key
Fixes #473.
-
7e9282c9
by Phillip Smyth
at 2018-07-17T12:53:55Z
buildstream/_frontend/cli.py: Added a `--deps` flag to `bst checkout`
buildstream/_stream.py: Added deps param to _prepare_sandbox function call
buildstream/element.py: Added deps param and logic to _prepare_sandbox function
-
2797d1fd
by Phillip Smyth
at 2018-07-17T12:53:55Z
tests/frontend/buildcheckout.py: Added tests for "Add a `--deps` flag to `bst checkout`"
-
70a83ef8
by William Salmon
at 2018-07-17T14:04:16Z
Adding a helpful link to the example
-
e4f8fb07
by devcurmudgeon
at 2018-07-17T15:07:05Z
Fix 'main install' to be explicit that it is for Linux distros only
-
87c103d8
by Jürg Billeter
at 2018-07-17T15:07:56Z
_frontend/cli.py: Fix help text for `bst checkout --deps`
-
4c09b686
by Jürg Billeter
at 2018-07-17T17:31:32Z
_artifactcache/cascache.py: Fix prune()
_reachable_refs_dir() failed to add directory digests to the set of
reachable objects.
-
adedd867
by Tristan Maat
at 2018-07-18T05:11:03Z
Bump required python version to 3.5
-
b8543f8a
by Tristan Maat
at 2018-07-18T05:11:03Z
_exceptions.py: Add `detail` to ArtifactErrors
-
fc79ad2c
by Tristan Maat
at 2018-07-18T05:11:03Z
utils.py: Allow `list_relative_paths` to list directories
-
4f9da15d
by Tristan Maat
at 2018-07-18T05:11:03Z
_scheduler/*queue.py: Move queues to a subdirectory
-
24925634
by Tristan Maat
at 2018-07-18T05:45:59Z
Make Jobs abstract and element-independent
-
33984448
by Tristan Maat
at 2018-07-18T05:45:59Z
Add cache_quota to user config
-
1ec5c7b1
by Tristan Maat
at 2018-07-18T05:45:59Z
Make elements keep track of their built artifact size
-
7229d2e5
by Tristan Maat
at 2018-07-18T05:45:59Z
Compute the artifact cache size after each build/pull
-
dc17de38
by Tristan Maat
at 2018-07-18T06:07:24Z
Clean the artifact cache when we hit the cache quota
When the cache quota is hit, we will remove any elements not required
for the current build, until our cache is only filled halfway.
-
6ff12e5e
by Tristan Maat
at 2018-07-18T06:07:24Z
tests/artifactcache/expiry.py: Add expiry tests
-
308d59be
by Tristan Maat
at 2018-07-18T06:07:24Z
NEWS: Add news about cache expiry
-
a950a985
by Tristan Van Berkom
at 2018-07-18T09:59:03Z
_context.py: Adding apis for message recording and task logging.
Added the new Context.recorded_messages() context manager, this
causes messages to be logged in a dedicated log file before being
propagated to the log handler, and also provides an open log handle
for the capturing and logging of stdout/stderr from child processes.
This comes with the additional accessors:
Context.get_log_handle()
Context.get_log_filename()
-
d835c37f
by Tristan Van Berkom
at 2018-07-18T09:59:03Z
Refactor: Use new logging mechanism from Context
o element.py / plugin.py: Removed supporting logging code, and derive
the log handle from Context.
o _scheduler/scheduler.py, _scheduler/queues/queue.py: Adapt to new Job initializer API for the logfile
o _scheduler/jobs/job.py: Run job activities within the new context manager
which turns on logging for a job. Also removed a lot
of custom logging abstract methods which are unneeded.
o _scheduler/jobs: Job implementations need not implement so much custom logging.
-
26b9f6fa
by Tristan Van Berkom
at 2018-07-18T11:52:43Z
_stream.py: Clarifying ambiguous FIXME comment about required artifacts
-
3814905a
by Daniel Playle
at 2018-07-18T12:08:24Z
Reorder app.py imports
When testing locally on some systems, it appears that pylint fails on
the order of imports for `buildstream/_frontend/app.py`. This commit
changes the order of these imports.
This commit addresses issue !453.
-
48f66a3c
by Chandan Singh
at 2018-07-18T18:03:31Z
.gitlab-ci.yml: Use testsuite images for running tests
Instead of re-using the user-facing `buildstream/buildstream-fedora`
image for tests (that comes with BuildStream pre-installed), use
`buildstream/testsuite-fedora` image that is supposed to be used
exclusively for these tests.
Similarly, use the dedicated `buildstream/testsuite-debian` image
instead of `buildstream/buildstream-debian`.
Fixes #458.
For related discussion, see
https://gitlab.com/BuildStream/buildstream-docker-images/issues/8.
-
1016dcb4
by Josh Smith
at 2018-07-19T12:52:21Z
scheduler.py: Correct some anomalies within the docstrings
-
709b9bca
by Francisco Redondo Marchena
at 2018-07-19T14:03:12Z
source-bundle: Enable --except option
Before this option was listed in help but was ignored when
creating the source-bundle.
Issue #468
-
96d07153
by Jordan Petridis
at 2018-07-19T23:54:39Z
Docs: Update the required build packages for fedora based systems.
`ruamel.yaml` seems to require `Python.h` header file to build.
`python3-devel` is what provides it for Fedora.
-
93a77c1d
by Javier Jardón
at 2018-07-19T23:58:28Z
Docs: Update the required build packages for the rest of the systems
Also remove the recomendation to install psutil as we need to build
other python modules anyway (like ruamel)
Completes 96d07153b7817cdaeda57dd163eed52b2b1b31e8
-
57e0d1c5
by William Salmon
at 2018-07-20T00:03:06Z
Added dependency to the Docs
These dependencies are needed to use the plugins that are installed
as part of this guild.
As the dependencies added are not dependencies of the core package
they have been added to a separate section.
The lzip package is needed to build gnome.
https://wiki.gnome.org/Newcomers/BuildSystemComponent
-
1b6688eb
by Javier Jardón
at 2018-07-20T00:07:23Z
install_linux_distro.rst: document plugins installed by default
-
fc63b972
by Javier Jardón
at 2018-07-20T00:12:50Z
install_linux_distro.rst: Document plugins deps for the rest of the systems
-
790fb40b
by Tiago Gomes
at 2018-07-20T09:07:01Z
Update checkout man page for new --deps option
-
9c1f024b
by Tiago Gomes
at 2018-07-20T09:07:01Z
Add support for creating a tarball on bst checkout
One of the tests added is configured to be skipped for now, as dumping
binary data is causing a bad descriptor exception when using the pytest
capture module.
Closes #263.
-
0ddbf0e0
by Tristan Van Berkom
at 2018-07-20T11:52:00Z
setup.py: Specify minimum required version of pytest-cov plugin
This causes the new artifact tests to pass (unless you happened
to already have a recent enough version of pytest-cov, in which case
you didn't notice the breakage).
-
6158ee5a
by Sam Thursfield
at 2018-07-20T13:17:14Z
Fix crash when --debug is passed
I hit the following backtrace running `bst --debug push` and `bst
--debug build`:
pid:16736 id:000[--:--:--][][] START Push
pid:16736 id:000[--:--:--][][] START Loading pipeline
pid:16736 id:000[00:00:00][][] SUCCESS Loading pipeline
pid:16736 id:000[--:--:--][][] START Resolving pipeline
pid:16736 id:000[--:--:--][][] BUG 'MesonElement' object has no attribute '_Element__cache_key'
Traceback (most recent call last):
File "/home/sam/.local/bin/bst", line 8, in <module>
sys.exit(cli())
File "/home/sam/.local/lib/python3.6/site-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_frontend/cli.py", line 162, in override_main
standalone_mode=standalone_mode, **extra)
File "/home/sam/.local/lib/python3.6/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/home/sam/.local/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/sam/.local/lib/python3.6/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/sam/.local/lib/python3.6/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/home/sam/.local/lib/python3.6/site-packages/click/decorators.py", line 27, in new_func
return f(get_current_context().obj, *args, **kwargs)
File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_frontend/cli.py", line 471, in push
app.stream.push(elements, selection=deps, remote=remote)
File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_stream.py", line 341, in push
fetch_subprojects=True)
File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_stream.py", line 814, in _load
fetch_subprojects=fetch_subprojects)
File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_pipeline.py", line 119, in load
for meta in meta_elements
File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_pipeline.py", line 119, in <listcomp>
for meta in meta_elements
File "/home/sam/.local/lib/python3.6/site-packages/buildstream/element.py", line 894, in _new_from_meta
element = project.create_element(artifacts, meta)
File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_project.py", line 184, in create_element
element = self._element_factory.create(self._context, self, artifacts, meta)
File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_elementfactory.py", line 57, in create
return element_type(context, project, artifacts, meta, default_config)
File "/home/sam/.local/lib/python3.6/site-packages/buildstream/element.py", line 196, in __init__
super().__init__(meta.name, context, project, meta.provenance, "element")
File "/home/sam/.local/lib/python3.6/site-packages/buildstream/plugin.py", line 171, in __init__
self.debug("Created: {}".format(self))
File "/home/sam/.local/lib/python3.6/site-packages/buildstream/plugin.py", line 407, in debug
self.__message(MessageType.DEBUG, brief, detail=detail)
File "/home/sam/.local/lib/python3.6/site-packages/buildstream/plugin.py", line 652, in __message
self.__context.message(message)
File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_context.py", line 338, in message
self._message_handler(message, context=self)
File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_frontend/app.py", line 665, in _message_handler
text = self.logger.render(message)
File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_frontend/widget.py", line 585, in render
return self._render(message)
File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_frontend/widget.py", line 620, in _render
text += widget.render(message)
File "/home/sam/.local/lib/python3.6/site-packages/buildstream/_frontend/widget.py", line 228, in render
_, key, missing = plugin._get_display_key()
File "/home/sam/.local/lib/python3.6/site-packages/buildstream/element.py", line 1138, in _get_display_key
cache_key = self._get_cache_key()
File "/home/sam/.local/lib/python3.6/site-packages/buildstream/element.py", line 991, in _get_cache_key
return self.__cache_key
AttributeError: 'MesonElement' object has no attribute '_Element__cache_key'
The issue here is that when `--debug` is enabled, Plugin.__init__()
tries to log a message like this:
pid:16929 id:001[--:--:--][????????][ main:tracker.bst ] DEBUG Created: meson element at tracker.bst [line 1 column 0]
The log formatter is trying to get the cache key of the element in
order to show it in the log, but the attribute hasn't yet been set
because we've not got to the Element() constructor.
-
f484ab4f
by Phillip Smyth
at 2018-07-20T14:29:44Z
Updating .bzr plugin to omit the .bzr dir
Fixes issue #455
-
b662f175
by Tristan Van Berkom
at 2018-07-20T14:29:44Z
git source plugin: Omit the .git directory completely.
This will break builds which use `git describe` to determine
their version number until a more elegant solution is implemented,
and will unblock work on caching of build trees in the artifacts.
Fixes issue #455
-
80effb5c
by Tristan Van Berkom
at 2018-07-22T08:30:40Z
HACKING.rst: No longer requiring issue numbers in commit messages.
Instead, we are enabling the merge commit feature in gitlab and
hopefully reducing some of the friction in review this way.
-
c7124c3d
by Tristan Van Berkom
at 2018-07-22T09:46:05Z
HACKING.rst: Added convention for naming of branches in merge requests.
-
282b1092
by Tristan Van Berkom
at 2018-07-23T08:47:36Z
plugins/sources/git.py: Use --shared instead of --hardlinks
This improves staging performance by avoiding making any
copies of the objects in the cloned repository in the staging
area before removing the .git directory.
Fixes #488
-
fe0df616
by Tristan Van Berkom
at 2018-07-23T09:20:44Z
Merge branch 'tristan/git-stage-with-shared-clone' into 'master'
plugins/sources/git.py: Use --shared instead of --hardlinks
Closes #488
See merge request BuildStream/buildstream!557
-
6559db4c
by Josh Smith
at 2018-07-23T09:22:39Z
element.py: Make Element._get_brief_display_key() available to Internal API
This change will allow for more detailed info messages throughout
the CASCache.
-
6b82e476
by Josh Smith
at 2018-07-23T09:22:39Z
cascache.py: Add push info detailing which remote is being pushed to
Work towards fixing issue #275
-
1d36df25
by Josh Smith
at 2018-07-23T09:22:39Z
cascache.py: Add pull info detailing which remote is being pulled from
Work towards fixing issue #275
-
364706f3
by Tristan Van Berkom
at 2018-07-23T09:57:02Z
Merge branch 'Qinusty/275' into 'master'
Indicate where artifacts are going to and coming from in the log
Closes #275
See merge request BuildStream/buildstream!553
-
e70237a5
by Phillip Smyth
at 2018-07-23T13:26:47Z
Adding caching build trees
buildstream/element.py: Adding build tree to cache
buildstream/_versions.py: Bumping BST_CORE_ARTIFACT_VERSION
-
335afb5b
by Tristan Van Berkom
at 2018-07-23T14:07:07Z
Merge branch 'caching_build_trees_limited' into 'master'
Adding caching build trees (limited)
See merge request BuildStream/buildstream!560
-
60290f31
by Javier Jardón
at 2018-07-23T15:29:37Z
doc/source/install_linux_distro.rst: buildstream doesn't depend on ostree or pygobject anymore
-
de162e43
by Javier Jardón
at 2018-07-24T11:58:16Z
Merge branch 'jjardon/ostree_repo' into 'master'
doc/source/install_linux_distro.rst: buildstream doesn't hard depend on ostree or pygobject anymore
Closes #492
See merge request BuildStream/buildstream!558
-
6106d657
by Josh Smith
at 2018-07-25T10:50:14Z
cascache.py: Remove misleading info message
This addresses issue #501.
-
4a637d63
by Jonathan Maw
at 2018-07-25T12:05:19Z
Merge branch 'Qinusty/501' into 'master'
Remove misleading info message
See merge request BuildStream/buildstream!567
-
a0ad985f
by Phil Dawson
at 2018-07-25T13:03:23Z
tests/frontend/show.py: Add test case for maximum recursion depth being exceeded
Add test to ensure gracefull handling of exception thrown while loading
a pipeline due the python's max recursion depth being exceeded.
This is part of the work for issue #203
-
95b4eae4
by Phil Dawson
at 2018-07-25T13:03:23Z
app.py: Handle exception thrown when recursion limit is exceeded
Because the RecursionError exception was introduced in Python 3.5, until we
drop support for for Python 3.4, we must use RuntimeError.
-
889bf238
by Jim MacArthur
at 2018-07-25T13:43:21Z
Merge branch 'phil/203-BuildStream-crashes-when-dependency-tree-too-deep' into 'master'
Phil/203 BuildStream crashes when dependency tree too deep
See merge request BuildStream/buildstream!512
-
54fee6c8
by Phillip Smyth
at 2018-07-25T14:15:36Z
_stream.py: Added functionality for workspace open -f
tests/frontend/workspace.py: Added tests
-
f62b6cb7
by Jonathan Maw
at 2018-07-25T15:01:33Z
Merge branch 'bst_workspace_open_force_does_nothing' into 'master'
_stream.py: Added functionality for workspace open -f
See merge request BuildStream/buildstream!549
-
c049d021
by Ed Baunton
at 2018-07-25T19:43:51Z
Add remote source plugin
Add a plugin that supports downloading files verbatim from a source with
an optional overridable filename and destination directory. Bumps bst
format version to 10.
Fixes #163
-
bd1196ef
by Ed Baunton
at 2018-07-26T13:22:52Z
Provide explicit reason for SourceError exception on path
When the user provides a path for the filename parameter, provide a reason
-
9a46c16f
by Ed Baunton
at 2018-07-26T14:06:52Z
Merge branch 'edbaunton/remote-source' into 'master'
Add remote source plugin
Closes #163
See merge request BuildStream/buildstream!541
-
7ceacfea
by William Salmon
at 2018-07-26T14:32:49Z
Documentation typos and fixes
Daniel went through the Doc's etc and made a list of suggestions.
These are the result of the most easily patched suggestions and
one or two thing that I noticed as well.
-
8c9fd9e4
by Javier Jardón
at 2018-07-26T15:32:16Z
Merge branch 'willsalmon/documentation_form_notes' into 'master'
Documentation typos and fixes
See merge request BuildStream/buildstream!569
-
9ebd7fe1
by Josh Smith
at 2018-07-27T04:41:26Z
_exceptions.py: Modify BstError API to allow optional retry
job.py: Changes to the logic surrounding retry attempts and child process return codes
element.py, source.py: ElementError and SourceError also implement this change.
These exceptions now have an optional parameter of temporary which defaults to false. This will potentially break
backwards compatibility where exceptions were previously raised and a retry was intended.
To trigger a retry, one must now raise their SourceError or ElementError with temporary=True.
This aims to fix #397.
-
ca224425
by Josh Smith
at 2018-07-27T04:41:26Z
_downloadablefilesource.py: Update network errors to be temporary
This follows the change in 67ecd97a05279a3b7570ad59f05bf0a5973ef04c.
-
0a7cfcdf
by Josh Smith
at 2018-07-27T04:41:26Z
tests/sources: deb, tar and zip all test for retry behaviour
This is following 5d6418a06a3a0262df5f6b9e6e1a36578515fd4a where
DownloadableFileSource was modified to raise 'temporary'
errors when relating to file downloading.
-
9b2bc78f
by Josh Smith
at 2018-07-27T04:41:26Z
cascache.py: Update cache push/pull errors to be temporary
Further work needs to be done for the current grpc exceptions which are reraised.
-
4986527f
by Josh Smith
at 2018-07-27T04:41:26Z
plugin.py: Extend Plugin.call() API
Plugin.call() now takes fail_temporarily as an optional parameter,
when supplied it will cause subsequent failures to trigger temporary
errors as opposed to permanent errors.
This also extends Plugin.check_output() which makes use of Plugin.call()
-
a9a1048e
by Josh Smith
at 2018-07-27T04:41:26Z
git.py: Update git plugin to fail temporarily on clone failures
The git plugin will now make use of the fail_temporarily parameter
to Plugin.call(), allowing failures to trigger a retry.
-
aa071cb6
by Tristan Van Berkom
at 2018-07-27T06:13:53Z
Merge branch 'tristan/temporary-failures' into 'master'
Temorary failures
Closes #397
See merge request BuildStream/buildstream!574
-
4d86e7c5
by Tristan Van Berkom
at 2018-07-27T06:43:48Z
element.py, source.py, plugin.py: Adjusting API version since annotations.
Since we backported the temporary/permanent failures patch for #397
into the `bst-1.2` branch, we need to adjust the since versions in master
down to 1.2.
-
fb222ba1
by Josh Smith
at 2018-07-27T08:50:45Z
cascache.py: Raise ArtifactError on grpc error
This aims to fix issue #502.
-
48916b8a
by Tristan Maat
at 2018-07-27T10:22:41Z
Merge branch 'Qinusty/502' into 'master'
cascache.py: Raise ArtifactError on grpc error
Closes #502
See merge request BuildStream/buildstream!576
-
23e080b9
by James Ennis
at 2018-07-27T11:13:50Z
README.md: Minor corrections
-
196cfffc
by James Ennis
at 2018-07-27T11:13:50Z
README.md: Direct users towards the tutorial before existing projects:
This patch also removes displaying the projects that live within
the buildstream-examples repository, as we wish to deprecate this
repo and migrate the two examples.
- #438 and #439
In addition to this, both examples do not 'build' in their current
state.
-
2b93574e
by James Ennis
at 2018-07-27T11:13:50Z
main_install.rst: Add note to refer Windows and macOS users to docker
-
63e2320e
by Josh Smith
at 2018-07-27T11:16:55Z
.gitignore: Ignore .pytest_cache/
-
6ea97b17
by Javier Jardón
at 2018-07-27T11:54:20Z
Merge branch 'jennis/doc_improvements' into 'master'
Refer readers to our tutorial before referring them to existing bst projects
See merge request BuildStream/buildstream!578
-
8b46e874
by Jonathan Maw
at 2018-07-27T12:24:56Z
project: Parse and store mirrors
-
a2e9c62a
by Jonathan Maw
at 2018-07-27T12:24:56Z
Move _ALIAS_SEPARATOR into utils
The separator is useful in source files other than _project.py
-
7c993ac0
by Jonathan Maw
at 2018-07-27T12:24:56Z
source: Store the url aliases or use an override
This is part of a later plan to implement mirroring without forcing
everyone to update their sources. We use the expected calls to
Source.translate_url() when running Source.configure() to extract the
aliases from the URL. Multiple aliases must be extracted because
sources exist that may fetch from multiple aliases (for example, git
submodules)
Later, we want to substitute another URI where the alias normally reads
from the project - We accomplish this by re-instantiating the Source
with the alias overrides passed as an argument to the constructor.
-
2889003c
by Jonathan Maw
at 2018-07-27T12:24:56Z
source: When fetching, try to fetch from mirrors first
**KLUDGE WARNING**: This involves making the source store its "meta"
object so that it's possible to create a copy of the source inside the
fetch queue, instead of back when the pipeline was being loaded.
This adds the SourceFetcher class, which is intended for sources that
fetch from multiple URLs (e.g. the git source and its submodules)
Fix when fetching
-
f81e8e7b
by Jonathan Maw
at 2018-07-27T12:24:56Z
Set default mirror via command-line or user config
In user config (buildstream.conf), it is set with the "default-mirror"
field.
On the command-line, it is set with "--default-mirror"
-
755ed898
by Jonathan Maw
at 2018-07-27T12:24:56Z
Add mirrored source tracking
-
19c01a56
by Jonathan Maw
at 2018-07-27T12:24:56Z
bzr.py: Improve mirror support
This fixes:
* Bzr repositories pulling from the branch they were created with.
* Bzr's _ensure_mirror() not actually checking that it successfully
mirrored the ref.
-
84872141
by Jonathan Maw
at 2018-07-27T12:24:56Z
git.py: Improve mirror support
When implementing fetching from mirrors, I encountered some problems
with the git source:
1. The mirror URL was using translate_url()'s output, so if a different
alias was used, then fetching from the mirror would go to a different
directory, and be inaccessible.
2. After fixing that, fetching was unable to pull from a URL other than
the one used at repository creation, meaning it wouldn't actually
pull from the mirror.
-
bd51a0b2
by Jonathan Maw
at 2018-07-27T12:24:56Z
testutils: Add a helper to copy a testutils repo
This is helpful if you want to test what happens when you have one repo
that has diverged from another. By copying the repo you're sure they
start with shared history.
This is especially useful when mirroring.
-
909120ab
by Jonathan Maw
at 2018-07-27T12:24:56Z
tests: Add mirrored fetching and tracking tests
-
1cbc2e17
by Jonathan Maw
at 2018-07-27T12:24:56Z
doc: Add documentation for source mirroring
-
202d9d26
by Jonathan Maw
at 2018-07-27T12:24:56Z
NEWS: Add item for source mirroring
-
2b23898d
by Jonathan Maw
at 2018-07-27T12:24:56Z
doc: Add tutorials for setting up git and tar mirrors
-
bd4d0355
by Jonathan Maw
at 2018-07-27T13:08:00Z
Merge branch '328-support-for-downloading-sources-from-mirrors' into 'master'
Resolve "Support for downloading sources from mirrors"
Closes #328
See merge request BuildStream/buildstream!404
-
cb4693b2
by Josh Smith
at 2018-07-27T14:00:26Z
Merge branch 'Qinusty/pytest_cache_gitignore'
-
8a96679a
by Josh Smith
at 2018-07-27T14:01:07Z
Merge branch 'master' of gitlab.com:BuildStream/buildstream
-
f5c8ff61
by Josh Smith
at 2018-07-27T14:10:45Z
_context.py: Cache size is now restricted to available disk space
This address issue #491.
When attempting to run buildstream with a configuration specifying
a cache quota larger than your available disk space, buildstream
will alert the user and exit.
Note:
This takes into consideration your current cache usage and
therefore restricts the overall size of your artifact cache folder.
-
32ddb544
by Qinusty
at 2018-07-27T14:57:30Z
Merge branch 'Qinusty/491' into 'master'
Cache quota is now restricted to available disk space
See merge request BuildStream/buildstream!563
-
cb8c99e5
by Tristan Maat
at 2018-07-29T07:52:06Z
buildelement.py: Only display one activity message (#507)
-
08b7562b
by Tristan Van Berkom
at 2018-07-29T10:23:43Z
Merge branch '507-some-log-lines-appear-to-be-duplicates' into 'master'
Resolve "Some log lines appear to be duplicates"
Closes #507
See merge request BuildStream/buildstream!573
-
3b7158b3
by Tristan Van Berkom
at 2018-07-29T10:25:02Z
source.py: Bring down since version for source mirroring APIs
Since we have now backported this to `bst-1.2`, the APIs have
been introduced in 1.2 and not 1.4
-
e84f8b24
by Tristan Van Berkom
at 2018-07-29T10:25:02Z
NEWS: Bring down since version of backported features to 1.1.5
These features will be released in 1.1.5 since they have been
backported, lets reflect this in the NEWS file in master.
Also this adds the backported `remote` plugin to the NEWS
-
df18d38c
by Tristan Van Berkom
at 2018-07-29T10:26:08Z
git.py: Handle concurrent download completions properly
Use os.rename() to rename the cloned temporary repository into
place in the source cache, and issue a STATUS message when discarding
a duplicate clone, in the case where the same repository is cloned
twice in parallel.
The problem with using shutil.move() is that it will create the source
directory in a subdirectory of the destination when the destination
exists, so it's behavior depends on whether the destination exists.
This shutil.move() behavior has so far hidden the race condition
where a duplicate repo is created in a subdirectory, as you need
to have three concurrent downloads of the same repo in order to
trigger the error.
This fixes issue #503
-
92714b03
by Tristan Van Berkom
at 2018-07-29T11:18:52Z
Merge branch 'tristan/fix-spurious-errors' into 'master'
git.py: Handle concurrent download completions properly
Closes #503
See merge request BuildStream/buildstream!583
-
8568d272
by Phil Dawson
at 2018-07-30T07:58:07Z
examples: add project demonstrating a junction element
This is part of the work towards #437.
-
efa24e7e
by Phil Dawson
at 2018-07-30T07:58:07Z
junctions.run: Add terminal session output for junctions walkthrough.
This is part of the work towards #437.
-
bf175bf7
by Phil Dawson
at 2018-07-30T07:58:07Z
junction-elements.rst: Add junctions walkthrough
This is part of the work towards #437.
-
e8931048
by James Ennis
at 2018-07-30T07:58:07Z
using_advanced_features.rst: Added file
-
b4f25190
by Phil Dawson
at 2018-07-30T07:58:07Z
tests/examples/junctions.py: Add tests for junctions walkthrough
This is part of the work towards issue #437.
-
aff76ae9
by Phil Dawson
at 2018-07-30T09:15:49Z
Merge branch 'phil/437-junction-tutorial' into 'master'
Phil/437 junction tutorial
See merge request BuildStream/buildstream!550
-
c313ad17
by Tom Pollard
at 2018-07-30T10:57:49Z
widget.py: Limit failure summary to currently failing elements
Change widget.py print_summary() to only print the failure
messages of elements in the Failure Summary that failed on the
current try.
-
4a3def5c
by Tristan Maat
at 2018-07-30T11:47:21Z
Merge branch 'tpollard/386' into 'master'
widget.py: Limit failure summary to currently failing elements
See merge request BuildStream/buildstream!561
-
34015a26
by Tristan Maat
at 2018-07-30T12:19:45Z
HACKING.rst: Add note about asking for dev permissions
-
ae47a72b
by Tristan Van Berkom
at 2018-07-30T13:11:34Z
Merge branch 'tlater/ask-for-dev-permissions' into 'master'
HACKING.rst: Add note about asking for dev permissions
See merge request BuildStream/buildstream!587
-
695c0cb0
by Phil Dawson
at 2018-07-30T16:07:36Z
junction-elements.rst: Add missing language specifier to literalinclude
A missing language specifier on a literal include directive results in yaml
being rendered as python code. This commit adds the :language: tag to that
directive.
-
fcb87b0a
by Phil Dawson
at 2018-07-30T16:53:37Z
Merge branch 'phil/fixup-junctions-tutorial' into 'master'
junction-elements.rst: Add missing language specifier to literalinclude
See merge request BuildStream/buildstream!591
-
3d308894
by Richard Maw
at 2018-07-31T16:31:36Z
element.py: Cache the result of checking whether an artifact is cached weakly
Normally we'd only need it in the case of scheduling a weakly cached build,
but to allow caching of failed builds we need to be able to distinguish
between cached successes and cached failures
for both strong and weak cache keys.
To allow other cache lookup codepaths to look up via the weak key
requires changes through the call stack to consult which key to use,
and cache invalidation of the saved state when it changes.
-
b3a68e28
by Richard Maw
at 2018-07-31T16:31:36Z
element.py: Add metadata to distinguish between successful and failed builds
This just puts the metadata in place,
we're adding code paths to add failed builds later.
-
f4573df3
by Richard Maw
at 2018-07-31T16:31:36Z
Convert call-sites of Element._cached() that assume success
When we later add cached failures it needs to not treat them as successes.
-
553df108
by Richard Maw
at 2018-07-31T16:31:36Z
_frontend/widget.py: Render cached failures differently to successes
-
d14d8ee2
by Richard Maw
at 2018-07-31T16:32:35Z
Cache failed builds
This creates an artifact when element assembly fails too,
and if it's the right kind of exception uses the now-included install directory
similarly to if it had returned successfully.
If there's a failure during install the artifact contains any installed files,
but may contain nothing at all.
-
d83122bb
by Richard Maw
at 2018-07-31T16:32:35Z
_scheduler/queues/buildqueue.py: Skip rebuilding cached failures
This flags up a failure and if run in an interactive prompt
permits the user to attempt a rebuild.
-
78944e9a
by Richard Maw
at 2018-07-31T16:32:35Z
tests: Add tests for cached behaviours
-
3fa79d8d
by Richard Maw
at 2018-07-31T16:32:35Z
_scheduler/queues: Add failed builds to "done" queue
This allows the scheduler to move jobs from the current queue to the next.
As a result of this change later queues than the build queue
mustn't skip a cached failure, so the logic is specialised to build queues only.
-
e8cd43dc
by Richard Maw
at 2018-07-31T16:32:58Z
NEWS: Describe caching of failures
Closes #76.
-
88cd61ea
by knownexus
at 2018-07-31T16:32:58Z
Added the missing `_get_build_log` function
-
4fc1f5d1
by Phillip Smyth
at 2018-07-31T17:17:34Z
Merge branch 'richardmaw/cache-fail' into 'master'
Store failed builds in the cache
Closes #76
See merge request BuildStream/buildstream!475
-
6cd3df09
by Phil Dawson
at 2018-08-01T08:05:45Z
doc/sessions: Add terminal sessions for use in workspaces tutorial
This is part of the the work towards issue #437
-
8c0522ad
by Phil Dawson
at 2018-08-01T08:05:45Z
Add project for workspaces tutorial
This is part of the work towards issue #437
-
dc60b713
by Phil Dawson
at 2018-08-01T08:05:45Z
tutorials: Add workspaces tutorial
This is part of the work towards issue #437
-
bf8c3dfb
by Phil Dawson
at 2018-08-01T08:05:45Z
testutils/patch.py: Add methods for applying and removing patches
-
b69783d4
by Phil Dawson
at 2018-08-01T08:05:45Z
tests/examples/developing.py: Add tests for workspaces walkthrough
-
480565c2
by Phil Dawson
at 2018-08-01T09:04:26Z
Merge branch 'phil/437-workspaces-tutorial' into 'master'
Phil/437 workspaces tutorial
Closes #437
See merge request BuildStream/buildstream!519
-
87edf67e
by Martin Blanchard
at 2018-08-01T11:07:05Z
complete.py: Ensure paths get completed from 'element-path'
Element paths should always be completed from the root element folder
defined by the element-path key in project.conf. Fix complete_path() to
always search into its given base_directory argument.
See issue BuildStream/buildstream#448
-
d10e4668
by Phillip Smyth
at 2018-08-01T12:05:40Z
Merge branch 'mablanch/448-autocompletion-broken-defaults' into 'master'
Fix autocompletion for elements in sub-folders
See merge request BuildStream/buildstream!592
-
6aedc57b
by Jim MacArthur
at 2018-08-01T12:07:32Z
Add BST_VIRTUAL_DIRECTORY flag for element plugins
-
1d3af84d
by Jim MacArthur
at 2018-08-01T12:07:32Z
utils.py: add getmtime() and magic_timestamp
magic_timestamp is moved into file scope so other classes
can use it.
-
4397e45a
by Jim MacArthur
at 2018-08-01T12:07:32Z
Sandbox.py: Rename __root to _root.
This is to allow to allow its use by subclasses.
Since access to get_directories is now blocked for some plugins,
and the subclasses of Sandbox do not have configuration defined
by YAML files, they need another way to get at the root directory.
-
9bf343cf
by Jim MacArthur
at 2018-08-01T12:07:32Z
Add the virtual directory class 'Directory' and one implementation.
buildstream/storage/Directory.py: New file.
buildstream/storage/_filebaseddirectory.py: New file.
buildstream/_exceptions.py: New VIRTUAL_FS exception source.
-
f124dfec
by Jim MacArthur
at 2018-08-01T12:07:32Z
storage: Add __init__.py
-
42bdce0b
by Jim MacArthur
at 2018-08-01T12:07:32Z
sandbox.py: Add function to get virtual directory.
-
fe1a3428
by Jim MacArthur
at 2018-08-01T12:07:33Z
_stream.py: Convert to virtual directories.
This removes _add_directory_to_tarfile since it is now implemented in
_filebaseddirectory.py.
-
849724ce
by Jim MacArthur
at 2018-08-01T12:07:33Z
element.py: Conversion to use virtual directories
-
270325b4
by Jim MacArthur
at 2018-08-01T12:07:33Z
plugins/elements/compose.py: Convert to virtual directories
-
a8c71ba4
by Jim MacArthur
at 2018-08-01T12:07:33Z
plugins/elements/import.py: Convert to virtual directories
-
4e6a9049
by Jim MacArthur
at 2018-08-01T12:07:33Z
sandbox: Remove instances of get_directory
sandbox/_mount.py, sandbox/_sandboxbwrap.py:
Remove instances of get_directory
-
e69f2b23
by Jim MacArthur
at 2018-08-01T12:07:33Z
plugins/elements/stack.py: Convert to virtual directories
-
6877b6fc
by Jim MacArthur
at 2018-08-01T12:07:33Z
scriptelement.py: Convert to virtual directories
-
8edf1f80
by Jim MacArthur
at 2018-08-01T12:07:33Z
compose.py: Remove unused getmtime()
-
02c6c846
by Jim MacArthur
at 2018-08-01T12:07:33Z
sandbox.py: Use _root in _has_command
This will need more attention when we bring in another virtual
directory backend, however, we've said it is acceptable for the
sandbox itself to access the underlying directory, and this is
the best fix in the meantime.
-
eabc3899
by Jim MacArthur
at 2018-08-01T13:16:04Z
Merge branch 'jmac/virtual_directories' into 'master'
Abstract directory class and filesystem-backed implementation
See merge request BuildStream/buildstream!445
-
60ddb193
by Josh Smith
at 2018-08-01T14:17:17Z
message.py: MessagesType.SKIPPED added
-
0756c615
by Josh Smith
at 2018-08-01T14:17:17Z
cascache.py: Display SKIPPED message for each remote skipped
-
62a250fe
by Qinusty
at 2018-08-01T15:01:25Z
Merge branch 'Qinusty/481' into 'master'
Add SKIPPED message type for actions being skipped
See merge request BuildStream/buildstream!562
-
00ddcbd7
by Martin Blanchard
at 2018-08-01T15:16:33Z
element.py: Raise an exception on unbuilt element checkout
Trying to checkout an element that has no cached artifacts should be and
handled failure. See BuildStream/buildstream#447.
-
4c739e2a
by Martin Blanchard
at 2018-08-01T15:16:33Z
_stream.py: Print details on checkout failure
-
4a4fed7a
by Qinusty
at 2018-08-01T16:14:50Z
Merge branch 'mablanch/447-stack-trace-checkout' into 'master'
Handle checkout failure for unbuilt elements
See merge request BuildStream/buildstream!590
-
547d20b2
by Phil Dawson
at 2018-08-01T16:31:08Z
install_linux_distro.rst: Add install instructons for Ubuntu
This commit is part of the work required to resolve issue #436
-
592c9061
by Javier Jardón
at 2018-08-01T17:28:05Z
Merge branch 'phil/436-add-ubuntu-install-intructions' into 'master'
Add Ubuntu install intructions
Closes #436
See merge request BuildStream/buildstream!525
-
4d2e8a14
by Josh Smith
at 2018-08-02T09:12:16Z
HACKING.rst: Add running a single test example
-
039d43e4
by Tom Pollard
at 2018-08-02T10:02:08Z
Merge branch 'Qinusty/docs_changes' into 'master'
HACKING.rst: Add running a single test example
See merge request BuildStream/buildstream!597
-
e788bda4
by Tiago Gomes
at 2018-08-02T11:24:43Z
plugin: bake API to get and validate a project path
A project path is a path relative to a project directory.
A project path can not also refer to the parent directory in the first
path component, or point to symbolic links, fifos, sockets and
block/character devices.
-
33292be4
by Tiago Gomes
at 2018-08-02T11:24:43Z
local plugin: validate project paths
The autotools example had to be copied over inside of the junction
example, as referring to a path outside of the project directory is
now disallowed.
-
00f170b8
by Tiago Gomes
at 2018-08-02T11:24:43Z
patch plugin: validate project paths
-
4f0f4171
by Tiago Gomes
at 2018-08-02T11:24:43Z
ostree plugin: validate project paths
-
c4c0bb1e
by Tiago Gomes
at 2018-08-02T11:24:43Z
project: validate project paths (element-path)
-
385aa592
by Tiago Gomes
at 2018-08-02T11:24:43Z
project: validate project paths (local plugin paths)
-
731328ad
by Tiago Gomes
at 2018-08-02T11:24:43Z
tests: add generate_file_types testing function
-
b7362a32
by Tiago Gomes
at 2018-08-02T11:24:43Z
tests: add additional tests to local plugin
-
7e3944dc
by Tiago Gomes
at 2018-08-02T11:24:43Z
tests: add additional tests to patch plugin
-
9f0c8fcf
by Tiago Gomes
at 2018-08-02T11:24:43Z
tests: test local plugins and element-path paths
-
8656a65d
by Tiago Gomes
at 2018-08-02T12:10:29Z
Merge branch 'tiagogomes/issue-195' into 'master'
Add validation for project paths
See merge request BuildStream/buildstream!593
-
170f33a1
by Valentin David
at 2018-08-02T14:17:01Z
Move tests.frontend.generate_junction to test.testutils
-
3bae4aeb
by Valentin David
at 2018-08-02T14:17:01Z
Pass targets to Loader.load() instead of its constructor.
This is required to be able to build a Loader before the list
of targets is known.
-
483b0223
by Valentin David
at 2018-08-02T14:17:01Z
Make Project owner of Loader.
-
19cd954b
by Valentin David
at 2018-08-02T14:17:01Z
Refactor plugin factory creation
-
171e803f
by Valentin David
at 2018-08-02T14:18:10Z
Add support for include '(@)' in project.conf and .bst files
Fixes #331.
-
4e1160a9
by Valentin David
at 2018-08-02T15:17:03Z
Merge branch 'valentindavid/331_include' into 'master'
Add support for include in project.conf
Closes #331
See merge request BuildStream/buildstream!471
-
3782c15f
by Ed Baunton
at 2018-08-04T08:54:58Z
element.py (docs): dashes not underscores for build and install root
Fix small error in docs in relation to `get_variable` documentation.
-
f918205a
by Tristan Van Berkom
at 2018-08-04T10:08:21Z
Merge branch 'edbaunton/doc-typo' into 'master'
element.py (docs): dashes not underscores for build and install root
See merge request BuildStream/buildstream!577
-
f69a0287
by Mathieu Bridon
at 2018-08-04T21:02:10Z
doc: Build the docs without Buildstream installed
-
bc63f278
by Tristan Van Berkom
at 2018-08-05T10:07:46Z
__main__.py: Adding private entry point so we can run BuildStream without installing
This is needed to build docs without installing BuildStream.
-
1618f405
by Tristan Van Berkom
at 2018-08-05T10:07:46Z
doc: Fix junctions user guide to refer to doc/sessions, not doc/sessions-stored.
-
9e573eeb
by Tristan Van Berkom
at 2018-08-05T10:07:46Z
doc: Some modifications to the bst2html program
o Added feature to allow running shell commands
o Removed unused codepaths to launch bst commands through the script,
this program is anyway only used to parse and run the session files.
o Fixed previous patch to run BuildStream uninstalled with
the subprocess module, as running it in the same interpretor
causes a bunch of problems.
-
19d2a072
by Tristan Van Berkom
at 2018-08-05T10:07:46Z
doc/sessions/developing.run: Fix the session to actually run `patch` as a shell command
Since we added support for shell commands in bst2html, this can now be fixed.
This is a part of issue #553
-
9b937a97
by Tristan Van Berkom
at 2018-08-05T10:07:46Z
HACKING.rst: It is not longer required to install BuildStream to build the docs.
-
63b33d07
by Tristan Van Berkom
at 2018-08-05T10:57:03Z
Merge branch 'tristan/build-docs' into 'master'
Build documentation without installing
See merge request BuildStream/buildstream!605
-
942a06f4
by Mathieu Bridon
at 2018-08-06T09:53:03Z
doc: Mention the Fedora packages
These aren't official yet, but they should work.
-
c04b8421
by Mathieu Bridon
at 2018-08-06T10:53:57Z
Merge branch 'bochecha/fedora-packages' into 'master'
doc: Mention the Fedora packages
See merge request BuildStream/buildstream!604
-
12c79366
by toscalix
at 2018-08-06T10:56:40Z
removed space in task template so checkboxes work as expected
-
bd2b3d8d
by Agustin Benito Bethencourt
at 2018-08-06T11:49:12Z
Merge branch 'toscalix' into 'master'
removed space in task template so checkboxes work as expected
See merge request BuildStream/buildstream!588
-
d1b640d0
by James Ennis
at 2018-08-06T13:10:12Z
install_linux_distro.rst: Fix broken links
-
be163e8d
by Jonathan Maw
at 2018-08-06T14:01:58Z
Merge branch 'jennis/fix_links_in_docs' into 'master'
Fix two links in the installing docs
See merge request BuildStream/buildstream!610
-
4d6dbabe
by Tiago Gomes
at 2018-08-06T15:03:25Z
PullQueue: fix resource used
Improve fetchers, builders and pushers documentation.
Closes #550.
-
a8073264
by Tiago Gomes
at 2018-08-06T16:55:03Z
Merge branch 'tiagogomes/issue-550' into 'master'
PullQueue: fix resource used
Closes #550
See merge request BuildStream/buildstream!611
-
3d26ff6e
by Ed Baunton
at 2018-08-07T05:04:50Z
remote.py: Add support for marking downloaded files executable
Add an optional flag to make files executable after having downloaded them.
Instead of leaving the permissioning of downloaded file in remote.py up
to the user's umask; expressly set permissions to 0644 or 0755 if
executable.
Bump format version to 13.
-
60a552a5
by Tristan Van Berkom
at 2018-08-07T06:13:53Z
Merge branch 'edbaunton/executable-remote-source' into 'master'
remote.py: Add support for marking downloaded files executable
See merge request BuildStream/buildstream!581
-
01ff0177
by Javier Jardón
at 2018-08-07T07:29:30Z
source/install_linux_distro.rst: Make clearer ArchLinux packages available
-
9b469fe6
by Tristan Van Berkom
at 2018-08-07T09:12:46Z
Merge branch 'jjardon/doc_arch_releases' into 'master'
source/install_linux_distro.rst: Make clearer ArchLinux packages available
See merge request BuildStream/buildstream!613
-
289de2ef
by Adam Jones
at 2018-08-07T09:24:58Z
Add systemd service file examples to artifacts documentation
change code style to ini
-
e42325b9
by Javier Jardón
at 2018-08-07T10:29:46Z
Merge branch 'adamjones/systemd-cas' into 'master'
Include systemd file examples for google-cas cache
Closes #419
See merge request BuildStream/buildstream!524
-
6d349610
by Javier Jardón
at 2018-08-07T10:53:23Z
source/install_linux_distro.rst: Fix formatting
-
493d19d2
by James Ennis
at 2018-08-07T11:08:36Z
install_linux_distro.rst: Change install instructions for python-arpy package on Arch
- python-arpy is unobtainable via pacman
- Also a minor change to how we display install instructions
from Fedora's dnf package manager
-
fc9869e2
by James Ennis
at 2018-08-07T11:56:21Z
Merge branch 'jennis/change_arch_install_instructions' into 'master'
Change install instructions for python-arpy package on Arch
See merge request BuildStream/buildstream!614
-
42aa3999
by William Salmon
at 2018-08-07T13:41:02Z
Add warning to git track if track and ref are not present
This is to address https://gitlab.com/BuildStream/buildstream/issues/471 that
documented unhelpfull behavour when tracking git sources.
-
2ceb5dec
by Will Salmon
at 2018-08-07T14:46:36Z
Merge branch 'willsalmon/trackWarning' into 'master'
Add warning to git track if track and ref are not present
Closes #471
See merge request BuildStream/buildstream!580
-
eee4b674
by Jürg Billeter
at 2018-08-07T15:36:35Z
Revert "Restrict version of pylint"
This reverts commit 4f168b9b6a02216e2fae24d758ae6b778e545869.
The latest version of pytest_pylint works fine with pylint 2, which
means there is no longer a reason to restrict the pylint version.
pylint 2 is required for Python 3.7.
-
ea27e389
by Jürg Billeter
at 2018-08-07T15:36:35Z
_artifactcache/cascache.py: Fix for PEP 479 / Python 3.7
Do not rely on `StopIteration` bubbling up.
https://www.python.org/dev/peps/pep-0479/
-
fa5a59f0
by Jürg Billeter
at 2018-08-07T16:48:21Z
Merge branch 'juerg/python3.7' into 'master'
Python 3.7 support
See merge request BuildStream/buildstream!615
-
ed653fbc
by Chandan Singh
at 2018-08-08T00:06:28Z
.gitlab-ci.yml: Remove unused script "install.sh"
-
65f382f1
by Chandan Singh
at 2018-08-08T10:52:32Z
Merge branch 'chandan/remove-dead-code' into 'master'
.gitlab-ci.yml: Remove unused script "install.sh"
See merge request BuildStream/buildstream!617
-
c68dcab8
by Tiago Gomes
at 2018-08-09T09:18:43Z
cascache: move tmp directory one level up
The CAS uses a temp directory while manipulating the cache, temporary
files can be added and removed while adding artifacts to the cache here.
Since calculation of the cache size happens in parallel to artifact
cache additions, this causes race conditions in the size calculation
job, as we end up calling `stat` on temporary files which are being
removed in parallel.
Handle this by moving the temporary directory out of the way, and avoid
considering the tmp directory when calculating the cache size
-
35ab0335
by Tiago Gomes
at 2018-08-09T10:16:24Z
Merge branch 'tiagogomes/issue-520' into 'master'
Fix race condition when calculating disk usage
See merge request BuildStream/buildstream!600
-
8aa33e23
by Valentin David
at 2018-08-09T12:49:17Z
Keep original flags for create in SafeHardlinks.
When open(2) is used with flags O_CREAT|O_RDWR, the file descriptor
must be readable. Unfortunately O_RDWR was not passed which made
read fail with EBADF and mmap to signal SIGBUS.
This issue happened with man-db for example.
Fixes #143.
-
ef7810f3
by Valentin David
at 2018-08-09T14:06:50Z
Merge branch 'valentindavid/fuse-create-flags' into 'master'
Keep original flags for create in SafeHardlinks.
Closes #143
See merge request BuildStream/buildstream!624
-
2d061173
by Javier Jardón
at 2018-08-09T16:31:15Z
buildstream/_project.py:
Multiprocessing with n_jobs given by multiprocessing.cpu_count() is not optimal for
systems where not all CPU can be used (in particular, Docker, CI etc).
As suggested in the multiprocessing docs
(http://docs.python.org/3/library/multiprocessing.html#multiprocessing.cpu_count)
using len(os.sched_getaffinity(0)) might be better.
-
4e1488ee
by Javier Jardón
at 2018-08-09T16:31:15Z
buildstream/_project.py: Restrict max-jobs
even if the machine have mores cores available
Patch taken from YBD: https://gitlab.com/baserock/ybd/blob/master/ybd/app.py#L227
-
de955834
by Javier Jardón
at 2018-08-09T17:22:24Z
Merge branch 'jjardon/max-jobs' into 'master'
buildstream/_project.py: Restrict max-jobs
See merge request BuildStream/buildstream!620
-
97595585
by Jim MacArthur
at 2018-08-09T17:35:19Z
setup.py: Pin ruamel.yaml version to <= 0.15
-
a602365c
by Tristan Van Berkom
at 2018-08-09T20:03:52Z
Merge branch 'jmac/pin-ruamel-version' into 'master'
Pin ruamel.yaml version to <= 0.15
See merge request BuildStream/buildstream!630
-
db0478ab
by Phillip Smyth
at 2018-08-10T10:17:47Z
Implementing relative workspaces
This fixes #191
A note has been added to NEWS explaining backwards
compatibility issues
-
04cee9a9
by Phillip Smyth
at 2018-08-10T11:12:31Z
Merge branch 'relative_workspaces' into 'master'
Patch for issue #191 support relative workspaces
Closes #191
See merge request BuildStream/buildstream!504
-
5dcecbad
by Valentin David
at 2018-08-10T12:18:55Z
Set environment in bwrap command line instead of its environment
Fixes #498
-
2e8db54e
by Valentin David
at 2018-08-10T12:53:19Z
Merge branch 'valentindavid/498_bwrap_environment' into 'master'
Set environment in bwrap command line instead of its environment
Closes #498
See merge request BuildStream/buildstream!565
-
95920f48
by Chandan Singh
at 2018-08-11T15:46:05Z
Move development reqirements to dev-requirements.txt
In some cases, such as when working inside a virtual environment, it can
be desirable to install all dependencies for running tests using `pip`.
This is currently not possible since setuptools does not support
installing these dependencies in a virtual environment (by design).
(See https://stackoverflow.com/a/21003259.)
To circumvent this issue, move such requirements to
`dev-requirements.txt` file that can be used easily with
`pip install -r`. This also enables tests to be run directly using
`pytest`, which can be more convenient than `-addopts` approach when one
needs to add multiple options.
This will also be useful in creating better testuite images, and fix
some of the issues noticed in
https://gitlab.com/BuildStream/buildstream-docker-images/merge_requests/56.
-
a9f63c5e
by Javier Jardón
at 2018-08-11T16:53:39Z
Merge branch 'chandan/dev-requirements' into 'master'
Move development reqirements to dev-requirements.txt
See merge request BuildStream/buildstream!637
-
48c7c0a5
by Chandan Singh
at 2018-08-11T23:41:05Z
Fix typo in dev-requirements.txt
-
88115648
by Chandan Singh
at 2018-08-12T00:38:36Z
Merge branch 'chandan/fix-dev-reqs-typo' into 'master'
Fix typo in dev-requirements.txt
See merge request BuildStream/buildstream!641
-
0b8beb42
by Phil Dawson
at 2018-08-12T00:40:57Z
.gitlab-ci-yml: Add ubuntu 18.04 test
-
499df6a5
by Javier Jardón
at 2018-08-12T01:37:12Z
Merge branch 'phil/add-ubuntu-ci-job' into 'master'
.gitlab-ci-yml: Add ubuntu 18.04 test
See merge request BuildStream/buildstream!523
-
60c2873b
by Javier Jardón
at 2018-08-12T01:38:29Z
.gitlab-ci.yml: Run tests in fedora28 image
-
2f27d428
by Javier Jardón
at 2018-08-12T01:38:29Z
.gitlab-ci.yml: Use the same version of the docker image for all jobs
-
1819a288
by Javier Jardón
at 2018-08-12T03:37:04Z
dev-requirements.txt: Remove obsolete comments
This also fixes an error with pylint in setup.py:
setup.py:226:19: R1718: Consider using a set comprehension (consider-using-set-comprehension)
-
48c715e3
by Javier Jardón
at 2018-08-12T04:42:45Z
Merge branch 'jjardon/ci_fedora28' into 'master'
Add job to run tests in fedora 28
See merge request BuildStream/buildstream!643
-
ccf6e479
by Valentin David
at 2018-08-12T05:54:36Z
buildstream/plugins/sources/local.py: Make staging deterministic.
Instead of copying metadata on files staged by local, we manually set
mode to 0755 or 0644 depending on whether user execution was enabled
on source file.
This makes file modes deterministic independently on the way source
was distributed.
Non-deterministic mode copying all metadata can still be enabled by
disable 'deterministic' Boolean configuration on the plugin.
Fixes #527.
-
322cab58
by Valentin David
at 2018-08-12T05:54:36Z
Use deterministic umask when staging sources.
This fix is applied to plugins bzr, git, patch.
Fixes #543 #544 #555.
-
d08699bd
by Valentin David
at 2018-08-12T05:54:36Z
buildstream/plugins/sources/zip.py: Fix non-determism in staging.
Staging could end-up with file with different rights depending on the
umask. The extracted files need to get their access rights fixed.
-
70fb7f17
by Valentin David
at 2018-08-12T05:54:36Z
Add some integration tests for source plugin determinism.
-
67df3904
by Valentin David
at 2018-08-12T05:54:36Z
Bump BST_CORE_ARTIFACT_VERSION for deterministic source plugins
-
c1fdebb3
by Tristan Van Berkom
at 2018-08-12T06:59:46Z
Merge branch 'valentindavid/deterministic-source' into 'master'
Deterministic staging
Closes #543, #544, #555, and #527
See merge request BuildStream/buildstream!616
-
3e5aa8ff
by Chandan Singh
at 2018-08-12T10:57:15Z
doc: Fix install instructions for Fedora
`python3-arpy` package is not available on Fedora so it has to be
installed using `pip`. Update instructions accordingly.
For reference, here is a pipeline that failed when trying to install
`arpy` using current instructions:
https://gitlab.com/BuildStream/buildstream-docker-images/-/jobs/88553245.
-
7a13c834
by Javier Jardón
at 2018-08-12T20:11:12Z
Merge branch 'chandan/update-fedora-install-docs' into 'master'
doc: Fix install instructions for Fedora
See merge request BuildStream/buildstream!640
-
c2cc62e7
by Chandan Singh
at 2018-08-13T00:17:21Z
remote source: Add cachekey test
Add cachekey tests for the recently added `remote` source plugin to
ensure that future changes do not break API compatibility.
-
a791e09c
by Tristan Van Berkom
at 2018-08-13T07:43:52Z
Merge branch 'chandan/remote-source-cachekey-test' into 'master'
remote source: Add cachekey test
See merge request BuildStream/buildstream!636
-
353a6cc2
by Valentin David
at 2018-08-13T09:29:40Z
Fix tracking of junctions used in project.conf.
Stream._load() now returns early without resolving build pipeline when
only tracking. Resolving track pipelines does not require to fully
load project configurations when when elements to track are only
junctions.
However build pipelines require to fully load project
configurations. This might not be possible in the case a project
configuration includes a file from a junction that yet needs to be
tracked.
Fixes #565.
-
5a667107
by Tristan Van Berkom
at 2018-08-13T10:58:12Z
Merge branch 'valentindavid/fix_included_junction_track' into 'master'
Fix tracking of junctions used in project.conf
Closes #565
See merge request BuildStream/buildstream!619
-
6e759d8a
by Valentin David
at 2018-08-13T12:39:23Z
Set version of ruaml.yaml to strictly less than 0.15.52.
This allows to use version 0.15.51 rather than 0.15.0 which is
required for Python 3.
Fixes #571.
-
56f2b2e4
by Valentin David
at 2018-08-13T13:36:45Z
Merge branch 'valentindavid/ruamel-version' into 'master'
Set version of ruaml.yaml to at least 0.15.41 but strictly less than 0.15.52.
Closes #571
See merge request BuildStream/buildstream!646
-
9d3ba204
by Chandan Singh
at 2018-08-13T19:46:23Z
WIP: Add OCI element