Fixing issues with latest changes to docker autoconfig (#208)
* fixing autoconfig issue
* fixing release script
* add new test to presubmit (exercises pulling project from github and grabbing several autoconfig directories)
diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml
index e7422ad..81bdb7c 100644
--- a/.bazelci/presubmit.yml
+++ b/.bazelci/presubmit.yml
@@ -7,6 +7,7 @@
- "//tests/config:ubuntu-xenial-autoconfig_test"
- "//tests/config:ubuntu-xenial-custom-bazel-rc-version-autoconfig_test"
- "//tests/config:debian8_clang_autoconfig_test"
+ - "//tests/config:external-repo-autoconfig_test"
- "//configs/debian8_clang:default-debian8-clang-0.3.0-bazel_0.16.1-autoconfig_test"
- "//configs/debian8_clang:msan-debian8-clang-0.3.0-bazel_0.16.1-autoconfig_test"
- "//configs/ubuntu16_04_clang:default-ubuntu16_04-clang-1.0-bazel_0.16.1-autoconfig_test"
diff --git a/release/cc/execute_targets.py b/release/cc/execute_targets.py
index bc54db0..d255b88 100644
--- a/release/cc/execute_targets.py
+++ b/release/cc/execute_targets.py
@@ -83,8 +83,14 @@
# Generate config directory.
os.makedirs(config.get_config_dir())
- command = ("bazel run --define=DOCKER_AUTOCONF_OUTPUT={OUTPUT_DIR} "
- "//{PACKAGE}:{TARGET}").format(
+ command = ("bazel build //{PACKAGE}:{TARGET}").format(
+ PACKAGE=container_configs.package,
+ TARGET=target)
+ print("\nExecuting command: %s\n" % command)
+ subprocess.check_call(shlex.split(command))
+
+ command = ("cp ./bazel-out/k8-fastbuild/bin/{PACKAGE}/{TARGET}_outputs.tar "
+ "{OUTPUT_DIR}/").format(
OUTPUT_DIR=TMP_DIR,
PACKAGE=container_configs.package,
TARGET=target)
@@ -92,7 +98,7 @@
subprocess.check_call(shlex.split(command))
# Extract toolchain configs.
- tar_path = os.path.join(TMP_DIR, "%s.tar" % target)
+ tar_path = os.path.join(TMP_DIR, "%s_outputs.tar" % target)
tar = tarfile.open(tar_path)
for config_file in CONFIG_FILES:
diff --git a/rules/docker_config.bzl b/rules/docker_config.bzl
index 02eee47..90489f5 100644
--- a/rules/docker_config.bzl
+++ b/rules/docker_config.bzl
@@ -195,7 +195,7 @@
for config_repo in ctx.attr.config_repos:
src_dir = "$(bazel info output_base)/" + _EXTERNAL_FOLDER_PREFIX + config_repo
copy_cmd.append("cp -dr " + src_dir + " " + "/")
- copy_cmd.append("tar -cf /outputs.tar /" + " ".join(ctx.attr.config_repos))
+ copy_cmd.append("tar -cf /outputs.tar /" + " /".join(ctx.attr.config_repos))
output_copy_cmd = " && ".join(copy_cmd)
# Command to run autoconfigure targets.
diff --git a/tests/config/BUILD b/tests/config/BUILD
index 9d880a0..2740b96 100644
--- a/tests/config/BUILD
+++ b/tests/config/BUILD
@@ -109,6 +109,19 @@
)
docker_toolchain_autoconfig(
+ name = "external-repo-autoconfig",
+ base = ":rbe-test-xenial-with-pkgs.tar",
+ config_repos = [
+ "local_config_sh",
+ "local_config_cc",
+ ],
+ env = gcc_env(),
+ git_repo = "https://github.com/bazelbuild/bazel",
+ tags = ["manual"],
+ test = True,
+)
+
+docker_toolchain_autoconfig(
name = "ubuntu-xenial-bazel-head-autoconfig",
base = ":rbe-test-xenial-with-pkgs.tar",
env = gcc_env(),