blob: 411659593db2ff6f1293ca5ccdecb808ec2bd475 [file] [log] [blame]
// This is a relaxed JSON format, you can have comment in it.
// This is a list of configuration for the bazel-tests job.
[
{
// This is a configuration that have 3 subconfigurations: linux, ubuntu and darwin
// A job configuration special keys are:
// node -> indicate a node label to run the configuration on
// variation -> an extra content to the bazel version
"configurations": [
{
"node": "linux-x86_64",
"variation": ""
},
{
"node": "ubuntu_16.04-x86_64",
"variation": ""
}
],
// And specify the parameters for these configurations, which can be:
// configure: list of configuration step to run before bazel
// tests: tests to execute, default to ["//..."]
// targets: targets to build, default to ["//..."]
// test_tag_filters: tag to filter test (-noci and -manual are automatically added)
// build_tag_filters: tag to filter target to build
// test_opts: test options
// build_opts: build options
"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": []
}
}
]