angular/tools/ng_benchmark.bzl
Paul Gschwendtner 95555658cf build: disable bazel nodejs linker to improve stability on windows (#45872)
The NodeJS Bazel linker does not work well on Windows because there
is no sandboxing and linker processes from different tests will attempt
to modify the same `node_modules`, causing concurrency race conditions
and resulting in flakiness.

PR Close #45872
2022-05-04 16:20:57 -07:00

32 lines
1 KiB
Python

# Copyright Google LLC All Rights Reserved.
#
# Use of this source code is governed by an MIT-style license that can be
# found in the LICENSE file at https://angular.io/license
"""Bazel macro for running Angular benchmarks"""
load("//tools:defaults.bzl", "nodejs_binary")
def ng_benchmark(name, bundle):
"""
This macro creates two targets, one that is runnable and prints results and one that can be used for profiling via chrome://inspect.
Args:
name: name of the runnable rule to create
bundle: label of the bundle rule to run
"""
nodejs_binary(
name = name,
data = [bundle],
entry_point = bundle + ".debug.min.js",
tags = ["local", "manual"], # run benchmarks locally and never on CI
)
nodejs_binary(
name = name + "_profile",
data = [bundle],
entry_point = bundle + ".debug.min.js",
args = ["--node_options=--no-turbo-inlining --node_options=--inspect-brk"],
tags = ["local", "manual"], # run benchmarks locally and never on CI
)