summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbst-marge-bot <marge-bot@buildstream.build>2020-09-23 10:28:49 +0000
committerbst-marge-bot <marge-bot@buildstream.build>2020-09-23 10:28:49 +0000
commit34d69a5bee001c813842594d966b52a16cbe187d (patch)
tree99dd05b495b3135154b1baa8416a6ac051509ada
parentee43d10c7e16ec0598a2a43402b52a8817c76079 (diff)
parentee9907623af489b6ae72f106edf5f43aab6bbf53 (diff)
downloadbuildstream-34d69a5bee001c813842594d966b52a16cbe187d.tar.gz
Merge branch 'tristan/fix-overnight-tests' into 'master'
.gitlab-ci.yml: Use ported plugins and fdsdk for overnight tests See merge request BuildStream/buildstream!2068
-rw-r--r--.gitlab-ci.yml2
-rw-r--r--src/buildstream/_artifactelement.py3
-rw-r--r--src/buildstream/element.py6
-rw-r--r--src/buildstream/sandbox/sandbox.py14
4 files changed, 11 insertions, 14 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index be3c5fbe5..43ccc462f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -295,7 +295,7 @@ docs:
image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-${DOCKER_IMAGE_VERSION}
variables:
FD_SDK_REF: freedesktop-sdk-20.08beta.1-buildstream2
- BST_EXT_REF: aa5b1bc2743ce01763567f88b16c8cd5f868ac6c
+ BST_EXT_REF: da0417b62ba47ffdaff985b736907373d14cd2c7
before_script:
- |
mkdir -p "${HOME}/.config"
diff --git a/src/buildstream/_artifactelement.py b/src/buildstream/_artifactelement.py
index b669d95f7..3dce09202 100644
--- a/src/buildstream/_artifactelement.py
+++ b/src/buildstream/_artifactelement.py
@@ -135,9 +135,6 @@ class ArtifactElement(Element):
# Tell the sandbox to mount the build root and install root
sandbox.mark_directory(install_root)
- # Tell sandbox which directory is preserved in the finished artifact
- sandbox.set_output_directory(install_root)
-
# Override Element._calculate_cache_key
def _calculate_cache_key(self, dependencies=None):
return self._key
diff --git a/src/buildstream/element.py b/src/buildstream/element.py
index 06327baf1..9348dff48 100644
--- a/src/buildstream/element.py
+++ b/src/buildstream/element.py
@@ -1122,6 +1122,12 @@ class Element(Plugin):
# Class supports dependency configuration
if dep.config_nodes:
+
+ # Ensure variables are substituted first
+ #
+ for config in dep.config_nodes:
+ element.__variables.expand(config)
+
custom_configurations.extend(
[DependencyConfiguration(dep_proxy, dep.path, config) for config in dep.config_nodes]
)
diff --git a/src/buildstream/sandbox/sandbox.py b/src/buildstream/sandbox/sandbox.py
index 031968826..eb0a705d7 100644
--- a/src/buildstream/sandbox/sandbox.py
+++ b/src/buildstream/sandbox/sandbox.py
@@ -138,7 +138,6 @@ class Sandbox:
self.__stdout = kwargs["stdout"]
self.__stderr = kwargs["stderr"]
- self._output_directory = None # type: Optional[str]
self._build_directory = None
self._build_directory_always = None
self._vdir = None # type: Optional[Directory]
@@ -176,16 +175,9 @@ class Sandbox:
Args:
directory: An absolute path within the sandbox
"""
- self.__cwd = directory
-
- def set_output_directory(self, directory: str) -> None:
- """Sets the output directory - the directory which is preserved
- as an artifact after assembly.
+ assert directory.startswith("/"), "The working directory must be an absolute path"
- Args:
- directory: An absolute path within the sandbox
- """
- self._output_directory = directory
+ self.__cwd = directory
def mark_directory(self, directory: str, *, artifact: bool = False) -> None:
"""Marks a sandbox directory and ensures it will exist
@@ -199,6 +191,8 @@ class Sandbox:
Any marked directories will be read-write in the sandboxed
environment, only the root directory is allowed to be readonly.
"""
+ assert directory.startswith("/"), "The directories marked in the sandbox must be absolute paths"
+
self.__directories.append({"directory": directory, "artifact": artifact})
def run(