// 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": [],
            "targets": ["//examples/cpp:hello-world"]
        }
    }
]
