load("//bazel:skia_app_container.bzl", "skia_app_container")
load("//golden/pages:all_gold_pages.bzl", "ALL_GOLD_PAGES")
load(":gold_launcher.bzl", "gold_launcher")

skia_app_container(
    name = "gold_frontend_container",
    dirs = {
        "/usr/local/bin": [
            [
                "//golden/cmd/gold_frontend:gold_frontend",
                "0755",
            ],
        ],
        "/usr/local/share/frontend/dist": [
            [
                "//golden/static:favicon.ico",
                "0644",
            ],
        ] + [
            [
                "//golden/pages:production/%s.%s" % (page, ext),
                "0644",
            ]
            for page in ALL_GOLD_PAGES
            for ext in [
                "html",
                "js",
                "css",
            ]
        ],
        "/etc/golden": [
            [
                "//golden/k8s-instances:frontend_configs",
                "0444",
            ],
        ],
    },
    entrypoint = "/usr/local/bin/gold_frontend",
    repository = "skia-public/gold-frontend",
)

skia_app_container(
    name = "baseline_server_container",
    dirs = {
        "/usr/local/bin": [
            [
                "//golden/cmd/baseline_server:baseline_server",
                "0755",
            ],
        ],
        "/etc/golden": [
            [
                "//golden/k8s-instances:baseline_configs",
                "0444",
            ],
        ],
    },
    entrypoint = "/usr/local/bin/baseline_server",
    repository = "skia-public/gold-baseline-server",
)

skia_app_container(
    name = "diffcalculator_container",
    dirs = {
        "/usr/local/bin": [
            [
                "//golden/cmd/diffcalculator:diffcalculator",
                "0755",
            ],
        ],
        "/etc/golden": [
            [
                "//golden/k8s-instances:diffcalculator_configs",
                "0444",
            ],
        ],
    },
    entrypoint = "/usr/local/bin/diffcalculator",
    repository = "skia-public/gold-diffcalculator",
)

skia_app_container(
    name = "gitilesfollower_container",
    dirs = {
        "/usr/local/bin": [
            [
                "//golden/cmd/gitilesfollower:gitilesfollower",
                "0755",
            ],
        ],
        "/etc/golden": [
            [
                "//golden/k8s-instances:gitilesfollower_configs",
                "0444",
            ],
        ],
    },
    entrypoint = "/usr/local/bin/gitilesfollower",
    repository = "skia-public/gold-gitilesfollower",
)

skia_app_container(
    name = "gold_ingestion_container",
    dirs = {
        "/usr/local/bin": [
            [
                "//golden/cmd/gold_ingestion:gold_ingestion",
                "0755",
            ],
        ],
        "/etc/golden": [
            [
                "//golden/k8s-instances:ingestion_configs",
                "0444",
            ],
        ],
    },
    entrypoint = "/usr/local/bin/gold_ingestion",
    repository = "skia-public/gold-ingestion",
)

skia_app_container(
    name = "periodictasks_container",
    dirs = {
        "/usr/local/bin": [
            [
                "//golden/cmd/periodictasks:periodictasks",
                "0755",
            ],
        ],
        "/etc/golden": [
            [
                "//golden/k8s-instances:periodictasks_configs",
                "0444",
            ],
        ],
    },
    entrypoint = "/usr/local/bin/periodictasks",
    repository = "skia-public/gold-periodictasks",
)

# Runs a local Gold instance that mirrors http://gold.skia.org. It might have write access to the
# production CockroachDB database, so please exercise caution.
#
# Usage: bazel run //golden:skia_local -- path/to/client_secret.json
gold_launcher(
    name = "skia_local",
    code_review_systems = [
        {
            "id": "gerrit",
            "flavor": "gerrit",
            "gerrit_url": "https://skia-review.googlesource.com",
            "url_template": "https://skia-review.googlesource.com/%s",
        },
    ],
    default_corpus = "gm",
    gcs_bucket = "skia-infra-gm",
    git_repo_url = "https://skia.googlesource.com/skia.git",
    grouping_param_keys_by_corpus = {
        "canvaskit": [
            "name",
            "source_type",
        ],
        "colorImage": [
            "name",
            "source_type",
        ],
        "gm": [
            "name",
            "source_type",
        ],
        "image": [
            "name",
            "source_type",
        ],
        "old-skp": [
            "name",
            "source_type",
        ],
        "pathkit": [
            "name",
            "source_type",
        ],
        "skp": [
            "name",
            "source_type",
        ],
        "svg": [
            "name",
            "source_type",
        ],
    },
    known_hashes_gcs_path = "skia-infra-gm/hash_files/gold-prod-hashes.txt",
    materialized_view_corpora = [
        "canvaskit",
        "colorImage",
        "gm",
        "image",
        "pathkit",
        "skp",
        "svg",
    ],
    site_url = "https://gold.skia.org",
    sql_database = "skia",
    title = "Skia Gold",
    window_size = 256,
)

