| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We have been using the Freedesktop SDK binaries to provide a base
system to run the integration tests. This works OK but it weighs in
at 985MB of content, and there is no simple way to customize it so
that we only download the bits we actually need.
This commit changes the tests to use a custom sysroot based on the
Alpine Linux distribution. The sysroot is 155MB unpacked, and packs down
to a 27MB .tar.xz.
This speeds up the integration tests significantly as we greatly reduce
the amount of network traffic required and the amount of data that gets
copied around when creating the staging area.
|
| |
|
|
|
|
|
|
|
|
|
| |
The 'step7' tutorial was fine, but it requires a C++ compiler to build.
I have replaced it with a simpler testcase which is based on the
existing amhello testcase.
This means that the integration test suite no longer requires a C++
compiler, and in practice this can allow us to avoid depending on the
GNU C/C++ compilers altogether and instead use the vastly smaller Tiny C
Compiler.
|
| |
|
|
|
|
|
| |
Report error when --track-except or --track-save is specified without
--track or --track-all.
Fixes #181
|
| |
|
|
| |
Fixes #182
|
| | |
|
| |
|
|
|
| |
All source plugins respond to the 'directory' key, so add the doc for it
to those that didn't have it.
|
| |
|
|
| |
Fixes #250
|
| |
|
|
|
|
|
|
| |
It is possible that Queue.process_ready() skips jobs without starting a
job. Pull the skipped jobs forward through the queues and process them
instead of prematurely terminating the loop due to lack of active jobs.
Fixes #236
|
| |
|
|
|
| |
The working directory of the runner is /builds/BuildStream/buildstream,
not /builds/BuildStream.
|
| | |
|
| |
|
|
|
| |
This will checkout a branch from the cache, and switch its parent branch
to the url and ref that the source came from
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The os.path.realpath() function is expensive and we call it many times,
to the point that os.path.realpath() calls make up around 40% of the
total time spent in Element.stage_artifact().
The cleanest way to fix this is with a `functools.lru_cache()` wrapper
that caches recently used values. None of the code in question can be
removed (as the tests added in the previous commit will demonstrate).
I tested this by running `bst shell base/base-system.bst true` in
the GNOME modulesets project.
o Without this patch there are 240,019 calls os.path.realpath()
o With this patch there are 10,379 calls to os.path.realpath()
o If we increase the cache size to 128 items, there are 10,359 calls
to os.path.realpath().
o If we reduce the cache size to 32 items, there are 10,426 calls.
o In all cases the number of *unique* calls is 10,327.
This fixes issue #174.
|
| | |
|
| |
|
|
|
|
|
| |
Reword 'Flags type options' slightly for more clarity.
We use 'option type' to refer to these thingies elsewhere, adjust
'arch' to be the same way.
|
| |
|
|
|
| |
This reduces the number of unconditional imports, mainly to speed up
bash completion.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes it possible to depend on a project which is in a subdirectory
of a Git repository.
The error message given when the expected project.conf file is not found
has also been improved. Previously the error would look like this:
Error loading pipeline: Could not find file at
/home/sam/.cache/buildstream/build/freedesktop-sdk-junction-rvmn17s2/project.conf
This is giving the path of an internal temporary directory where the foreign
project's source is checked out. The new error gives more information:
Error loading pipeline: Could not find the project.conf file for junction
element at freedesktop-sdk-junction.bst [line 1 column 0]. Expecting a
project at path '.' within git source at freedesktop-sdk-junction.bst [line
4 column 2]
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
This introduces junctions as a new kind of elements to allow
dependencies to cross project boundaries.
|
| |
|
|
| |
Loader access will be required for junctions.
|
| |
|
|
| |
With junctions, elements may be loaded from multiple projects.
|
| |
|
|
| |
Project access will be required for junctions.
|
| |
|
|
| |
Element and source factories use a project-specific search path.
|
| |
|
|
| |
cli_options are project-specific.
|
| | |
|
| |
|
|
|
| |
This ensures that overlap warnings from projects without
fail-on-overlaps are not reported in fatal error messages.
|
| |
|
|
| |
It has already been migrated.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
This test covers #225.
|
| |
|
|
|
|
|
|
| |
This fixes `bst shell` crashes in the presence of overlaps.
Fixes #225
Fixes: 2aa233da ("element: Handle overlaps with a whitelist and...")
|
| | |
|
| |
|
|
|
| |
Now that we consider the arch and os for every artifact, lets
bump the core artifact version to make this trackable.
|
| |
|
|
|
|
| |
Do this by default for every element, later we will have
to handle it differently when supporting projects which
build on specific arches with virtualization or networked workers.
|
| | |
|
| |
|
|
|
|
| |
This was pushed accidentally.
This reverts commit 34a60189be63dc86d333ca895ce44bd24adb43c3.
|
| | |
|
| |
|
|
|
|
|
|
| |
SafeHardlinks FUSE needs to hold file descriptors for all processes in
the sandbox. Avoid hitting the limit too quickly by increasing the soft
limit to the maximum.
Fixes #232
|
| |
|
|
|
|
| |
jinja2 2.10 import time has been divided by two compared to Jinja 2.9.6
Fixes #194
|
| | |
|
| | |
|