diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3c308006bb573481d33b32ffa8a2d4b428c19a2a..ffc63e9a52b1333428ddd535bdfa36c24df43fd5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,5 @@ include: - - component: "${CI_SERVER_HOST}/ci/component/bazelisk/bazelisk@v1.0.0-beta.4" + - component: "${CI_SERVER_HOST}/ci/component/bazelisk/bazelisk@v1.0.0-beta.5" inputs: image: "${CI_REGISTRY_IMAGE}" tag: "${CI_COMMIT_SHA}" @@ -48,15 +48,15 @@ test: - !reference [.bazelisk, cache] - key: "bazel-cache-${CI_PROJECT_ID}" paths: - - ".cache/bazel/disk" - - ".cache/bazel/repo" + - ".cache/bazel/disk" + - ".cache/bazel/repo" parallel: matrix: - ROOT: - - . - - e2e + - . + - e2e CONFIG: - - local + - local # FIXME: enable remote builds # - remote script: diff --git a/e2e/docker/BUILD.bazel b/e2e/docker/BUILD.bazel index 60476d550d56679c237a6a1d19945770d8be9146..f1b7369ad7c0a82a9c0789476b20bffa55a6e9aa 100644 --- a/e2e/docker/BUILD.bazel +++ b/e2e/docker/BUILD.bazel @@ -34,6 +34,12 @@ labgrid_config_toolchain( deps = ["@pip//docker"], ) +py_binary( + name = "info", + srcs = ["info.py"], + deps = ["@pip//docker"], +) + # A simplistic implementation of cat which dependends on runfiles py_binary( name = "cat", @@ -46,7 +52,10 @@ labgrid_run( outs = ["stdout.log"], cmd = "$(locations :cat) /etc/os-release > $@", platform = ":platform", - tags = ["manual"], + tags = [ + "manual", + "requires-docker", + ], ) # Check that the output of `/proc/version` from within the container is what we expect @@ -55,5 +64,8 @@ diff_file_test( size = "small", a = ":version.txt", b = ":stdout.log", - tags = ["manual"], + tags = [ + "manual", + "requires-docker", + ], ) diff --git a/e2e/docker/info.py b/e2e/docker/info.py new file mode 100644 index 0000000000000000000000000000000000000000..641f1a2b3abb9019e024721f5668fee02e0f89ec --- /dev/null +++ b/e2e/docker/info.py @@ -0,0 +1,7 @@ +from json import dump +from sys import stdout + +from docker import from_env + +client = from_env() +dump(client.version(), stdout) diff --git a/labgrid/executor/BUILD.bazel b/labgrid/executor/BUILD.bazel index 6ead04d607d94f21766c0f1c4331eac9c71e164f..bc238473e9ffdd3650d2caf69715d418ff2c26b5 100644 --- a/labgrid/executor/BUILD.bazel +++ b/labgrid/executor/BUILD.bazel @@ -60,4 +60,4 @@ py_test( ], main = "executor.py", deps = ["host"], -) \ No newline at end of file +) diff --git a/labgrid/executor/executor.py b/labgrid/executor/executor.py index fe189732904cb0f775c892a6259e37d431d97d72..ba7d34c7be9bbf0fd362254712c10108df60d854 100644 --- a/labgrid/executor/executor.py +++ b/labgrid/executor/executor.py @@ -81,12 +81,13 @@ def main(exe: Path, *args: str) -> int: if machine() == "arm64" and system() == "Darwin": cmd = (which("sh"), *cmd) - data = Data(env={}) + data = Data(env={k: v for k, v in environ.items() if k != "RUNFILES_DIR"}) with ExitStack() as stack: for manager in parsed.managers: data = stack.enter_context(manager(data)) env = {k: resolve_runfile(v) for k, v in parsed.env} - env |= {k: v for k, v in data.env.items() if k != "RUNFILES_DIR"} + env |= {k: v for k, v in data.env.items()} + try: run(cmd, env=env, check=True) except CalledProcessError as e: diff --git a/labgrid/genrule/rule.bzl b/labgrid/genrule/rule.bzl index fd0a3de2bec336cd2f9328f3a17ea718326af269..50c27211e8bbf89c1caafed56d0407ffb02306eb 100644 --- a/labgrid/genrule/rule.bzl +++ b/labgrid/genrule/rule.bzl @@ -97,7 +97,8 @@ def implementation(ctx): inputs = [ctx.file._executor_args], outputs = ctx.outputs.outs, tools = [t.files_to_run for t in (ctx.attr.tools + ctx.attr.srcs)] + [ctx.executable._sh], - env = ctx.attr._executor[RunEnvironmentInfo].environment, + use_default_shell_env = False, + env = ctx.configuration.default_shell_env | ctx.attr._executor[RunEnvironmentInfo].environment, mnemonic = "LabGridGenrule", ) diff --git a/qemu/seed/image/main.py b/qemu/seed/image/main.py index d91b14d8d704fc5e8414c3c1b9af8220d8dbce0a..46fdd62218171f24f1a282a2435e1c74535ac144 100755 --- a/qemu/seed/image/main.py +++ b/qemu/seed/image/main.py @@ -1,5 +1,6 @@ import io from argparse import ArgumentParser + import pycdlib @@ -14,7 +15,6 @@ def main(): arguments(prsr) parsed = prsr.parse_args() seed_image_path = parsed.output - # generate_user_data file user_data = f"""\