# Runs a local Gold instance that mirrors http://skia-infra-gold.skia.org. It might have write
# access to the production CockroachDB database, so please exercise caution.
#
# Usage: bazel run //golden:skia_infra_local -- path/to/client_secret.json
gold_launcher(
    name = "skia_infra_local",
    code_review_systems = [
        {
            "id": "gerrit",
            "flavor": "gerrit",
            "gerrit_url": "https://skia-review.googlesource.com",
            "url_template": "https://skia-review.googlesource.com/%s",
        },
    ],
    default_corpus = "infra",
    gcs_bucket = "skia-gold-skia-infra",
    git_repo_url = "https://skia.googlesource.com/buildbot.git",
    grouping_param_keys_by_corpus = {
        "infra": [
            "name",
            "source_type",
        ],
    },
    known_hashes_gcs_path = "skia-gold-skia-infra/hash_files/gold-skia-infra-hashes.txt",
    site_url = "https://skia-infra-gold.skia.org",
    sql_database = "skiainfra",
    title = "Skia Infra Gold",
    window_size = 200,
)

# Runs a local Gold instance that mirrors http://chrome-gold.skia.org. It might have write access
# to the production CockroachDB database, so please exercise caution.
#
# Usage: bazel run //golden:chrome_local -- path/to/client_secret.json
gold_launcher(
    name = "chrome_local",
    code_review_systems = [
        {
            "id": "gerrit",
            "flavor": "gerrit",
            "gerrit_url": "https://chromium-review.googlesource.com",
            "url_template": "https://chromium-review.googlesource.com/%s",
        },
        {
            "id": "gerrit-internal",
            "flavor": "gerrit",
            "gerrit_url": "https://chrome-internal-review.googlesource.com",
            "url_template": "https://chrome-internal-review.googlesource.com/%s",
        },
    ],
    custom_triaging_disallowed_msg = """
    <p>
        Triaging is disallowed as per the <strong>disallow_triaging</strong> optional key.
    </p>

    <p>
        If this change is expected, find the line of code that produces the test name and increment
        the revision number by one.
    </p>

    <p>
        For more information, see the instructions
        <a href="https://source.chromium.org/chromium/chromium/src/+/main:ash/test/pixel/test_failure_triage.md">here</a>.
    </p>
    """,
    default_corpus = "android-render-tests",
    gcs_bucket = "skia-gold-chrome",
    git_repo_url = "https://chromium.googlesource.com/chromium/src",
    grouping_param_keys_by_corpus = {
        "android-render-tests": [
            "name",
            "source_type",
        ],
        "android-render-tests-internal": [
            "name",
            "source_type",
        ],
        "chrome-gpu": [
            "name",
            "source_type",
        ],
        "chrome-gpu-gtest": [
            "name",
            "source_type",
        ],
        "finch-smoke-tests": [
            "name",
            "source_type",
        ],
        "gtest-pixeltests": [
            "name",
            "source_type",
        ],
    },
    known_hashes_gcs_path = "skia-gold-chrome/hash_files/gold-chrome-hashes.txt",
    site_url = "https://chrome-gold.skia.org",
    sql_database = "chrome",
    title = "Chrome Gold",
    window_size = 1024,
)

