Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: angular/angular-cli
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v10.1.2
Choose a base ref
...
head repository: angular/angular-cli
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 15.1.4
Choose a head ref
Loading
Showing 2,287 changed files with 312,338 additions and 305,671 deletions.
81 changes: 48 additions & 33 deletions .bazelrc
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
# Disable NG CLI TTY mode
build --action_env=NG_FORCE_TTY=false

# Make TypeScript compilation fast, by keeping a few copies of the compiler
# running as daemons, and cache SourceFile AST's to reduce parse time.
build --strategy=TypeScriptCompile=worker

# Enable debugging tests with --config=debug
test:debug --test_arg=--node_options=--inspect-brk --test_output=streamed --test_strategy=exclusive --test_timeout=9999 --nocache_test_results

# Enable debugging tests with --config=no-sharding
# The below is useful to while using `fit` and `fdescribe` to avoid sharing and re-runs of failed flaky tests.
test:no-sharding --flaky_test_attempts=1 --test_sharding_strategy=disabled

###############################
# Filesystem interactions #
###############################
@@ -27,8 +34,7 @@ build --symlink_prefix=dist/
build --nowatchfs

# Turn off legacy external runfiles
run --nolegacy_external_runfiles
test --nolegacy_external_runfiles
build --nolegacy_external_runfiles

# Turn on --incompatible_strict_action_env which was on by default
# in Bazel 0.21.0 but turned off again in 0.22.0. Follow
@@ -40,6 +46,18 @@ build --incompatible_strict_action_env
run --incompatible_strict_action_env
test --incompatible_strict_action_env

# Enable remote caching of build/action tree
build --experimental_remote_merkle_tree_cache

# Ensure that tags applied in BUILDs propagate to actions
build --experimental_allow_tags_propagation

# Don't check if output files have been modified
build --noexperimental_check_output_files

# Ensure sandboxing is enabled even for exclusive tests
test --incompatible_exclusive_test_sandboxed

###############################
# Saucelabs support #
# Turn on these settings with #
@@ -65,7 +83,14 @@ test:saucelabs --define=KARMA_WEB_TEST_MODE=SL_REQUIRED
# Releases should always be stamped with version control info
# This command assumes node on the path and is a workaround for
# https://github.com/bazelbuild/bazel/issues/4802
build:release --workspace_status_command="node ./tools/bazel_stamp_vars.js"
build:release --workspace_status_command="yarn -s ng-dev release build-env-stamp --mode=release"
build:release --stamp

build:snapshot --workspace_status_command="yarn -s ng-dev release build-env-stamp --mode=snapshot"
build:snapshot --stamp
build:snapshot --//:enable_snapshot_repo_deps

build:local --//:enable_package_json_tar_deps

###############################
# Output #
@@ -89,8 +114,8 @@ test --test_output=errors
################################

# Use the Angular team internal GCP instance for remote execution.
build:remote --remote_instance_name=projects/internal-200822/instances/default_instance
build:remote --project_id=internal-200822
build:remote --remote_instance_name=projects/internal-200822/instances/primary_instance
build:remote --bes_instance_name=internal-200822

# Starting with Bazel 0.27.0 strategies do not need to be explicitly
# defined. See https://github.com/bazelbuild/bazel/issues/7480
@@ -99,45 +124,35 @@ build:remote --define=EXECUTOR=remote
# Setup the remote build execution servers.
build:remote --remote_cache=remotebuildexecution.googleapis.com
build:remote --remote_executor=remotebuildexecution.googleapis.com
build:remote --tls_enabled=true
build:remote --auth_enabled=true
build:remote --remote_timeout=3600
build:remote --jobs=50

# Setup the toolchain and platform for the remote build execution. The platform
# is automatically configured by the "rbe_autoconfig" rule in the project workpsace.
build:remote --host_javabase=@rbe_ubuntu1604_angular//java:jdk
build:remote --javabase=@rbe_ubuntu1604_angular//java:jdk
build:remote --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8
build:remote --java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8
build:remote --crosstool_top=@rbe_ubuntu1604_angular//cc:toolchain
build:remote --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
build:remote --extra_toolchains=@rbe_ubuntu1604_angular//config:cc-toolchain
build:remote --extra_execution_platforms=//tools:rbe_ubuntu1604-angular
build:remote --host_platform=//tools:rbe_ubuntu1604-angular
build:remote --platforms=//tools:rbe_ubuntu1604-angular

# Setup Build Event Service
build:remote --bes_backend=buildeventservice.googleapis.com
build:remote --bes_timeout=30s
build:remote --bes_results_url="https://source.cloud.google.com/results/invocations/"

# Set remote caching settings
build:remote --remote_timeout=600
build:remote --jobs=150

# Setup the toolchain and platform for the remote build execution. The platform
# is provided by the shared dev-infra package and targets k8 remote containers.
build:remote --crosstool_top=@npm//@angular/build-tooling/bazel/remote-execution/cpp:cc_toolchain_suite
build:remote --extra_toolchains=@npm//@angular/build-tooling/bazel/remote-execution/cpp:cc_toolchain
build:remote --extra_execution_platforms=@npm//@angular/build-tooling/bazel/remote-execution:platform_with_network
build:remote --host_platform=@npm//@angular/build-tooling/bazel/remote-execution:platform_with_network
build:remote --platforms=@npm//@angular/build-tooling/bazel/remote-execution:platform_with_network

# Set remote caching settings
build:remote --remote_accept_cached=true

# Force remote executions to consider the entire run as linux.
# This is required for OSX cross-platform RBE.
build:remote --cpu=k8
build:remote --host_cpu=k8

# Set up authentication mechanism for RBE
build:remote --google_default_credentials

###############################
# NodeJS rules settings
# These settings are required for rules_nodejs
###############################

# Turn on managed directories feature in Bazel
# This allows us to avoid installing a second copy of node_modules
common --experimental_allow_incremental_repository_updates
# Fixes use of npm paths with spaces such as some within the puppeteer module
build --experimental_inprocess_symlink_creation

####################################################
# User bazel configuration
@@ -150,4 +165,4 @@ try-import .bazelrc.user

# Enable runfiles even on Windows.
# Architect resolves output files from data files, and this isn't possible without runfile support.
test --enable_runfiles
build --enable_runfiles
4 changes: 1 addition & 3 deletions .bazelversion
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
3.4.1
# [NB: this comment has to be after the first line, see https://github.com/bazelbuild/bazelisk/issues/117]
# When updating the Bazel version you also need to update the RBE toolchains version in WORKSPACE
5.3.0
3 changes: 0 additions & 3 deletions .circleci/bazel.rc
Original file line number Diff line number Diff line change
@@ -7,9 +7,6 @@ build --announce_rc
# Don't be spammy in the logs
build --noshow_progress

# Don't run manual tests
test --test_tag_filters=-manual

# Workaround https://github.com/bazelbuild/bazel/issues/3645
# Bazel doesn't calculate the memory ceiling correctly when running under Docker.
# Limit Bazel to consuming resources that fit in CircleCI "xlarge" class
Loading