aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--scripts/ci/bazel-docker-tests.json13
-rw-r--r--scripts/ci/bazel-tests.json138
-rw-r--r--scripts/ci/bootstrap.json101
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"
+ ]
+ }
+ }
+]