Update to rules_nodejs 0.16.6, rules_webtesting 0.3.0 and Bazel 0.22.0
Closes #394
PiperOrigin-RevId: 231647001
diff --git a/.circleci/config.yml b/.circleci/config.yml
index e2cb0bb..eb5c255 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -9,22 +9,13 @@
## IMPORTANT
# If you change the `docker_image` version, also change the `cache_key` suffix
-var_1: &docker_image angular/ngcontainer:0.7.0
-var_2: &cache_key rules_typescript-{{ checksum "yarn.lock" }}-0.7.0
+var_1: &docker_image circleci/node:10.12-browsers
+var_2: &cache_key rules_typescript-{{ checksum "yarn.lock" }}-internal/karma:{{ checksum "internal/karma/yarn.lock" }}-node:10.12-browsers
var_3: &setup-bazel-remote-cache
run:
name: Start up bazel remote cache proxy
command: ~/bazel-remote-proxy -backend circleci://
background: true
-# Move node binaries out of the way to enforce that Bazel uses
-# only the hermetic ones it downloads
-var_4: &hide_node_and_yarn_local_binaries
- run:
- name: Move node, npm, and yarn binaries
- command: |
- sudo mv /usr/local/bin/node /usr/local/bin/node_
- sudo mv /usr/local/bin/npm /usr/local/bin/npm_
- sudo mv /usr/local/bin/yarn /usr/local/bin/yarn_
# Settings common to each job
anchor_1: &job_defaults
@@ -49,14 +40,14 @@
- run: .circleci/setup_cache.sh
- run: sudo cp .circleci/bazel.rc /etc/bazel.bazelrc
- *setup-bazel-remote-cache
- - *hide_node_and_yarn_local_binaries
-
- restore_cache:
key: *cache_key
- - run: bazel info release
- - run: bazel build ...
- - run: bazel test ...
- - run: bazel build @disable_tsetse_for_external_test//...
+
+ - run: yarn install
+ - run: yarn bazel info release
+ - run: yarn bazel build ...
+ - run: yarn bazel test ...
+ - run: yarn bazel build @disable_tsetse_for_external_test//...
# This job tests the same stuff, but without the .bazelrc file.
# It disables worker mode, for example.
@@ -68,17 +59,17 @@
- run: .circleci/setup_cache.sh
- run: sudo cp .circleci/bazel.rc /etc/bazel.bazelrc
- *setup-bazel-remote-cache
- - *hide_node_and_yarn_local_binaries
-
- restore_cache:
key: *cache_key
- - run: bazel --bazelrc=/dev/null info release
+
+ - run: yarn install
+ - run: yarn bazel --bazelrc=/dev/null info release
# We cherry pick the memory utilization options from .circleci/bazel.rc here.
# Since the default CircleCI container has only 4G, limiting the memory
# is required to keep Bazel from exhausting the memory.
- - run: bazel --bazelrc=/dev/null --host_jvm_args=-Xmx3g build ... --local_resources=2560,1.0,1.0
- - run: bazel --bazelrc=/dev/null --host_jvm_args=-Xmx3g test ... --local_resources=2560,1.0,1.0
- - run: bazel --bazelrc=/dev/null --host_jvm_args=-Xmx3g build @disable_tsetse_for_external_test//... --local_resources=2560,1.0,1.0
+ - run: yarn bazel --bazelrc=/dev/null --host_jvm_args=-Xmx3g build ... --local_resources=2560,1.0,1.0
+ - run: yarn bazel --bazelrc=/dev/null --host_jvm_args=-Xmx3g test ... --local_resources=2560,1.0,1.0
+ - run: yarn bazel --bazelrc=/dev/null --host_jvm_args=-Xmx3g build @disable_tsetse_for_external_test//... --local_resources=2560,1.0,1.0
- save_cache:
key: *cache_key
@@ -95,17 +86,14 @@
- run: .circleci/setup_cache.sh
- run: sudo cp .circleci/bazel.rc /etc/bazel.bazelrc
- *setup-bazel-remote-cache
- - *hide_node_and_yarn_local_binaries
- restore_cache:
key: *cache_key
+
+ - run: yarn install
# Build the npm packages which are used in the e2e tests
- - run: bazel build //internal:npm_package
- - run: bazel build //internal/karma:npm_package
- # Run yarn as e2e tests depend on self managed node_modules
- - run: bazel run @nodejs//:bin/yarn
- # Don't occupy the bazel server, as this test wants to run Bazel itself
- - run: bazel run @nodejs//:bin/yarn e2e --script_path=yarn_e2e.sh
- - run: xvfb-run -a ./yarn_e2e.sh
+ - run: yarn bazel build //internal:npm_package
+ - run: yarn bazel build //internal/karma:npm_package
+ - run: xvfb-run -a yarn e2e
lint:
<<: *job_defaults
diff --git a/devserver/concatjs/BUILD.bazel b/devserver/concatjs/BUILD.bazel
index 4606773..6cc1a74 100644
--- a/devserver/concatjs/BUILD.bazel
+++ b/devserver/concatjs/BUILD.bazel
@@ -11,4 +11,4 @@
name = "go_default_test",
srcs = ["concatjs_test.go"],
embed = [":go_default_library"],
-)
\ No newline at end of file
+)
diff --git a/devserver/devserver/BUILD.bazel b/devserver/devserver/BUILD.bazel
index a7c2735..4602de9 100644
--- a/devserver/devserver/BUILD.bazel
+++ b/devserver/devserver/BUILD.bazel
@@ -21,4 +21,3 @@
],
embed = [":go_default_library"],
)
-
diff --git a/devserver/devserver/test/test-workspace/BUILD.bazel b/devserver/devserver/test/test-workspace/BUILD.bazel
index d2c2e9d..85d4777 100644
--- a/devserver/devserver/test/test-workspace/BUILD.bazel
+++ b/devserver/devserver/test/test-workspace/BUILD.bazel
@@ -3,4 +3,3 @@
srcs = glob(["**/*"]),
visibility = ["//visibility:public"],
)
-
diff --git a/devserver/runfiles/BUILD.bazel b/devserver/runfiles/BUILD.bazel
index 2e0b9b7..2285f5b 100644
--- a/devserver/runfiles/BUILD.bazel
+++ b/devserver/runfiles/BUILD.bazel
@@ -9,9 +9,9 @@
go_library(
name = "go_default_library",
srcs = ["runfiles.go"],
+ importpath = "github.com/bazelbuild/rules_typescript/devserver/runfiles",
+ visibility = ["//visibility:public"],
deps = [
"@io_bazel_rules_go//go/tools/bazel:go_default_library",
],
- importpath = "github.com/bazelbuild/rules_typescript/devserver/runfiles",
- visibility = ["//visibility:public"],
)
diff --git a/internal/e2e/default_tsconfig_test.js b/internal/e2e/default_tsconfig_test.js
index 2df1827..b079271 100644
--- a/internal/e2e/default_tsconfig_test.js
+++ b/internal/e2e/default_tsconfig_test.js
@@ -28,8 +28,6 @@
)
load("@build_bazel_rules_typescript//:package.bzl", "rules_typescript_dependencies")
rules_typescript_dependencies()
-load("@build_bazel_rules_nodejs//:package.bzl", "rules_nodejs_dependencies")
-rules_nodejs_dependencies()
load("@build_bazel_rules_nodejs//:defs.bzl", "node_repositories", "yarn_install")
node_repositories()
yarn_install(
diff --git a/internal/karma/BUILD.bazel b/internal/karma/BUILD.bazel
index b2a22bc..dc8a50d 100644
--- a/internal/karma/BUILD.bazel
+++ b/internal/karma/BUILD.bazel
@@ -64,8 +64,8 @@
"package.json",
],
deps = [
- ":check_version_copy",
":bazel_karma",
+ ":check_version_copy",
":license_copy",
],
)
diff --git a/package.bzl b/package.bzl
index 5e1e5b0..f0d3b32 100644
--- a/package.bzl
+++ b/package.bzl
@@ -38,17 +38,16 @@
_maybe(
http_archive,
name = "build_bazel_rules_nodejs",
- urls = ["https://github.com/bazelbuild/rules_nodejs/archive/0.16.4.zip"],
- strip_prefix = "rules_nodejs-0.16.4",
+ urls = ["https://github.com/bazelbuild/rules_nodejs/archive/0.16.6.zip"],
+ strip_prefix = "rules_nodejs-0.16.6",
)
# ts_web_test depends on the web testing rules to provision browsers.
_maybe(
http_archive,
name = "io_bazel_rules_webtesting",
- urls = ["https://github.com/bazelbuild/rules_webtesting/archive/111d792b9a5b17f87b6e177e274dbbee46094791.zip"],
- strip_prefix = "rules_webtesting-111d792b9a5b17f87b6e177e274dbbee46094791",
- sha256 = "a13af63e928c34eff428d47d31bafeec4e38ee9b6940e70bf2c9cd47184c5c16",
+ urls = ["https://github.com/bazelbuild/rules_webtesting/releases/download/0.3.0/rules_webtesting.tar.gz"],
+ sha256 = "1c0900547bdbe33d22aa258637dc560ce6042230e41e9ea9dad5d7d2fca8bc42",
)
# ts_devserver depends on the Go rules.
@@ -81,11 +80,11 @@
sha256 = "9176a7df34dbed2cf5171eb56271868824560364e60644348219f852f593ae79",
)
- ###############################################
- # Repeat the dependencies of rules_nodejs here!
- # We can't load() from rules_nodejs yet, because we've only just fetched it.
- # But we also don't want to make users load and call the rules_nodejs_dependencies
- # function because we can do that for them, mostly hiding the transitive dependency.
+ # io_bazel_rules_webtesting depends on bazel_skylib. It is installed by
+ # web_test_repositories() but we depend on it here in case users don't call
+ # web_test_repositories(). This will get cleaned up by https://github.com/bazelbuild/rules_typescript/pull/374
+ # which introduces build_bazel_rules_karma with its own defs.bzl file
+ # that will allow this dep to be removed from rules_typescript_dependencies()
_maybe(
http_archive,
name = "bazel_skylib",
diff --git a/package.json b/package.json
index 724a1f2..c117f15 100644
--- a/package.json
+++ b/package.json
@@ -19,8 +19,9 @@
"tsutils": "2.27.2"
},
"devDependencies": {
- "@bazel/ibazel": "^0.2.0",
+ "@bazel/bazel": "~0.22.0",
"@bazel/buildifier": "^0.20.0",
+ "@bazel/ibazel": "^0.2.0",
"@bazel/typescript": "0.19.1",
"@types/jasmine": "^2.8.2",
"@types/long": "^4.0.0",
diff --git a/yarn.lock b/yarn.lock
index c6df00c..db0c286 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,6 +2,30 @@
# yarn lockfile v1
+"@bazel/bazel-darwin_x64@0.22.0":
+ version "0.22.0"
+ resolved "https://registry.yarnpkg.com/@bazel/bazel-darwin_x64/-/bazel-darwin_x64-0.22.0.tgz#a2bea5922dba9a32554a218ba4849a200115b248"
+ integrity sha512-LFxkyQgPATeB64z/1IvOWZhK+lc3JVHejbmdo96qB4lsoD8zselvOlgHvVXxlAjRxVZ9mlmXDvDRDyaXyyRdwA==
+
+"@bazel/bazel-linux_x64@0.22.0":
+ version "0.22.0"
+ resolved "https://registry.yarnpkg.com/@bazel/bazel-linux_x64/-/bazel-linux_x64-0.22.0.tgz#12e5884f2a7b7f3b62afbef9f8da4de0976f3bc8"
+ integrity sha512-xDs8cb2bbGZ9uvzYZOzCVrMBywzRhLj0J/t+py+FYZj+VO5B3wVg9eUf6nWWR0oJ2mzvToI9h31t2tNdqwy2kQ==
+
+"@bazel/bazel-win32_x64@0.22.0":
+ version "0.22.0"
+ resolved "https://registry.yarnpkg.com/@bazel/bazel-win32_x64/-/bazel-win32_x64-0.22.0.tgz#a8a65986639583a8cc7b018e001aedfdafe41b50"
+ integrity sha512-FbJaXVDoCLnpIFLnPHFkQdfriYPXfnfQNuf9EXMliERdRuoeBVbwEZfwcuArxZWNFus7bD8QiTj0XzKVWO+Wbw==
+
+"@bazel/bazel@~0.22.0":
+ version "0.22.0"
+ resolved "https://registry.yarnpkg.com/@bazel/bazel/-/bazel-0.22.0.tgz#feb0f2d82f9d169cb47951d95d55e512eda72bc9"
+ integrity sha512-uaXZsfCXOASBXzmge56akRIhJnKYdShn1X3AdEBzq2NNCf2llkc1H25gKGm4BfuWDBXRbXDMmcXup+fw39h+WQ==
+ optionalDependencies:
+ "@bazel/bazel-darwin_x64" "0.22.0"
+ "@bazel/bazel-linux_x64" "0.22.0"
+ "@bazel/bazel-win32_x64" "0.22.0"
+
"@bazel/buildifier-darwin_x64@0.20.0":
version "0.20.0"
resolved "https://registry.yarnpkg.com/@bazel/buildifier-darwin_x64/-/buildifier-darwin_x64-0.20.0.tgz#1aeceb5a1a57a62eef6415377dbe95091781a7d4"