chromium/infra/config/.lucicfgfmtrc

# schema: https://chromium.googlesource.com/infra/luci/luci-go/+/HEAD/lucicfg/buildifier/lucicfgfmtrc.proto
rules {
    path: "subprojects"
    path: "dev/subprojects"
    function_args_sort {
        # Common arguments
        arg: "name"
        arg: "branch_selector"
        arg: "bucket"

        # ACLs/swarming triggerers
        arg: "builder_realm"
        arg: "pool_realm"
        arg: "roles"
        arg: "groups"
        arg: "users"

        # Console views
        arg: "repo"
        arg: "refs"
        arg: "title"
        arg: "header"
        arg: "ordering"

        # CQ groups
        arg: "retry_config"
        arg: "watch"

        # Buckets
        arg: "shadows"
        arg: "constraints"

        # Builders
        arg: "description_html"
        arg: "executable"
        arg: "schedule"
        arg: "triggered_by"
        arg: "triggering_policy"
        arg: "builder_group"
        arg: "builder_spec"
        arg: "mirrors"
        arg: "builder_config_settings"
        arg: "gn_args"
        arg: "targets"
        arg: "targets_settings"
        arg: "pool"
        arg: "builderless"
        arg: "cores"
        arg: "os"
        arg: "cpu"
        arg: "ssd"
        arg: "free_space"
        arg: "gce"
        arg: "gardener_rotations"
        arg: "tree_closing"
        arg: "console_view_entry"
        arg: "main_console_view"
        arg: "cq_mirrors_console_view"
        arg: "list_view"

        # Builder spec
        arg: "execution_mode"
        arg: "gclient_config"
        arg: "chromium_config"

        # gclient config/chromium config
        arg: "config"
        arg: "apply_configs"
        arg: "build_config"
        arg: "target_arch"
        arg: "target_bits"
        arg: "target_platform"
        arg: "target_cros_boards"

        # console view entry
        arg: "console_view"
        arg: "builder"
        arg: "category"
    }
}
rules {
    path: "targets"
    function_args_sort {
        arg: "name"

        # targets
        arg: "label"
        arg: "label_type"
        arg: "script"
        arg: "executable"
        arg: "executable_suffix"
        arg: "skip_usage_check"

        # variant
        arg: "enabled"
        arg: "identifier"
        arg: "description"

        # tests
        arg: "test"
        arg: "results_handler"
        arg: "telemetry_test_name"
        arg: "tast_expr"
        arg: "test_level_retries"
        arg: "mixins"
        arg: "remove_mixins"

        # bundles
        arg: "additional_compile_targets"
        arg: "targets"
        # Specially handle the ordering for mixins in bundles so that it doesn't
        # impact the order in tests
        arg: "targets.bundle.mixins"
        arg: "per_test_modifications"

        # mixin/variant/test common fields
        arg: "generate_pyl_entry"
        arg: "args"
        arg: "precommit_args"
        arg: "android_args"
        arg: "chromeos_args"
        arg: "desktop_args"
        arg: "lacros_args"
        arg: "linux_args"
        arg: "mac_args"
        arg: "win_args"
        arg: "win64_args"
        arg: "ci_only"
        arg: "swarming"
        arg: "android_swarming"
        arg: "chromeos_swarming"
        arg: "merge"
        arg: "resultdb"
        arg: "timeout_sec"
        arg: "experiment_percentage"

        # swarming
        arg: "shards"
        arg: "dimensions"
        arg: "optional_dimensions"
        arg: "expiration_sec"
        arg: "hard_timeout_sec"
        arg: "io_timeout_sec"

        # resultdb
        arg: "enable"
        arg: "result_format"

        # cipd_package
        arg: "package"
    }
}