From 0c75a06b1e495d2b868ef85b368fbfb5c8642f14 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Fri, 29 May 2020 14:03:08 -0700 Subject: [PATCH] build: upgrade to bazel 3.2.0 and rules_nodejs 1.7.0 (#37358) Upgrade to rely on bazel version 3.2.0 and rules_nodejs 1.7.0. This is part of a routine update as new versions become available. PR Close #37358 --- .bazelversion | 2 +- WORKSPACE | 13 ++++---- integration/bazel/.bazelrc | 3 +- integration/bazel/.bazelversion | 2 +- integration/bazel/WORKSPACE | 4 +-- integration/bazel/package.json | 10 +++--- package.json | 12 ++++---- packages/bazel/package.bzl | 8 ++--- yarn.lock | 54 ++++++++++++++++----------------- 9 files changed, 55 insertions(+), 53 deletions(-) diff --git a/.bazelversion b/.bazelversion index be57528b92..44d4d72062 100644 --- a/.bazelversion +++ b/.bazelversion @@ -1,3 +1,3 @@ -2.1.1 +3.2.0 # [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 package.bzl diff --git a/WORKSPACE b/WORKSPACE index f38470cf43..291208ba84 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -8,8 +8,8 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") # Fetch rules_nodejs so we can install our npm dependencies http_archive( name = "build_bazel_rules_nodejs", - sha256 = "f9e7b9f42ae202cc2d2ce6d698ccb49a9f7f7ea572a78fd451696d03ef2ee116", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/1.6.0/rules_nodejs-1.6.0.tar.gz"], + sha256 = "84abf7ac4234a70924628baa9a73a5a5cbad944c4358cf9abdb4aab29c9a5b77", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/1.7.0/rules_nodejs-1.7.0.tar.gz"], ) # Check the rules_nodejs version and download npm dependencies @@ -17,7 +17,7 @@ http_archive( # assert on that. load("@build_bazel_rules_nodejs//:index.bzl", "check_rules_nodejs_version", "node_repositories", "yarn_install") -check_rules_nodejs_version(minimum_version_string = "1.6.0") +check_rules_nodejs_version(minimum_version_string = "1.7.0") # Setup the Node.js toolchain node_repositories( @@ -91,17 +91,18 @@ rbe_autoconfig( # Need to specify a base container digest in order to ensure that we can use the checked-in # platform configurations for the "ubuntu16_04" image. Otherwise the autoconfig rule would # need to pull the image and run it in order determine the toolchain configuration. See: - # https://github.com/bazelbuild/bazel-toolchains/blob/1.1.2/configs/ubuntu16_04_clang/versions.bzl - base_container_digest = "sha256:1ab40405810effefa0b2f45824d6d608634ccddbf06366760c341ef6fbead011", + # https://github.com/bazelbuild/bazel-toolchains/blob/3.2.0/configs/ubuntu16_04_clang/versions.bzl + base_container_digest = "sha256:5e750dd878df9fcf4e185c6f52b9826090f6e532b097f286913a428290622332", # Note that if you change the `digest`, you might also need to update the # `base_container_digest` to make sure marketplace.gcr.io/google/rbe-ubuntu16-04-webtest: # and marketplace.gcr.io/google/rbe-ubuntu16-04: have # the same Clang and JDK installed. Clang is needed because of the dependency on # @com_google_protobuf. Java is needed for the Bazel's test executor Java tool. - digest = "sha256:0b8fa87db4b8e5366717a7164342a029d1348d2feea7ecc4b18c780bc2507059", + digest = "sha256:f743114235a43355bf8324e2ba0fa6a597236fe06f7bc99aaa9ac703631c306b", env = clang_env(), registry = "marketplace.gcr.io", # We can't use the default "ubuntu16_04" RBE image provided by the autoconfig because we need # a specific Linux kernel that comes with "libx11" in order to run headless browser tests. repository = "google/rbe-ubuntu16-04-webtest", + use_checked_in_confs = "Force", ) diff --git a/integration/bazel/.bazelrc b/integration/bazel/.bazelrc index 0101e9a988..8f7faca4cf 100644 --- a/integration/bazel/.bazelrc +++ b/integration/bazel/.bazelrc @@ -9,7 +9,8 @@ test --test_output=errors # Bazel doesn't calculate the memory ceiling correctly when running under Docker. # Limit Bazel to consuming resources that fit in CircleCI "xlarge" class # https://circleci.com/docs/2.0/configuration-reference/#resource_class -build --local_resources=14336,8.0,1.0 +build --local_ram_resources=14336 +build --local_cpu_resources=8 # Use the Angular Ivy compiler # See https://github.com/angular/angular/blob/master/docs/BAZEL.md#various-flags-used-for-tests diff --git a/integration/bazel/.bazelversion b/integration/bazel/.bazelversion index ccbccc3dc6..944880fa15 100644 --- a/integration/bazel/.bazelversion +++ b/integration/bazel/.bazelversion @@ -1 +1 @@ -2.2.0 +3.2.0 diff --git a/integration/bazel/WORKSPACE b/integration/bazel/WORKSPACE index 38cfce17a6..ff35bd1440 100644 --- a/integration/bazel/WORKSPACE +++ b/integration/bazel/WORKSPACE @@ -5,8 +5,8 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") # Fetch rules_nodejs so we can install our npm dependencies http_archive( name = "build_bazel_rules_nodejs", - sha256 = "f9e7b9f42ae202cc2d2ce6d698ccb49a9f7f7ea572a78fd451696d03ef2ee116", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/1.6.0/rules_nodejs-1.6.0.tar.gz"], + sha256 = "84abf7ac4234a70924628baa9a73a5a5cbad944c4358cf9abdb4aab29c9a5b77", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/1.7.0/rules_nodejs-1.7.0.tar.gz"], ) # Fetch sass rules for compiling sass files diff --git a/integration/bazel/package.json b/integration/bazel/package.json index e59c045bbb..5a95287ca0 100644 --- a/integration/bazel/package.json +++ b/integration/bazel/package.json @@ -23,11 +23,11 @@ "@angular/compiler": "file:../../dist/packages-dist/compiler", "@angular/compiler-cli": "file:../../dist/packages-dist/compiler-cli", "@bazel/bazelisk": "file:../../node_modules/@bazel/bazelisk", - "@bazel/karma": "1.6.0", - "@bazel/protractor": "1.6.0", - "@bazel/rollup": "1.6.0", - "@bazel/terser": "1.6.0", - "@bazel/typescript": "1.6.0", + "@bazel/karma": "1.7.0", + "@bazel/protractor": "1.7.0", + "@bazel/rollup": "1.7.0", + "@bazel/terser": "1.7.0", + "@bazel/typescript": "1.7.0", "@types/jasmine": "2.8.8", "http-server": "0.12.0", "karma": "4.4.1", diff --git a/package.json b/package.json index a6930b7a1e..fb7e0c98c7 100644 --- a/package.json +++ b/package.json @@ -53,12 +53,12 @@ "@babel/template": "^7.8.6", "@babel/traverse": "^7.8.6", "@babel/types": "^7.8.6", - "@bazel/jasmine": "1.6.0", - "@bazel/karma": "1.6.0", - "@bazel/protractor": "1.6.0", - "@bazel/rollup": "1.6.0", - "@bazel/terser": "1.6.0", - "@bazel/typescript": "1.6.0", + "@bazel/jasmine": "1.7.0", + "@bazel/karma": "1.7.0", + "@bazel/protractor": "1.7.0", + "@bazel/rollup": "1.7.0", + "@bazel/terser": "1.7.0", + "@bazel/typescript": "1.7.0", "@microsoft/api-extractor": "7.7.11", "@octokit/rest": "16.28.7", "@schematics/angular": "9.1.0", diff --git a/packages/bazel/package.bzl b/packages/bazel/package.bzl index 1b31308ee7..d1e13c1bde 100644 --- a/packages/bazel/package.bzl +++ b/packages/bazel/package.bzl @@ -29,11 +29,11 @@ def rules_angular_dev_dependencies(): _maybe( http_archive, name = "bazel_toolchains", - sha256 = "b5a8039df7119d618402472f3adff8a1bd0ae9d5e253f53fcc4c47122e91a3d2", - strip_prefix = "bazel-toolchains-2.1.1", + sha256 = "db48eed61552e25d36fe051a65d2a329cc0fb08442627e8f13960c5ab087a44e", + strip_prefix = "bazel-toolchains-3.2.0", urls = [ - "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/releases/download/2.1.1/bazel-toolchains-2.1.1.tar.gz", - "https://github.com/bazelbuild/bazel-toolchains/releases/download/2.1.1/bazel-toolchains-2.1.1.tar.gz", + "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/releases/download/3.2.0/bazel-toolchains-3.2.0.tar.gz", + "https://github.com/bazelbuild/bazel-toolchains/releases/download/3.2.0/bazel-toolchains-3.2.0.tar.gz", ], ) diff --git a/yarn.lock b/yarn.lock index f2f59729fe..3a5afb98ec 100644 --- a/yarn.lock +++ b/yarn.lock @@ -973,46 +973,46 @@ "@bazel/buildifier-win32_x64" "0.29.0" "@bazel/ibazel@^0.12.3": - version "0.12.3" - resolved "https://registry.yarnpkg.com/@bazel/ibazel/-/ibazel-0.12.3.tgz#c8c82647f920cd529c7793c50e087e1a754a5973" - integrity sha512-dyx62Uo5kogrxFmqFNpGvbavfr8yjmuQlOyZczOuA60piULwlUsO7Oh3/1OUWKDSXaMMqHhFQfpdl+z0HjI6TQ== + version "0.12.4" + resolved "https://registry.yarnpkg.com/@bazel/ibazel/-/ibazel-0.12.4.tgz#ddda7c8ead6e29dc8d637af446086a750f395218" + integrity sha512-FzOy+esB/fXVDbAmL6Ce2yCEy+PESZih8GypKhi0B8XzoZHAAn3QNnQcMNwo9PrIfp3G1989nM/JQ1b8jwEinQ== -"@bazel/jasmine@1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-1.6.0.tgz#c469ab8725d9a2e48c0c3c965861ff8add9272ac" - integrity sha512-WtOQDtIMHKTxlp0+FcdrADV6LMrpJV7eEGZippSNFPL5YhwwrPfCSOs5WkooatsrjL5YEszswzqQXFjvC7EZKQ== +"@bazel/jasmine@1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-1.7.0.tgz#429df76e6628aa139176340434729cc091e371d7" + integrity sha512-LXq6nfBBEczjsDLwFW9kesGdewRrnFiAOZzXAAivCV3xtq516xK4QnVWA9tQGq+R1DnY50IaODpCJhh8PDezdg== dependencies: jasmine "~3.5.0" jasmine-core "~3.5.0" jasmine-reporters "~2.3.2" v8-coverage "1.0.9" -"@bazel/karma@1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@bazel/karma/-/karma-1.6.0.tgz#98950b71114dd9ec169e6778a35d31ae1f578655" - integrity sha512-9cX0E1SiMWwA70ZMFnMzeqSRn3biduGx03bGV77FSUYKocZpyfU2cOEygYGfxAqHnyM7x4cS8nflRv3+ZE0Aqg== +"@bazel/karma@1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@bazel/karma/-/karma-1.7.0.tgz#ec7e97a2629f5af0b2abe9a99ae30363a34af97d" + integrity sha512-mGYVD9DldB3v/DjxJpS39X1vUD6M32Al96DMoilwW3TSAazcRWwUAC6HY9z5Wtyeqwxyk8BY1Mg1/berWpoTxg== dependencies: tmp "0.1.0" -"@bazel/protractor@1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-1.6.0.tgz#cf095a1dbc038def7031c513a3b87f4e79bedb00" - integrity sha512-gPiRv0oUJbVPpQ9nrwe5vjkffAc8VsYJhpTGgG+8aPdOaTLWgmBP/sy4BdfijU9O1Z/mNYojQCZgMzQz6kAvdg== +"@bazel/protractor@1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-1.7.0.tgz#1ced325a64d77bccca4bf881e62982d017d6b639" + integrity sha512-sLbejWwmwTupCS3JKdBeiZMUbylLpJxJdlrz8sZ9t4KV6YiFAXNOloCScrrdOkeiJz5QQZRG3p3rqHbIszUAwQ== -"@bazel/rollup@1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@bazel/rollup/-/rollup-1.6.0.tgz#c0bdad0ad0ba5c5b2e21d1634dc2ce48840ca044" - integrity sha512-MLF7laHX3CSAJH+RbIEVWgnQdz3U8dPkdJWJqiX/z9mUSEgC47LNsMBPKlRy1TpOJOpw1j0vLaJv0qN/bgq9NQ== +"@bazel/rollup@1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@bazel/rollup/-/rollup-1.7.0.tgz#5c0f0d51d2f3f14e78781a4b9e6a9ffba87f1579" + integrity sha512-Pp5aCJw3gwu77zn6/fQgZ39ArrWEI5O3dja5wKadBnfOQ66PImIEr+bf7JgROoWvACH1kGxaS423rq51fiuCsA== -"@bazel/terser@1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-1.6.0.tgz#63ccd20dd6c9793e7b3b23fb5ea82b55b3ef6eb2" - integrity sha512-csBrN4XfX/hYTtDVcH/ulVO9K4Ca/IlrCWk5o/l7JBJq/cHoTj5AWIA7PKJ4QgnxXeEjso4CmLFgUMEVKVYV3Q== +"@bazel/terser@1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-1.7.0.tgz#c43e711e13b9a71c7abd3ade04fb4650d547ad01" + integrity sha512-u/UXk0WUinvkk1g5xxfqGieBz3r12Bj2y2m25lC5GjHBgCpGk7DyeGGi9H3QQNO1Wmpw51QSE9gaPzKzjUVGug== -"@bazel/typescript@1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-1.6.0.tgz#8dfd29e71bcf917d5f9cb67f19ac4dcfc9082439" - integrity sha512-vAKuwy1Hgl+t3M3sH/G0oqHRYN35TdENj+0lsCI3x7EbSzyI6cbA3YQrLrlyvdScksqOpZa3PZ3UBGqfJJq2DA== +"@bazel/typescript@1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-1.7.0.tgz#8dc02b8a161f4fff3285186066b5f73666793452" + integrity sha512-M6JPXJZ+W6457QZfPHmGg/Mejnp7//YTnffGmnmeK9vDqybXeCCRWW1/iEOwopLJYQViBHfaoulde0VXelx9sA== dependencies: protobufjs "6.8.8" semver "5.6.0"