-
7de8c1b8
by Tristan Van Berkom
at 2018-07-18T12:30:29Z
Updating man pages for 1.1.4 release
-
21fb826d
by Chandan Singh
at 2018-07-19T15:06:16Z
.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.
-
90a204d5
by Tiago Gomes
at 2018-07-20T11:25:35Z
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.
-
73f0aace
by Ed Baunton
at 2018-07-26T15:30:45Z
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
-
55821362
by Ed Baunton
at 2018-07-26T15:30:52Z
Provide explicit reason for SourceError exception on path
When the user provides a path for the filename parameter, provide a reason
-
61273070
by Tristan Van Berkom
at 2018-07-26T16:10:47Z
Merge branch 'jjardon/remote-source-plugin-1.2' into 'bst-1.2'
Backport remote source plugin to 1.2
See merge request BuildStream/buildstream!572
-
e5e65f3e
by Josh Smith
at 2018-07-27T05:30:32Z
_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.
-
c3f270bb
by Josh Smith
at 2018-07-27T05:30:32Z
_downloadablefilesource.py: Update network errors to be temporary
This follows the change in 67ecd97a05279a3b7570ad59f05bf0a5973ef04c.
-
19ce5734
by Josh Smith
at 2018-07-27T05:30:32Z
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.
-
4fda15d2
by Josh Smith
at 2018-07-27T05:30:32Z
cascache.py: Update cache push/pull errors to be temporary
Further work needs to be done for the current grpc exceptions which are reraised.
-
2668424b
by Josh Smith
at 2018-07-27T05:30:32Z
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()
-
e7caa860
by Josh Smith
at 2018-07-27T05:30:32Z
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.
-
50087310
by Tristan Van Berkom
at 2018-07-27T06:55:03Z
Merge branch 'tristan/temporary-failures-backport' into 'bst-1.2'
Tristan/temporary failures backport
See merge request BuildStream/buildstream!575
-
45bd3cbd
by Jonathan Maw
at 2018-07-29T08:01:40Z
project: Parse and store mirrors
-
9279b630
by Jonathan Maw
at 2018-07-29T08:02:06Z
Move _ALIAS_SEPARATOR into utils
The separator is useful in source files other than _project.py
-
1728adcc
by Jonathan Maw
at 2018-07-29T08:12:41Z
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.
-
0af3deda
by Jonathan Maw
at 2018-07-29T08:12:42Z
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
-
590b0b47
by Jonathan Maw
at 2018-07-29T08:12:42Z
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"
-
8a9fd8e1
by Jonathan Maw
at 2018-07-29T08:12:42Z
Add mirrored source tracking
-
5497b212
by Jonathan Maw
at 2018-07-29T08:12:42Z
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.
-
81349e1b
by Jonathan Maw
at 2018-07-29T08:12:42Z
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.
-
4ee3856c
by Jonathan Maw
at 2018-07-29T08:12:42Z
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.
-
56c855fa
by Jonathan Maw
at 2018-07-29T08:12:42Z
tests: Add mirrored fetching and tracking tests
-
f63e53d0
by Jonathan Maw
at 2018-07-29T08:12:42Z
doc: Add documentation for source mirroring
-
c5b9eec6
by Jonathan Maw
at 2018-07-29T08:12:42Z
NEWS: Add item for source mirroring
-
a6b86e5c
by Jonathan Maw
at 2018-07-29T08:12:42Z
doc: Add tutorials for setting up git and tar mirrors
-
92f8fa38
by Tristan Van Berkom
at 2018-07-29T09:49:53Z
Merge branch 'tristan/source-mirrors-backport' into 'bst-1.2'
source mirrors backport
See merge request BuildStream/buildstream!582
-
ef4c6928
by Tristan Van Berkom
at 2018-07-29T09:53:56Z
NEWS: Mentioning Ed Baunton's new `remote` source plugin.
-
95cc9793
by Tristan Van Berkom
at 2018-07-29T17:21:24Z
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
-
55aacefa
by Tristan Van Berkom
at 2018-07-29T19:53:57Z
Merge branch 'tristan/fix-spurious-errors-1.2' into 'bst-1.2'
git.py: Handle concurrent download completions properly
See merge request BuildStream/buildstream!584
-
12fea82e
by Tristan Maat
at 2018-07-29T19:54:50Z
buildelement.py: Only display one activity message (#507)
-
a4c9e5b2
by Tristan Van Berkom
at 2018-07-29T21:14:43Z
Merge branch 'tristan/backport-logline-dups-1.2' into 'bst-1.2'
buildelement.py: Only display one activity message (#507)
See merge request BuildStream/buildstream!586
-
58cfe019
by Tom Pollard
at 2018-07-30T15:09:12Z
widget.py: Limit failure summary to currently failing elements (#386)
See merge request BuildStream/buildstream!561
-
5171cb0e
by Tristan Van Berkom
at 2018-07-31T06:32:15Z
Merge branch 'tpollard/386-cherrypick' into 'bst-1.2'
widget.py: Limit failure summary to currently failing elements (#386)
See merge request BuildStream/buildstream!589
-
70e3bec8
by Tiago Gomes
at 2018-08-02T11:32:29Z
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.
-
ca390d0b
by Tiago Gomes
at 2018-08-02T11:33:10Z
local plugin: validate project paths
-
cdd16ce9
by Tiago Gomes
at 2018-08-02T11:33:17Z
patch plugin: validate project paths
-
ea9fd3dd
by Tiago Gomes
at 2018-08-02T11:33:17Z
ostree plugin: validate project paths
-
99ca4b77
by Tiago Gomes
at 2018-08-02T11:33:17Z
project: validate project paths (element-path)
-
0225ee14
by Tiago Gomes
at 2018-08-02T11:33:17Z
project: validate project paths (local plugin paths)
-
567e2a64
by Tiago Gomes
at 2018-08-02T11:33:17Z
tests: add generate_file_types testing function
-
ecb1c0f8
by Tiago Gomes
at 2018-08-02T11:33:17Z
tests: add additional tests to local plugin
-
29a70806
by Tiago Gomes
at 2018-08-02T11:33:17Z
tests: add additional tests to patch plugin
-
5f3faa08
by Tiago Gomes
at 2018-08-02T11:33:17Z
tests: test local plugins and element-path paths
-
168e1673
by Tiago Gomes
at 2018-08-02T12:06:56Z
Merge branch 'tiagogomes/issue-195-1.2' into 'bst-1.2'
Add validation for project paths
See merge request BuildStream/buildstream!598
-
70e5d36d
by Valentin David
at 2018-08-03T11:54:30Z
Move tests.frontend.generate_junction to test.testutils
-
4bcd3cc5
by Valentin David
at 2018-08-03T11:54:33Z
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.
-
63a37dff
by Valentin David
at 2018-08-03T11:54:33Z
Make Project owner of Loader.
-
054112e2
by Valentin David
at 2018-08-03T11:54:33Z
Refactor plugin factory creation
-
f47b80c3
by Valentin David
at 2018-08-03T11:54:33Z
Add support for include '(@)' in project.conf and .bst files
Fixes #331.
-
a27de512
by Tiago Gomes
at 2018-08-03T12:48:51Z
Merge branch 'tiagogomes/includes-1.12-backport' into 'bst-1.2'
Add support for include in project.conf
See merge request BuildStream/buildstream!599
-
e06907ba
by Josh Smith
at 2018-08-03T15:31:48Z
cascache.py: Raise ArtifactError on grpc error
This aims to fix issue #502.
-
98616f50
by Qinusty
at 2018-08-03T16:30:24Z
Merge branch 'Qinusty/backport-576' into 'bst-1.2'
Backport unhandled exception fix in cascache.py
See merge request BuildStream/buildstream!602
-
111c0fde
by Mathieu Bridon
at 2018-08-05T09:40:22Z
doc: Build the docs without Buildstream installed
-
d9b2de3e
by Tristan Van Berkom
at 2018-08-05T10:06:42Z
__main__.py: Adding private entry point so we can run BuildStream without installing
This is needed to build docs without installing BuildStream.
-
10d57730
by Tristan Van Berkom
at 2018-08-05T10:06:42Z
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.
-
574fb6ac
by Tristan Van Berkom
at 2018-08-05T10:06:42Z
HACKING.rst: It is not longer required to install BuildStream to build the docs.
-
81fdd088
by Tristan Van Berkom
at 2018-08-05T10:59:38Z
Merge branch 'tristan/build-docs-1.2' into 'bst-1.2'
Build documentation without installing (backport to 1.2)
See merge request BuildStream/buildstream!606
-
16221c6b
by Josh Smith
at 2018-08-06T09:49:13Z
_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.
-
dc88c4e2
by Tristan Van Berkom
at 2018-08-06T10:34:32Z
Merge branch 'Qinusty/563-cache-quota-restriction' into 'bst-1.2'
Backport cache quota restriction to 1.2
See merge request BuildStream/buildstream!607
-
38cf132e
by Tristan Van Berkom
at 2018-08-06T10:34:49Z
NEWS: Adding news entry for the include directive work.
-
0c57cdda
by Tristan Van Berkom
at 2018-08-06T10:34:49Z
man: Updating man pages for the upcoming 1.1.5 release
-
88c48279
by Josh Smith
at 2018-08-06T11:04:06Z
element.py: Make Element._get_brief_display_key() available to Internal API
This change will allow for more detailed info messages throughout
the CASCache.
-
d33b2e49
by Josh Smith
at 2018-08-06T11:04:17Z
cascache.py: Add push info detailing which remote is being pushed to
Work towards fixing issue #275
-
83b24256
by Josh Smith
at 2018-08-06T11:06:04Z
cascache.py: Add pull info detailing which remote is being pulled from
Work towards fixing issue #275
-
fac62ba0
by Qinusty
at 2018-08-06T12:18:37Z
Merge branch 'Qinusty/553-backport-1.2' into 'bst-1.2'
Backport cascache push/pull messages
See merge request BuildStream/buildstream!608
-
e6e80213
by Josh Smith
at 2018-08-06T12:44:20Z
message.py: MessagesType.SKIPPED added
-
f961a77f
by Josh Smith
at 2018-08-06T12:44:25Z
cascache.py: Display SKIPPED message for each remote skipped
-
40ac763a
by Qinusty
at 2018-08-06T14:57:13Z
Merge branch 'Qinusty/backport-skipped-562' into 'bst-1.2'
Backport SKIPPED MessageType and duplicate skipped message fix
See merge request BuildStream/buildstream!609
-
a0844cbd
by Tiago Gomes
at 2018-08-06T15:05:22Z
PullQueue: fix resource used
Improve fetchers, builders and pushers documentation.
Closes #550.
-
c4248e22
by Tiago Gomes
at 2018-08-06T15:57:40Z
Merge branch 'tiagogomes/issue-550-backport' into 'bst-1.2'
PullQueue: fix resource used
See merge request BuildStream/buildstream!612
-
9388fea9
by Tiago Gomes
at 2018-08-07T10:29:31Z
elementjob: stop calculating cache size
Calculating the cache size on the child_process_data() is racy, as this
runs in the main process which does not obtain exclusive access to the
cache resource.
This calculation also seems unnecessary, as it will triggered when
BuildQueue.done() is called.
-
61a10c70
by Tiago Gomes
at 2018-08-07T10:29:31Z
artifactcache: turn method safe concurrently
Change ArtifactCache.get_approximate_cache_size() to be safe to use
concurrently without the caller having to have exclusive access to the
cache resource.
-
2dc8a6c5
by Tiago Gomes
at 2018-08-07T10:29:31Z
TMP: Ignore socket files on _process_list
-
68145b86
by Tiago Gomes
at 2018-08-07T10:29:31Z
WIP Add end-to-end tests
TODO:
* Uncomment when clausule.
* Remove debug information.