| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| |
| |
| | |
Field-based node properties
See merge request BuildStream/buildstream!1918
|
| | |
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| | |
_loader/loader.py: Reoganized public/private methods
See merge request BuildStream/buildstream!1936
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
* This file had `clean_caches()` documented as public but
the function was actually private `_clean_caches()`: Moved this to
the end of the class in the private section.
* The `_get_loader()` was marked as private but is in fact public,
and used by the project to load cross junction include files.
This patch also updates `_includes.py` to call the public `get_loader()`
method instead of sneaking in and calling the private `_get_loader()` method
(while also removing one redundant line of code from the same function).
|
|\
| |
| |
| |
| |
| |
| | |
Improve handling of frontend crashes
Closes #1312
See merge request BuildStream/buildstream!1933
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
real_schedule()
In case queuing jobs results in jobs completing, we need to reset the
schedule handler at the beginning of the function and not after queueing
the jobs.
This fixes the failure to exit the main loop in #1312
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sending notifications causes potentially large bodies of code to run
in the abstracted frontend codebase, we are not allowed to have knowledge
of the frontend from this code.
Previously, we were adding the job to the active jobs, sending the
notification, and then starting the job. This means that if a BuildStream
frontend implementation crashes, we handle the excepting in an inconsistent
state and try to kill jobs which are not running.
In addition to making sure that active_jobs list adjustment and
job starting does not have any code body run in the danger window
in between these, this patch also adds some fault tolerance and assertions
around job termination so that:
o Job.terminate() and Job.kill() do not crash with None _process
o Job.start() raises an assertion if started after being terminated
This fixes the infinite looping aspects of frontend crashes at
job_start() time described in #1312.
|
|\
| |
| |
| |
| | |
node.pyx: Deep clone ScalarNode too
See merge request BuildStream/buildstream!1929
|
|/
|
|
|
| |
This ensures that when resolving variables, we do not overwrite the
values for a different element in the case we were using composition.
|
|\
| |
| |
| |
| |
| |
| | |
_frontend/profile: Use non-greedy search to substitute variables
Closes #1307
See merge request BuildStream/buildstream!1932
|
|/
|
|
|
|
|
|
| |
Use non-greedy search to ensure that we stop at the next closing brace.
Otherwise, for a string like `%{variable} {variable}`, the second
variable will also get substituted.
Fixes #1307.
|
|\
| |
| |
| |
| |
| |
| | |
Ensure there are no duplicates in Elements.dependencies()
Closes #1308
See merge request BuildStream/buildstream!1931
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we are not recursing, `Element.dependencies()` uses a much more
light weight codepath since it just needs to print the direct
dependencies. However, this simple codepath was not accounting for
duplicates, in case something is both a build time and run time
dependency.
One way this manifested itself was in `bst show --format %{deps}`, but
it would also affect anything that was using this method to iterate on
the dependencies.
Fixes #1308.
|
|\
| |
| |
| |
| |
| |
| | |
Check that buildbox-casd process is not a zombie
Closes #1311
See merge request BuildStream/buildstream!1930
|
|/ |
|
|\
| |
| |
| |
| | |
CLI: Add support for `--deps build` and `--deps run` in more commands
See merge request BuildStream/buildstream!1904
|
| | |
|
| | |
|
| | |
|
| | |
|
|/
|
|
|
|
| |
This can be quite handy when one is preparing to open a build shell.
This originally came up in
https://gitlab.com/BuildStream/buildstream/-/issues/685#note_105460896.
|
|\
| |
| |
| |
| | |
Improve fault tolerance for plugin defined BST_MIN_VERSION
See merge request BuildStream/buildstream!1928
|
| | |
|
|/
|
|
|
|
|
| |
This was not reporting errors if not given a string, since we
don't only pass strings parsed from project.conf but also pass
plugin defined Plugin.BST_MIN_VERSION definitions, we should
be more fault tolerant here.
|
|\
| |
| |
| |
| | |
_sandboxbuildboxrun.py: Pass --no-logs-capture to buildbox-run
See merge request BuildStream/buildstream!1927
|
|/
|
|
|
|
| |
buildbox-common master no longer forwards stdout/stderr of the action
command by default. The buildbox-run capabilities mechanism is used to
support old and new versions.
|
|\
| |
| |
| |
| |
| |
| | |
Resolve source's config with the element's variable
Closes #1127
See merge request BuildStream/buildstream!1924
|
| |
| |
| |
| |
| | |
This automatically expands the variables from the element into
the sources config
|
|/
|
|
|
|
|
| |
We explicitely ask plugin authors not to do this in our documentation,
we should therefore also not do it unless there is a real need.
For this cases, just pass the default values as class variables.
|
|\
| |
| |
| |
| |
| |
| | |
buildelement: Ensure command-subdir is part of the cache key
Closes #1295
See merge request BuildStream/buildstream!1920
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
`command-subdir` was previously missing from the cache key. This patch
makes it a part of the cache key _if_ it was specified. It means that
the cache key will not change for elements that had not defined a
`command-subdir`. However, it will change for every element that did
define it.
Fixes #1295.
|
|\
| |
| |
| |
| | |
Always resolve variables in elements
See merge request BuildStream/buildstream!1919
|
| |
| |
| |
| |
| | |
Now that we handle variable transformation more globally, we don't
need the transform value anymore
|
|/
|
|
|
| |
This will allow all users to not have to care about whether the option
is expanded or not, making it easier to use variables everywhere
|
|\
| |
| |
| |
| | |
Add a new helper function to test cache key stability
See merge request BuildStream/buildstream!1915
|
|/
|
|
|
| |
This allows plugin authors to implement cache keys tests
more easily
|
|\
| |
| |
| |
| | |
tests/integration/manual.py: Fix assertion for CLI invocation
See merge request BuildStream/buildstream!1921
|
|/
|
|
|
|
|
| |
The result of `bst artifact checkout` invocation was not correctly
assigned to the result object in a few places. Hence the assertion on
the next line was really testing the same thing as the previous
assertion, i.e. the result of `bst build`.
|
|\
| |
| |
| |
| | |
Update packages requirements
See merge request BuildStream/buildstream!1906
|
| |
| |
| |
| | |
Also fix linting errors coming with new version of pylint
|
|/ |
|
|\
| |
| |
| |
| | |
pip.py: Remove the pip element, it is in experimental
See merge request BuildStream/buildstream!1911
|
|/
|
|
|
| |
The pip element was copied already to bst-plugins-experimental.
We don't need to have two copies of it.
|
|\
| |
| |
| |
| | |
Return names of grpc errors
See merge request BuildStream/buildstream!1916
|
|/ |
|