diff options
-rw-r--r-- | scripts/ci/bazel-docker-tests.json | 13 | ||||
-rw-r--r-- | scripts/ci/bazel-tests.json | 138 | ||||
-rw-r--r-- | scripts/ci/bootstrap.json | 101 |
3 files changed, 252 insertions, 0 deletions
diff --git a/scripts/ci/bazel-docker-tests.json b/scripts/ci/bazel-docker-tests.json new file mode 100644 index 0000000000..cc427aa209 --- /dev/null +++ b/scripts/ci/bazel-docker-tests.json @@ -0,0 +1,13 @@ +[ + { + "node": "docker", + "variation": "", + "parameters": { + "targets": [], + "tests": [ + "//tools/cpp/...", + "filter(\"^//src/test/docker\", //src/test/...)" + ] + } + } +] diff --git a/scripts/ci/bazel-tests.json b/scripts/ci/bazel-tests.json new file mode 100644 index 0000000000..05a5279cd5 --- /dev/null +++ b/scripts/ci/bazel-tests.json @@ -0,0 +1,138 @@ +// This is a list of configuration for the bazel-tests job. +// See https://github.com/bazelbuild/continuous-integration/blob/master/docs/owner.md#customizing-a-project. +[ + { + "configurations": [ + { + "node": "linux-x86_64", + "variation": "" + }, + { + "node": "ubuntu_16.04-x86_64", + "variation": "" + } + ], + "parameters": { + "configure": [ + "echo >>WORKSPACE", + "cat >>WORKSPACE <<EOF", + "android_sdk_repository(", + " name = \"androidsdk\",", + " path = \"${ANDROID_SDK_PATH}\",", + ")", + "android_ndk_repository(", + " name = \"androidndk\",", + " path = \"${ANDROID_NDK_PATH}\",", + ")", + "EOF" + ], + "tests": [ + "//scripts/...", + "filter(\"^(?!//src/test/docker).*$\", //src/test/...)", + "//third_party/ijar/...", + "//tools/android/..." + ], + "targets": [] + } + }, { + "configurations": [ + { + "node": "freebsd-11", + "variation": "" + }, + { + "node": "freebsd-12", + "variation": "" + } + ], + "parameters": { + // As configure step, we redo the USES=shebangfix of the devel/bazel + // port. In other words, we replace every #!-line calling bash by a + // line containing the correct path to bash on our test machines. + "configure": [ + "find -E . -type f -iregex '.*(sh|txt|_stub|stub_.*|bazel|get_workspace_status|protobuf_support|_so)' \\", + "-exec sed -i '' \\", + "-e '1s|^\\#![[:space:]]*/bin/bash\\([[:space:]]\\)|\\#!/usr/local/bin/bash\\1|' \\", + "-e '1s|^\\#![[:space:]]*/bin/bash$|\\#!/usr/local/bin/bash|' \\", + "-e '1s|^\\#![[:space:]]*/usr/bin/env bash\\([[:space:]]\\)|\\#!/usr/local/bin/bash\\1|' \\", + "-e '1s|^\\#![[:space:]]*/usr/bin/env bash$|\\#!/usr/local/bin/bash|' \\", + "{} +" + ], + "tests": [ + "//src/test/shell/integration/..." + ], + "targets": [] + } + }, { + "node": "darwin-x86_64", + "variation": "", + "parameters": { + "configure": [ + "echo >>WORKSPACE", + "cat >>WORKSPACE <<EOF", + "android_sdk_repository(", + " name = \"androidsdk\",", + " path = \"${ANDROID_SDK_PATH}\",", + ")", + "android_ndk_repository(", + " name = \"androidndk\",", + " path = \"${ANDROID_NDK_PATH}\",", + ")", + "EOF" + ], + "build_opts": ["--define IPHONE_SDK=1"], + "tests": [ + "//scripts/...", + "filter(\"^(?!//src/test/docker).*$\", //src/test/...)", + "//third_party/ijar/...", + "//tools/android/..." + ], + "targets": [] + } + }, { + "toolchain": "msvc", + "configurations": [{ + "node": "windows-x86_64", + "variation": "" + }], + "parameters": { + "build_opts": [ + "--copt=-w", + "--host_copt=-w", + // TODO(pcloudy):. + // Remove it after wrapper-less CROSSTOOL becomes default + "--action_env=NO_MSVC_WRAPPER=1" + ], + "test_opts": [ + // TODO(pcloudy): Remove this after TEMP is properly set. + // A workaround for ASSERT_DEATH in gtest on Windows. + // When running tests, Bazel doesn't set TEMP, + // ASSERT_DEATH will try to write to C:/Windows, then fails. + "--test_env=TEMP", + ], + "test_tag_filters": ["-no_windows"], + "tests": [ + "//src/test/py/...", + "//src/test/java/...", + "//src/test/cpp/...", + "//src/test/native:all_tests", + "//src/tools/launcher/util/...", + "//src/test/shell/bazel:bazel_bootstrap_distfile_test", + "//src/test/shell/bazel:bazel_windows_example_test" + ], + "targets": ["//src:bazel"] + } + }, { + "toolchain": "msys", + "configurations": [{ + "node": "windows-x86_64", + "variation": "" + }], + "parameters": { + "build_opts": ["--cpu=x64_windows_msys", "--host_cpu=x64_windows_msys"], + "test_tag_filters": ["-no_windows"], + "tests": ["//src/test/shell/bazel:bazel_windows_example_test"], + "targets": [] + } + } +] diff --git a/scripts/ci/bootstrap.json b/scripts/ci/bootstrap.json new file mode 100644 index 0000000000..b229d23eaf --- /dev/null +++ b/scripts/ci/bootstrap.json @@ -0,0 +1,101 @@ +// Configure the nodes to bootstrap bazel on. +// See https://github.com/bazelbuild/continuous-integration/blob/master/docs/owner.md#bazel-bootstrap +[ + { + "node": "linux-x86_64", + "variation": "", + "parameters": { + "archive": { + "bazel-bin/src/bazel": "bazel", + "bazel-bin/scripts/packages/with-jdk/install.sh": "bazel-%{release_name}-installer-linux-x86_64.sh", + "bazel-bin/scripts/packages/without-jdk/install.sh": "bazel-%{release_name}-without-jdk-installer-linux-x86_64.sh", + "bazel-bin/scripts/packages/debian/bazel-debian.deb": "bazel_%{release_name}-linux-x86_64.deb", + "bazel-genfiles/bazel-distfile.zip": "bazel-%{release_name}-dist.zip" + }, + "stash": { + "bazel-genfiles/scripts/packages/debian/bazel.dsc": "bazel.dsc", + "bazel-genfiles/scripts/packages/debian/bazel.tar.gz": "bazel.tar.gz", + "bazel-genfiles/site/jekyll-tree.tar": "docs.bazel.build.tar", + "bazel-bin/src/tools/benchmark/webapp/site.tar": "perf.bazel.build.tar.nobuild" + }, + "targets": [ + "//scripts/packages", + "//site:jekyll-tree", + "//src/tools/benchmark/webapp:site" + ] + } + }, + { "node": "ubuntu_16.04-x86_64", "variation": "" }, + { + "variation": "", + "node": "freebsd-11", + "parameters": { + "configure": [ + "find -E . -type f -iregex '.*(sh|txt|_stub|stub_.*|bazel|get_workspace_status|protobuf_support|_so)' \\", + "-exec sed -i '' \\", + "-e '1s|^\\#![[:space:]]*/bin/bash\\([[:space:]]\\)|\\#!/usr/local/bin/bash\\1|' \\", + "-e '1s|^\\#![[:space:]]*/bin/bash$|\\#!/usr/local/bin/bash|' \\", + "-e '1s|^\\#![[:space:]]*/usr/bin/env bash\\([[:space:]]\\)|\\#!/usr/local/bin/bash\\1|' \\", + "-e '1s|^\\#![[:space:]]*/usr/bin/env bash$|\\#!/usr/local/bin/bash|' \\", + "{} +" + ], + "archive": {"bazel-bin/src/bazel": "bazel"} + } + }, + { + "variation": "", + "node": "freebsd-12", + "parameters": { + "configure": [ + "find -E . -type f -iregex '.*(sh|txt|_stub|stub_.*|bazel|get_workspace_status|protobuf_support|_so)' \\", + "-exec sed -i '' \\", + "-e '1s|^\\#![[:space:]]*/bin/bash\\([[:space:]]\\)|\\#!/usr/local/bin/bash\\1|' \\", + "-e '1s|^\\#![[:space:]]*/bin/bash$|\\#!/usr/local/bin/bash|' \\", + "-e '1s|^\\#![[:space:]]*/usr/bin/env bash\\([[:space:]]\\)|\\#!/usr/local/bin/bash\\1|' \\", + "-e '1s|^\\#![[:space:]]*/usr/bin/env bash$|\\#!/usr/local/bin/bash|' \\", + "{} +" + ], + "archive": {"bazel-bin/src/bazel": "bazel"} + } + }, + { + "variation": "", + "node": "darwin-x86_64", + "parameters": { + "archive": { + "bazel-bin/src/bazel": "bazel", + "bazel-bin/scripts/packages/with-jdk/install.sh": "bazel-%{release_name}-installer-darwin-x86_64.sh", + "bazel-bin/scripts/packages/without-jdk/install.sh": "bazel-%{release_name}-without-jdk-installer-darwin-x86_64.sh" + }, + "targets": [ + "//scripts/packages" + ], + // TODO(dmarting): Do we still needs that? this could be done as an external repo + // instead. + "opts": ["--define IPHONE_SDK=1"] + } + }, + // TODO(dmarting): windows build zip with "zip -j", add it to //packages + { + "variation": "", + "node": "windows-x86_64", + "parameters": { + "archive": { + "bazel-bin/src/bazel": ["bazel.exe", "bazel-%{release_name}-without-jdk-windows-x86_64.exe"], + "bazel-bin/src/bazel_with_jdk": "bazel-%{release_name}-windows-x86_64.exe", + "bazel-genfiles/scripts/packages/bazel.zip": "bazel-%{release_name}-without-jdk-windows-x86_64.zip", + "bazel-genfiles/scripts/packages/bazel_with_jdk.zip": "bazel-%{release_name}-windows-x86_64.zip" + }, + "targets": [ + "//scripts/packages" + ], + "opts": [ + "--copt=-w", + "--host_copt=-w", + // TODO(pcloudy): + // Remove it after wrapper-less CROSSTOOL becomes default + "--action_env=NO_MSVC_WRAPPER=1" + ] + } + } +] |