| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
that has no sources
When trying to look at the source code for an element, elements that
modify artifacts (e.g. script and compose elements) don't have sources,
so we suggest some other elements that they might try opening workspaces
for.
|
| |
|
| |
|
|
|
|
|
|
| |
The flags BST_FORBID_RDEPENDS and BST_FORBID_SOURCES can be set in the
plugin's class declaration, and exceptions will be raised during
pre-flight checks
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
When specifying a location for the integration tests cache directory,
we would previously append '/integration-cache' to whatever path we
were given. This is regarded as confusing.
See: https://gitlab.com/BuildStream/buildstream/issues/267
|
|
|
|
|
|
|
|
| |
Previously the code would default to a directory in `/tmp`, but this
is often unsuitable as the Linux 'tmpfs' filesystem doesn't support
extended file attributes and thus cannot store OSTree repositories.
See: https://gitlab.com/BuildStream/buildstream/issues/267
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Newly added tests:
o Test that bind mounting a file works
o Test that bind mounting a file into a non-existing directory works
o Test that bind mounting is disabled in an isolated shell
o Test that the shell still works, but a warning is printed and
the mount is refused in case the specified file on the host
was found to be a directory
o Test that the shell still works, but a warning is printed
in the case that the file specified on the host does not exist
|
|
|
|
|
|
|
| |
This logic existed but is now a bit more complex with
the addition of allowing explicit bind mounts to be defined
for the shell; the change is that now files can also be
mounted into the sandbox instead of just directories.
|
|
|
|
| |
Does not apply to isolated shells.
|
|
|
|
|
|
|
|
|
|
|
| |
A shell configuration allowing one to bind mount files into the
shell sandbox.
This bumps the BST_FORMAT_VERSION to 2.
This is related to #223, and solves #241 (name resolution problems)
by making it possible to specify a bind mount for `/etc/resolv.conf`
in the project configuration.
|
| |
|
|
|
|
| |
Regression test for #273
|
|
|
|
|
|
|
|
|
| |
Workspaced sources are considered unstable if a build is pending as the
build will modify the contents of the workspace. Determine as early as
possible if a build is pending to be able to discard unstable cache
keys.
Fixes #273
|
|
|
|
|
| |
The cache status of reverse dependencies of workspaced elements cannot
always be determined upfront.
|
|
|
|
| |
Cache key handling is now contained within the Element class.
|
|
|
|
|
| |
Keep the knowledge about which cache key is required for cache queries
within the Element class.
|
| |
|
|
|
|
| |
Contain cache key logic in Element class.
|
|
|
|
| |
Contain cache key logic in Element class.
|
|
|
|
| |
Contain cache key logic in Element class.
|
|
|
|
| |
Contain cache key logic in Element class.
|
| |
|
|
|
|
| |
Contain cache key logic in Element class.
|
|
|
|
| |
Contain cache key logic in Element class.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Remove unused strength parameter from _cached() and _remotely_cached(),
which makes them simple accessor functions as `__cached` is equivalent
to `__strong_cached` with a strict build plan.
|
|
|
|
|
|
|
|
|
|
| |
o Removing format_files() helper in testutils
o Removing imports of format_files()
o Removing imports of walk_dir() where it's not used
o Removing `element_path` variables that are unused
|
| |
|
|
|
|
|
| |
These tests are too long to understand at a glance so a summary is
needed of each.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds two separate checks to avoid pushing artifacts unnecessarily.
First, in the OSTreeCache.push() method we now first obtain the list of
remotes that contain the refs that we are about to push. We then avoid
pushing to any remote that already contains that ref.
Note that the internal ref map is read once on process startup, so
if multiple `bst` processes are pushing to a cache they might still both
push the same artifact. There is an existing issue for this:
https://gitlab.com/BuildStream/buildstream/issues/179
Secondly the Element._skip_push() method now checks if all remote
caches configured for pushing already have a given artifact, and will
skip the push job altogether if they do. The first check would already
mean that no pushes would actually happen, but without the second check
the user would still see Push jobs being created for every artifact
which would be quite misleading.
|
|
|
|
|
|
|
|
|
|
| |
This commit adds a couple of simple classes in order to reduce the
number of different dictionaries tracking the state of the remotes
within the OSTreeCache object.
It also extends the internal ref map to remember all the remotes that
store a given ref, not just the highest priority ref, and modifies the
remote_contains_key() method to expose that data.
|
| |
|
|
|
|
|
|
| |
The junction attribute was merged fairly recently in the 1.1 series without
bumping the project format version, this documents the junctions addition
to be added since the closest version bump where support exists.
|
|
|
|
|
|
| |
This avoids unnecessary downloads when tracking `tar` and `zip` sources.
Fixes #62
|
|
|
|
|
| |
We don't have `Dockerfile` and `Dockerfile-build.sh` anymore in this
repository so remove them from `MANIFEST.in`.
|
| |
|
|
|
|
|
|
|
|
|
| |
Using shlex messes with the argv we want to pass to a shell, this
was not working for the newly added test which passes "${var}" strings
as arguments to the shell.
Also, removed a redundant line to explicitly build something
in the 'no_shell' test; that is taken care of by the helper.
|
|
|
|
|
|
|
|
| |
properly
When testing a recent patch, I had missed a return of the exit code
in `bst shell` resulting in the CLI exiting with `None`; this patch
makes the fixture more helpful, where previously it just printed `None`
|
| |
|
|
|
|
|
|
|
| |
Use the toplevel project configuration to decide:
o What command to run for an interactive shell
o Which environment variables to inherit from host environment
when not running an isolated shell
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This new section informs BuildStream how to launch interactive shells
for the specific project.
These new options are part of the effort to make applications work
better inside a `bst shell` environment, issue #223
Initial options include:
o Default shell command to run for an interactive shell, this is
used for interactive debugging sessions, and also if no command
was specified in `bst shell`
o List of environment variables to inherit from user environment,
this is useful to propagate some host stuff into the environment
for debugging; and only considered when it is not an "isolated"
shell.
These changes also bump the BST_FORMAT_VERSION
|
|
|
|
|
|
|
|
| |
Element._shell()
And use this place to format a custom prompt for PS1, here
we have click and we use the ANSI colors in PS1 only if colors are
enabled.
|