# Runs a local Gold instance that mirrors http://chrome-public-gold.skia.org. It might have write
# access to the production CockroachDB database, so please exercise caution.
#
# Usage: bazel run //golden:chrome_public_local -- path/to/client_secret.json
gold_launcher(
    name = "chrome_public_local",
    code_review_systems = [
        {
            "id": "gerrit",
            "flavor": "gerrit",
            "gerrit_url": "https://chromium-review.googlesource.com",
            "url_template": "https://chromium-review.googlesource.com/%s",
        },
        {
            "id": "gerrit-internal",
            "flavor": "gerrit",
            "gerrit_url": "https://chrome-internal-review.googlesource.com",
            "url_template": "https://chrome-internal-review.googlesource.com/%s",
        },
    ],
    custom_triaging_disallowed_msg = """
    <p>
        Triaging is disallowed as per the <strong>disallow_triaging</strong> optional key.
    </p>

    <p>
        If this change is expected, find the line of code that produces the test name and increment
        the revision number by one.
    </p>

    <p>
        For more information, see the instructions
        <a href="https://source.chromium.org/chromium/chromium/src/+/main:ash/test/pixel/test_failure_triage.md">here</a>.
    </p>
    """,
    default_corpus = "android-render-tests",
    gcs_bucket = "skia-gold-chrome",
    git_repo_url = "https://chromium.googlesource.com/chromium/src",
    grouping_param_keys_by_corpus = {
        "android-render-tests": [
            "name",
            "source_type",
        ],
        "chrome-gpu": [
            "name",
            "source_type",
        ],
        "chrome-gpu-gtest": [
            "name",
            "source_type",
        ],
        "gtest-pixeltests": [
            "name",
            "source_type",
        ],
    },
    is_public_view = True,
    known_hashes_gcs_path = "skia-gold-chrome/hash_files/gold-chrome-hashes.txt",
    publicly_allowed_params = {
        "android-render-tests": {
            "model": [
                "Android SDK built for x86",
                "AOSP on IA Emulator",
                "Nexus 5",
                "Nexus 5X",
                "Nexus 7",
                "Pixel 2",
            ],
            "sdk_version": [
                "22",
                "23",
                "24",
                "28",
            ],
        },
        "android-vr-render-tests": {},  # Everything public for this corpus
        "gtest-pixeltests": {},  # Everything public for this corpus
        "chrome-gpu": {
            "device_id": [
                # Set by desktop machines
                "0x1050",
                "0x1cb3",
                "0x2184",
                "0x3e92",
                "0x3e9b",
                "0x5912",
                "0x6613",
                "0x679e",
                "0x6821",
                "0x699f",
                "0xa2e",
                "0xd26",
                "0xfe9",
                "0xffff",
                "None",
            ],
            "device_string": [
                # Set by mobile devices
                "ANGLE (ARM, Mali-G78, OpenGL ES 3.2 v1.r32p1-00pxl0.b7e5868a59a273f4a9f58d1657ef99de)",
                "ANGLE (Vulkan 1.1.0(SwiftShader Device (LLVM 7.0.1) (0x0000C0DE)))",
                "ANGLE (Vulkan 1.1.0(SwiftShader Device (LLVM 10.0.0) (0x0000C0DE)))",
                "ANGLE (Google, Vulkan 1.1.0 (SwiftShader Device (LLVM 10.0.0) (0x0000C0DE)), Google-5.0.0)",
                "Adreno (TM) 330",
                "Adreno (TM) 418",
                "Adreno (TM) 420",
                "Adreno (TM) 430",
                "Adreno (TM) 540",
                "Adreno (TM) 610",
                "Adreno (TM) 640",
                "Mali-G52",
                "Mali-G78",
                "Mali-T860",
                "NVIDIA Tegra",
                "None",
            ],
            "vendor_id": [
                "0x1002",
                "0x10de",
                "0x1af4",
                "0x8086",
                "0xffff",
                "None",
            ],
        },
        "chrome-gpu-gtest": {},  # Everything public for this corpus
    },
    site_url = "https://chrome-gold.skia.org",
    sql_database = "chrome",
    title = "Chrome Public Gold",
    window_size = 1024,
)

# Runs a local Gold instance that mirrors http://flutter-gold.skia.org. It might have write access
# to the production CockroachDB database, so please exercise caution.
#
# Usage: bazel run //golden:flutter_local -- path/to/client_secret.json
gold_launcher(
    name = "flutter_local",
    code_review_systems = [
        {
            "id": "github",
            "flavor": "github",
            "github_cred_path": "/dev/null",  # Most of the UI still works with no GitHub creds.
            "github_repo": "flutter/flutter",
            "url_template": "https://github.com/flutter/flutter/pull/%s",
        },
    ],
    default_corpus = "flutter",
    gcs_bucket = "skia-gold-flutter",
    git_repo_url = "https://github.com/flutter/flutter",
    grouping_param_keys_by_corpus = {
        "flutter": [
            "name",
            "source_type",
        ],
    },
    known_hashes_gcs_path = "skia-gold-flutter/hash_files/gold-flutter-hashes.txt",
    site_url = "https://flutter-gold.skia.org",
    sql_database = "flutter",
    title = "Flutter Gold",
    window_size = 200,
)

# Runs a local Gold instance that mirrors http://flutter-engine-gold.skia.org. It might have write access
# to the production CockroachDB database, so please exercise caution.
#
# Usage: bazel run //golden:flutter_engine_local -- path/to/client_secret.json
gold_launcher(
    name = "flutter_engine_local",
    code_review_systems = [
        {
            "id": "github",
            "flavor": "github",
            "github_cred_path": "/dev/null",  # Most of the UI still works with no GitHub creds.
            "github_repo": "flutter/engine",
            "url_template": "https://github.com/flutter/engine/pull/%s",
        },
    ],
    default_corpus = "flutter-engine",
    gcs_bucket = "skia-gold-flutter-engine",
    git_repo_url = "https://github.com/flutter/engine",
    grouping_param_keys_by_corpus = {
        "flutter-engine": [
            "name",
            "source_type",
        ],
    },
    known_hashes_gcs_path = "skia-gold-flutter-engine/hash_files/gold-flutter-engine-hashes.txt",
    site_url = "https://flutter-engine-gold.skia.org",
    sql_database = "flutterengine",
    title = "Flutter Engine Gold",
    window_size = 200,
)
