bazelbuild / rules_nodejs

NodeJS toolchain for Bazel.

Home Page:https://bazelbuild.github.io/rules_nodejs/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[FR]: Support Angular 13+

lbhdc opened this issue · comments

What is the current behavior?

Using angular 12, things build no problem, and tests pass as expected.

> git clone https://github.com/bazelbuild/rules_nodejs.git
> cd examples/angular
> bazel test //e2e/...
INFO: Invocation ID: 1bbfdf9d-1973-4fae-ae65-8e0c1ff36538
INFO: Analyzed 6 targets (0 packages loaded, 0 targets configured).
INFO: Found 4 targets and 2 test targets...
INFO: Elapsed time: 0.447s, Critical Path: 0.00s
INFO: 1 process: 1 internal.
INFO: Build completed successfully, 1 total action
//e2e:devserver_test_chromium-local                             (cached) PASSED in 6.5s
//e2e:prodserver_test_chromium-local                            (cached) PASSED in 6.9s

Executed 0 out of 2 tests: 2 tests pass.
There were tests whose specified size is too big. Use the --test_verbose_timeout_warnings command line option to see which ones these are.

Bumping the angular version to 13 causes the app not to be present in tests.

Bare minimum changes to package.json to get a version above 12.

diff --git a/examples/angular/package.json b/examples/angular/package.json
index dd2a3316..5b37de99 100644
--- a/examples/angular/package.json
+++ b/examples/angular/package.json
@@ -8,17 +8,17 @@
         "yarn": ">=1.9.2 <2.0.0"
     },
     "dependencies": {
-        "@angular/animations": "12.2.7",
-        "@angular/cdk": "12.2.7",
-        "@angular/common": "12.2.7",
-        "@angular/core": "12.2.7",
-        "@angular/forms": "12.2.7",
-        "@angular/material": "12.2.7",
-        "@angular/platform-browser": "12.2.7",
-        "@angular/platform-browser-dynamic": "12.2.7",
-        "@angular/platform-server": "12.2.7",
-        "@angular/router": "12.2.7",
-        "@angular/service-worker": "12.2.7",
+        "@angular/animations": "^13",
+        "@angular/cdk": "^13",
+        "@angular/common": "^13",
+        "@angular/core": "^13",
+        "@angular/forms": "^13",
+        "@angular/material": "^13",
+        "@angular/platform-browser": "^13",
+        "@angular/platform-browser-dynamic": "^13",
+        "@angular/platform-server": "^13",
+        "@angular/router": "^13",
+        "@angular/service-worker": "^13",
         "@ngrx/store": "12.4.0",
         "date-fns": "1.30.1",
         "domino": "^2.1.2",
@@ -29,10 +29,10 @@
         "zone.js": "^0.11.4"
     },
     "devDependencies": {
-        "@angular-builders/bazel": "^13.1.0",
-        "@angular/cli": "12.2.7",
-        "@angular/compiler": "12.2.7",
-        "@angular/compiler-cli": "12.2.7",
+        "@angular-builders/bazel": "^13",
+        "@angular/cli": "^13",
+        "@angular/compiler": "^13",
+        "@angular/compiler-cli": "^13",
         "@babel/cli": "^7.6.0",
         "@babel/core": "^7.6.0",
         "@babel/preset-env": "^7.6.0",
@@ -62,7 +62,7 @@
         "protractor": "^5.4.2",
         "rollup": "^2.3.4",
         "terser": "4.3.1",
-        "typescript": "<4.4.0"
+        "typescript": "4.6"
     },
     "scripts": {
         "build": "bazel build //src:prodapp",
> bazel test //e2e/...
# truncated ...
Failures:
1) angular example application should display: Hello World!
  Message:
    Failed: Angular could not be found on the page http://localhost:52284/hello. If this is not an Angular application, you may need to turn off waiting for Angular.
                              Please see 
                              https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular-on-page-load
INFO: Elapsed time: 126.727s, Critical Path: 101.18s
INFO: 48 processes: 18 internal, 28 linux-sandbox, 2 local.
INFO: Build completed, 2 tests FAILED, 48 total actions
//e2e:devserver_test_chromium-local                                      FAILED in 18.5s
  /home/<user>/.cache/bazel/_bazel_<user>/136c18ddf3974508a18816e4e6085932/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/devserver_test_chromium-local/test.log
//e2e:prodserver_test_chromium-local                                     FAILED in 15.0s
  /home/<user>/.cache/bazel/_bazel_<user>/136c18ddf3974508a18816e4e6085932/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/prodserver_test_chromium-local/test.log

Executed 2 out of 2 tests: 2 fail locally.
Full output of `bazel test //e2e/...` ```shell > bazel test //e2e/... INFO: Invocation ID: 981c8338-1b08-430c-a156-a9dab496dcab DEBUG: /home//.cache/bazel/_bazel_/136c18ddf3974508a18816e4e6085932/external/build_bazel_rules_nodejs/index.bzl:122:10: WARNING: check_rules_nodejs_version has been removed. This is a no-op, please remove the call. INFO: Analyzed 6 targets (525 packages loaded, 25244 targets configured). INFO: Found 4 targets and 2 test targets... INFO: From Bundling JavaScript src/bundle-es2015 [rollup] [for tool]:

bazel-out/k8-opt-exec-2B5CBBC6/bin/src/main.prod.js, bazel-out/k8-opt-exec-2B5CBBC6/bin/src/main.dev.js → bazel-out/k8-opt-exec-2B5CBBC6/bin/src/bundle-es2015...
(!) this has been rewritten to undefined
https://rollupjs.org/guide/en/#error-this-is-undefined
bazel-out/k8-opt-exec-2B5CBBC6/bin/src/app/todos/reducers/reducers.js
1: var __assign = (this && this.__assign) || function () {
^
2: __assign = Object.assign || function(t) {
3: for (var s, i = 1, n = arguments.length; i < n; i++) {
...and 3 other occurrences
created bazel-out/k8-opt-exec-2B5CBBC6/bin/src/bundle-es2015 in 4.7s
INFO: From NpmPackageBin src/index.html [for tool]:
html-insert-assets: Unknown asset usage: src/manifest.webmanifest
FAIL: //e2e:devserver_test_chromium-local (see /home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/devserver_test_chromium-local/test.log)
INFO: From Testing //e2e:devserver_test_chromium-local:
==================== Test output for //e2e:devserver_test_chromium-local:
TEST_UNUSED_RUNFILES_LOG_FILE=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/devserver_test_chromium-local/test.unused_runfiles_log
TEST_BINARY=e2e/devserver_test_chromium-local.sh
TEST_TEMPDIR=test_tempdir.BKUaXf
TEST_WORKSPACE=examples_angular
RUNFILES_DIR=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/devserver_test_chromium-local.sh.runfiles
TEST_UNDECLARED_OUTPUTS_DIR=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/devserver_test_chromium-local/test.outputs
PWD=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/devserver_test_chromium-local.sh.runfiles/examples_angular
RUN_UNDER_RUNFILES=1
TZ=UTC
TEST_TMPDIR=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/_tmp/b82306f200fa5f327c4bacade85ab023
TMPDIR=/tmp
XML_OUTPUT_FILE=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/devserver_test_chromium-local/test.xml
WEB_TEST_METADATA=examples_angular/e2e/devserver_test_chromium-local.gen.json
TEST_UNDECLARED_OUTPUTS_ANNOTATIONS_DIR=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/devserver_test_chromium-local/test.outputs_manifest
TEST_PREMATURE_EXIT_FILE=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/devserver_test_chromium-local/test.exited_prematurely
TEST_INFRASTRUCTURE_FAILURE_FILE=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/devserver_test_chromium-local/test.infrastructure_failure
USER=
PYTHON_RUNFILES=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/devserver_test_chromium-local.sh.runfiles
TEST_SRCDIR=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/devserver_test_chromium-local.sh.runfiles
SHLVL=1
RUNFILES_REPO_MAPPING=
_RLOCATION_ISABS_PATTERN=^/[^/].*
BAZEL_TEST=1
PATH=.:/bin:/usr/bin:/usr/local/bin
GTEST_TMP_DIR=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/_tmp/b82306f200fa5f327c4bacade85ab023
TEST_WARNINGS_OUTPUT_FILE=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/devserver_test_chromium-local/test.warnings
TEST_TARGET=//e2e:devserver_test_chromium-local
JAVA_RUNFILES=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/devserver_test_chromium-local.sh.runfiles
TEST_SIZE=large
EXPERIMENTAL_SPLIT_XML_GENERATION=1
TEST_TIMEOUT=900
TEST_LOGSPLITTER_OUTPUT_FILE=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/devserver_test_chromium-local/test.raw_splitlogs/test.splitlogs
OLDPWD=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular
BASH_FUNC_runfiles_rlocation_checked%%=() { if [[ -e "${RUNFILES_DIR:-/dev/null}/$1" ]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): found under RUNFILES_DIR ($RUNFILES_DIR), return" 1>&2;
fi;
echo "${RUNFILES_DIR}/$1";
else
if [[ -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" ]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): looking in RUNFILES_MANIFEST_FILE ($RUNFILES_MANIFEST_FILE)" 1>&2;
fi;
local -r result=$(__runfiles_maybe_grep -m1 "^$1 " "${RUNFILES_MANIFEST_FILE}" | cut -d ' ' -f 2-);
if [[ -z "$result" ]]; then
local prefix="$1";
local prefix_result=;
local new_prefix=;
while true; do
new_prefix="${prefix%/}";
[[ "$new_prefix" == "$prefix" ]] && break;
prefix="$new_prefix";
prefix_result=$(__runfiles_maybe_grep -m1 "^$prefix " "${RUNFILES_MANIFEST_FILE}" | cut -d ' ' -f 2-);
[[ -z "$prefix_result" ]] && continue;
local -r candidate="${prefix_result}${1#"${prefix}"}";
if [[ -e "$candidate" ]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): found in manifest as ($candidate) via prefix ($prefix)" 1>&2;
fi;
echo "$candidate";
return 0;
fi;
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): found in manifest as ($candidate) via prefix ($prefix), but file does not exist" 1>&2;
fi;
break;
done;
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): not found in manifest" 1>&2;
fi;
echo "";
else
if [[ -e "$result" ]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): found in manifest as ($result)" 1>&2;
fi;
echo "$result";
else
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): found in manifest as ($result), but file does not exist" 1>&2;
fi;
echo "";
fi;
fi;
else
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "ERROR[runfiles.bash]: cannot look up runfile "$1" " "(RUNFILES_DIR="${RUNFILES_DIR:-}"," "RUNFILES_MANIFEST_FILE="${RUNFILES_MANIFEST_FILE:-}")" 1>&2;
fi;
return 1;
fi;
fi
}
BASH_FUNC___runfiles_maybe_grep%%=() { grep "$@" || test $? = 1
}
BASH_FUNC_rlocation%%=() { if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): start" 1>&2;
fi;
if [[ "$1" =~ $_RLOCATION_ISABS_PATTERN ]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): absolute path, return" 1>&2;
fi;
echo "$1";
return 0;
else
if [[ "$1" == ../
|| "$1" == /.. || "$1" == ./ || "$1" == /./ || "$1" == "/." || "$1" == // ]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "ERROR[runfiles.bash]: rlocation($1): path is not normalized" 1>&2;
fi;
return 1;
else
if [[ "$1" == \
]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "ERROR[runfiles.bash]: rlocation($1): absolute path without" "drive name" 1>&2;
fi;
return 1;
fi;
fi;
fi;
if [[ -f "$RUNFILES_REPO_MAPPING" ]]; then
local -r target_repo_apparent_name=$(echo "$1" | cut -d / -f 1);
local -r remainder=$(echo "$1" | cut -d / -f 2-);
if [[ -n "$remainder" ]]; then
if [[ -z "${2+x}" ]]; then
local -r source_repo=$(runfiles_current_repository 2);
else
local -r source_repo=$2;
fi;
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): looking up canonical name for ($target_repo_apparent_name) from ($source_repo) in ($RUNFILES_REPO_MAPPING)" 1>&2;
fi;
local -r target_repo=$(__runfiles_maybe_grep -m1 "^$source_repo,$target_repo_apparent_name," "$RUNFILES_REPO_MAPPING" | cut -d , -f 3);
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): canonical name of target repo is ($target_repo)" 1>&2;
fi;
if [[ -n "$target_repo" ]]; then
local -r rlocation_path="$target_repo/$remainder";
else
local -r rlocation_path="$1";
fi;
else
local -r rlocation_path="$1";
fi;
else
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): not using repository mapping ($RUNFILES_REPO_MAPPING) since it does not exist" 1>&2;
fi;
local -r rlocation_path="$1";
fi;
runfiles_rlocation_checked "$rlocation_path"
}
BASH_FUNC_runfiles_current_repository%%=() { local -r idx=${1:-1};
local -r caller_path="${BASH_SOURCE[$idx]}";
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: runfiles_current_repository($idx): caller's path is ($caller_path)" 1>&2;
fi;
local rlocation_path=;
if [[ -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" ]]; then
local -r normalized_caller_path="$(echo "$caller_path" | sed 's|\\|/|g')";
local -r escaped_caller_path="$(echo "$normalized_caller_path" | sed 's/[^-A-Za-z0-9_/]/\&/g')";
rlocation_path=$(__runfiles_maybe_grep -m1 "^[^ ]
${escaped_caller_path}$" "${RUNFILES_MANIFEST_FILE}" | cut -d ' ' -f 1);
if [[ -z "$rlocation_path" ]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "ERROR[runfiles.bash]: runfiles_current_repository($idx): ($normalized_caller_path) is not the target of an entry in the runfiles manifest ($RUNFILES_MANIFEST_FILE)" 1>&2;
fi;
return 1;
else
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: runfiles_current_repository($idx): ($normalized_caller_path) is the target of ($rlocation_path) in the runfiles manifest" 1>&2;
fi;
fi;
fi;
if [[ -z "$rlocation_path" && -d "${RUNFILES_DIR:-/dev/null}" ]]; then
local -r normalized_caller_path="$(echo "$caller_path" | sed 's|\\|/|g')";
local -r normalized_dir="$(echo "${RUNFILES_DIR%[/]}" | sed 's|\\
|/|g')";
if [[ "$normalized_caller_path" == "$normalized_dir"/* ]]; then
rlocation_path=${normalized_caller_path:${#normalized_dir}};
rlocation_path=${rlocation_path:1};
fi;
if [[ -z "$rlocation_path" ]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: runfiles_current_repository($idx): ($normalized_caller_path) does not lie under the runfiles directory ($normalized_dir)" 1>&2;
fi;
local -r repository=$(echo "$normalized_caller_path" | __runfiles_maybe_grep -E -o '/bazel-out/[^/]+/bin/external/[^/]+/' | tail -1 | rev | cut -d / -f 2 | rev);
if [[ -n "$repository" ]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: runfiles_current_repository($idx): ($normalized_caller_path) lies in repository ($repository)" 1>&2;
fi;
echo "$repository";
else
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: runfiles_current_repository($idx): ($normalized_caller_path) lies in the main repository" 1>&2;
fi;
echo "";
fi;
return 0;
else
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: runfiles_current_repository($idx): ($caller_path) has path ($rlocation_path) relative to the runfiles directory ($RUNFILES_DIR)" 1>&2;
fi;
fi;
fi;
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: runfiles_current_repository($idx): ($caller_path) corresponds to rlocation path ($rlocation_path)" 1>&2;
fi;
rlocation_path=${rlocation_path#_main/external/};
rlocation_path=${rlocation_path#_main/../};
local -r repository=$(echo "$rlocation_path" | cut -d / -f 1);
if [[ "$repository" == _main ]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: runfiles_current_repository($idx): ($rlocation_path) lies in the main repository" 1>&2;
fi;
echo "";
else
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: runfiles_current_repository($idx): ($rlocation_path) lies in repository ($repository)" 1>&2;
fi;
echo "$repository";
fi
}
BASH_FUNC_runfiles_export_envvars%%=() { if [[ ! -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" && ! -d "${RUNFILES_DIR:-/dev/null}" ]]; then
return 1;
fi;
if [[ ! -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" ]]; then
if [[ -f "$RUNFILES_DIR/MANIFEST" ]]; then
export RUNFILES_MANIFEST_FILE="$RUNFILES_DIR/MANIFEST";
else
if [[ -f "${RUNFILES_DIR}_manifest" ]]; then
export RUNFILES_MANIFEST_FILE="${RUNFILES_DIR}_manifest";
else
export RUNFILES_MANIFEST_FILE=;
fi;
fi;
else
if [[ ! -d "${RUNFILES_DIR:-/dev/null}" ]]; then
if [[ "$RUNFILES_MANIFEST_FILE" == /MANIFEST && -d "${RUNFILES_MANIFEST_FILE%/MANIFEST}" ]]; then
export RUNFILES_DIR="${RUNFILES_MANIFEST_FILE%/MANIFEST}";
export JAVA_RUNFILES="$RUNFILES_DIR";
else
if [[ "$RUNFILES_MANIFEST_FILE" == _manifest && -d "${RUNFILES_MANIFEST_FILE%_manifest}" ]]; then
export RUNFILES_DIR="${RUNFILES_MANIFEST_FILE%_manifest}";
export JAVA_RUNFILES="$RUNFILES_DIR";
else
export RUNFILES_DIR=;
fi;
fi;
fi;
fi
}
BASH_FUNC_is_absolute%%=() { [[ "$1" = /
]] || [[ "$1" =~ ^[a-zA-Z]:[/\].
]]
}
_=/bin/printenv

Running protractor tests

version : 5.4.4
pwd : /home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/devserver_test_chromium-local.sh.runfiles/examples_angular
conf : /home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/devserver_test_chromium-local.sh.runfiles/examples_angular/e2e/devserver_test_wrapped_test.conf.js
node_options:

[19:54:48] I/launcher - Running 1 instances of WebDriver
[19:54:48] I/direct - Using ChromeDriver directly...
history-server serving all apps in /home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/devserver_test_chromium-local.sh.runfiles/examples_angular/src/devapp
/ => src/devapp
history-server listening on port 52284; Ctrl+C to stop
Started
[19:55:05] E/protractor - Could not find Angular on page http://localhost:52284/hello : retries looking for angular exceeded
F

Failures:

  1. angular example application should display: Hello World!
    Message:
    Failed: Angular could not be found on the page http://localhost:52284/hello. If this is not an Angular application, you may need to turn off waiting for Angular.
    Please see
    https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular-on-page-load
    Stack:
    Error: Angular could not be found on the page http://localhost:52284/hello. If this is not an Angular application, you may need to turn off waiting for Angular.
    Please see
    https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular-on-page-load
    at /home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/devserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/protractor/built/browser.js:720:27
    at ManagedPromise.invokeCallback_ (/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/devserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/selenium-webdriver/lib/promise.js:1376:14)
    at TaskQueue.execute_ (/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/devserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/selenium-webdriver/lib/promise.js:3084:14)
    at TaskQueue.executeNext_ (/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/devserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/selenium-webdriver/lib/promise.js:3067:27)
    at /home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/devserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/selenium-webdriver/lib/promise.js:2927:27
    at /home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/devserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/selenium-webdriver/lib/promise.js:668:7
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    From: Task: Run it("should display: Hello World!") in control flow
    at UserContext. (/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/devserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/jasminewd2/index.js:94:19)
    at /home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/devserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/jasminewd2/index.js:64:48
    at ControlFlow.emit (/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/devserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/selenium-webdriver/lib/events.js:62:21)
    at ControlFlow.shutdown_ (/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/devserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/selenium-webdriver/lib/promise.js:2674:10)
    at /home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/devserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/selenium-webdriver/lib/promise.js:2599:53
    From asynchronous test:
    Error
    at Suite. (/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/devserver_test_chromium-local.sh.runfiles/examples_angular/e2e/src/app.e2e-spec.js:45:5)
    at Object. (/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/117/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/devserver_test_chromium-local.sh.runfiles/examples_angular/e2e/src/app.e2e-spec.js:40:1)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)

1 spec, 1 failure
Finished in 15.655 seconds

[19:55:06] I/launcher - 0 instance(s) of WebDriver still running
[19:55:06] I/launcher - chrome #1 failed 1 test(s)
[19:55:06] I/launcher - overall: 1 failed spec(s)
[19:55:06] E/launcher - Process exited with error code 1

INFO: From NpmPackageBin src/bundle-es5 [for tool]:
Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db
Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating
[BABEL] Note: The code generator has deoptimised the styling of /home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/115/execroot/examples_angular/bazel-out/k8-opt-exec-2B5CBBC6/bin/src/bundle-es2015/app.module-210bff70.js as it exceeds the max of 500KB.
[BABEL] Note: The code generator has deoptimised the styling of /home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/115/execroot/examples_angular/bazel-out/k8-opt-exec-2B5CBBC6/bin/src/bundle-es2015/hello-world.module-742e17f5.js as it exceeds the max of 500KB.
Successfully compiled 5 files with Babel (28191ms).
INFO: From NpmPackageBin src/_prodapp/src/index.html [for tool]:
html-insert-assets: Unknown asset usage: src/manifest.webmanifest
WARNING: /tmp/rules_nodejs/examples/angular/src/BUILD.bazel:210:12: output 'src/pwa-config' of //src:pwa is a directory; dependency checking of directories is unsound
FAIL: //e2e:prodserver_test_chromium-local (see /home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/prodserver_test_chromium-local/test.log)
INFO: From Testing //e2e:prodserver_test_chromium-local:
==================== Test output for //e2e:prodserver_test_chromium-local:
TEST_UNUSED_RUNFILES_LOG_FILE=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/prodserver_test_chromium-local/test.unused_runfiles_log
TEST_BINARY=e2e/prodserver_test_chromium-local.sh
TEST_TEMPDIR=test_tempdir.074KrD
TEST_WORKSPACE=examples_angular
RUNFILES_DIR=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/prodserver_test_chromium-local.sh.runfiles
TEST_UNDECLARED_OUTPUTS_DIR=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/prodserver_test_chromium-local/test.outputs
PWD=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/prodserver_test_chromium-local.sh.runfiles/examples_angular
RUN_UNDER_RUNFILES=1
TZ=UTC
TEST_TMPDIR=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/_tmp/bd00780c149f01e2ae77997aed0f23d3
TMPDIR=/tmp
XML_OUTPUT_FILE=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/prodserver_test_chromium-local/test.xml
WEB_TEST_METADATA=examples_angular/e2e/prodserver_test_chromium-local.gen.json
TEST_UNDECLARED_OUTPUTS_ANNOTATIONS_DIR=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/prodserver_test_chromium-local/test.outputs_manifest
TEST_PREMATURE_EXIT_FILE=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/prodserver_test_chromium-local/test.exited_prematurely
TEST_INFRASTRUCTURE_FAILURE_FILE=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/prodserver_test_chromium-local/test.infrastructure_failure
USER=
PYTHON_RUNFILES=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/prodserver_test_chromium-local.sh.runfiles
TEST_SRCDIR=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/prodserver_test_chromium-local.sh.runfiles
SHLVL=1
RUNFILES_REPO_MAPPING=
_RLOCATION_ISABS_PATTERN=^/[^/].*
BAZEL_TEST=1
PATH=.:/bin:/usr/bin:/usr/local/bin
GTEST_TMP_DIR=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/_tmp/bd00780c149f01e2ae77997aed0f23d3
TEST_WARNINGS_OUTPUT_FILE=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/prodserver_test_chromium-local/test.warnings
TEST_TARGET=//e2e:prodserver_test_chromium-local
JAVA_RUNFILES=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/prodserver_test_chromium-local.sh.runfiles
TEST_SIZE=large
EXPERIMENTAL_SPLIT_XML_GENERATION=1
TEST_TIMEOUT=900
TEST_LOGSPLITTER_OUTPUT_FILE=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/prodserver_test_chromium-local/test.raw_splitlogs/test.splitlogs
OLDPWD=/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular
BASH_FUNC_runfiles_rlocation_checked%%=() { if [[ -e "${RUNFILES_DIR:-/dev/null}/$1" ]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): found under RUNFILES_DIR ($RUNFILES_DIR), return" 1>&2;
fi;
echo "${RUNFILES_DIR}/$1";
else
if [[ -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" ]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): looking in RUNFILES_MANIFEST_FILE ($RUNFILES_MANIFEST_FILE)" 1>&2;
fi;
local -r result=$(__runfiles_maybe_grep -m1 "^$1 " "${RUNFILES_MANIFEST_FILE}" | cut -d ' ' -f 2-);
if [[ -z "$result" ]]; then
local prefix="$1";
local prefix_result=;
local new_prefix=;
while true; do
new_prefix="${prefix%/}";
[[ "$new_prefix" == "$prefix" ]] && break;
prefix="$new_prefix";
prefix_result=$(__runfiles_maybe_grep -m1 "^$prefix " "${RUNFILES_MANIFEST_FILE}" | cut -d ' ' -f 2-);
[[ -z "$prefix_result" ]] && continue;
local -r candidate="${prefix_result}${1#"${prefix}"}";
if [[ -e "$candidate" ]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): found in manifest as ($candidate) via prefix ($prefix)" 1>&2;
fi;
echo "$candidate";
return 0;
fi;
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): found in manifest as ($candidate) via prefix ($prefix), but file does not exist" 1>&2;
fi;
break;
done;
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): not found in manifest" 1>&2;
fi;
echo "";
else
if [[ -e "$result" ]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): found in manifest as ($result)" 1>&2;
fi;
echo "$result";
else
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): found in manifest as ($result), but file does not exist" 1>&2;
fi;
echo "";
fi;
fi;
else
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "ERROR[runfiles.bash]: cannot look up runfile "$1" " "(RUNFILES_DIR="${RUNFILES_DIR:-}"," "RUNFILES_MANIFEST_FILE="${RUNFILES_MANIFEST_FILE:-}")" 1>&2;
fi;
return 1;
fi;
fi
}
BASH_FUNC___runfiles_maybe_grep%%=() { grep "$@" || test $? = 1
}
BASH_FUNC_rlocation%%=() { if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): start" 1>&2;
fi;
if [[ "$1" =~ $_RLOCATION_ISABS_PATTERN ]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): absolute path, return" 1>&2;
fi;
echo "$1";
return 0;
else
if [[ "$1" == ../
|| "$1" == /.. || "$1" == ./ || "$1" == /./ || "$1" == "/." || "$1" == // ]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "ERROR[runfiles.bash]: rlocation($1): path is not normalized" 1>&2;
fi;
return 1;
else
if [[ "$1" == \
]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "ERROR[runfiles.bash]: rlocation($1): absolute path without" "drive name" 1>&2;
fi;
return 1;
fi;
fi;
fi;
if [[ -f "$RUNFILES_REPO_MAPPING" ]]; then
local -r target_repo_apparent_name=$(echo "$1" | cut -d / -f 1);
local -r remainder=$(echo "$1" | cut -d / -f 2-);
if [[ -n "$remainder" ]]; then
if [[ -z "${2+x}" ]]; then
local -r source_repo=$(runfiles_current_repository 2);
else
local -r source_repo=$2;
fi;
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): looking up canonical name for ($target_repo_apparent_name) from ($source_repo) in ($RUNFILES_REPO_MAPPING)" 1>&2;
fi;
local -r target_repo=$(__runfiles_maybe_grep -m1 "^$source_repo,$target_repo_apparent_name," "$RUNFILES_REPO_MAPPING" | cut -d , -f 3);
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): canonical name of target repo is ($target_repo)" 1>&2;
fi;
if [[ -n "$target_repo" ]]; then
local -r rlocation_path="$target_repo/$remainder";
else
local -r rlocation_path="$1";
fi;
else
local -r rlocation_path="$1";
fi;
else
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: rlocation($1): not using repository mapping ($RUNFILES_REPO_MAPPING) since it does not exist" 1>&2;
fi;
local -r rlocation_path="$1";
fi;
runfiles_rlocation_checked "$rlocation_path"
}
BASH_FUNC_runfiles_current_repository%%=() { local -r idx=${1:-1};
local -r caller_path="${BASH_SOURCE[$idx]}";
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: runfiles_current_repository($idx): caller's path is ($caller_path)" 1>&2;
fi;
local rlocation_path=;
if [[ -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" ]]; then
local -r normalized_caller_path="$(echo "$caller_path" | sed 's|\\|/|g')";
local -r escaped_caller_path="$(echo "$normalized_caller_path" | sed 's/[^-A-Za-z0-9_/]/\&/g')";
rlocation_path=$(__runfiles_maybe_grep -m1 "^[^ ]
${escaped_caller_path}$" "${RUNFILES_MANIFEST_FILE}" | cut -d ' ' -f 1);
if [[ -z "$rlocation_path" ]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "ERROR[runfiles.bash]: runfiles_current_repository($idx): ($normalized_caller_path) is not the target of an entry in the runfiles manifest ($RUNFILES_MANIFEST_FILE)" 1>&2;
fi;
return 1;
else
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: runfiles_current_repository($idx): ($normalized_caller_path) is the target of ($rlocation_path) in the runfiles manifest" 1>&2;
fi;
fi;
fi;
if [[ -z "$rlocation_path" && -d "${RUNFILES_DIR:-/dev/null}" ]]; then
local -r normalized_caller_path="$(echo "$caller_path" | sed 's|\\|/|g')";
local -r normalized_dir="$(echo "${RUNFILES_DIR%[/]}" | sed 's|\\
|/|g')";
if [[ "$normalized_caller_path" == "$normalized_dir"/* ]]; then
rlocation_path=${normalized_caller_path:${#normalized_dir}};
rlocation_path=${rlocation_path:1};
fi;
if [[ -z "$rlocation_path" ]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: runfiles_current_repository($idx): ($normalized_caller_path) does not lie under the runfiles directory ($normalized_dir)" 1>&2;
fi;
local -r repository=$(echo "$normalized_caller_path" | __runfiles_maybe_grep -E -o '/bazel-out/[^/]+/bin/external/[^/]+/' | tail -1 | rev | cut -d / -f 2 | rev);
if [[ -n "$repository" ]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: runfiles_current_repository($idx): ($normalized_caller_path) lies in repository ($repository)" 1>&2;
fi;
echo "$repository";
else
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: runfiles_current_repository($idx): ($normalized_caller_path) lies in the main repository" 1>&2;
fi;
echo "";
fi;
return 0;
else
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: runfiles_current_repository($idx): ($caller_path) has path ($rlocation_path) relative to the runfiles directory ($RUNFILES_DIR)" 1>&2;
fi;
fi;
fi;
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: runfiles_current_repository($idx): ($caller_path) corresponds to rlocation path ($rlocation_path)" 1>&2;
fi;
rlocation_path=${rlocation_path#_main/external/};
rlocation_path=${rlocation_path#_main/../};
local -r repository=$(echo "$rlocation_path" | cut -d / -f 1);
if [[ "$repository" == _main ]]; then
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: runfiles_current_repository($idx): ($rlocation_path) lies in the main repository" 1>&2;
fi;
echo "";
else
if [[ "${RUNFILES_LIB_DEBUG:-}" == 1 ]]; then
echo "INFO[runfiles.bash]: runfiles_current_repository($idx): ($rlocation_path) lies in repository ($repository)" 1>&2;
fi;
echo "$repository";
fi
}
BASH_FUNC_runfiles_export_envvars%%=() { if [[ ! -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" && ! -d "${RUNFILES_DIR:-/dev/null}" ]]; then
return 1;
fi;
if [[ ! -f "${RUNFILES_MANIFEST_FILE:-/dev/null}" ]]; then
if [[ -f "$RUNFILES_DIR/MANIFEST" ]]; then
export RUNFILES_MANIFEST_FILE="$RUNFILES_DIR/MANIFEST";
else
if [[ -f "${RUNFILES_DIR}_manifest" ]]; then
export RUNFILES_MANIFEST_FILE="${RUNFILES_DIR}_manifest";
else
export RUNFILES_MANIFEST_FILE=;
fi;
fi;
else
if [[ ! -d "${RUNFILES_DIR:-/dev/null}" ]]; then
if [[ "$RUNFILES_MANIFEST_FILE" == /MANIFEST && -d "${RUNFILES_MANIFEST_FILE%/MANIFEST}" ]]; then
export RUNFILES_DIR="${RUNFILES_MANIFEST_FILE%/MANIFEST}";
export JAVA_RUNFILES="$RUNFILES_DIR";
else
if [[ "$RUNFILES_MANIFEST_FILE" == _manifest && -d "${RUNFILES_MANIFEST_FILE%_manifest}" ]]; then
export RUNFILES_DIR="${RUNFILES_MANIFEST_FILE%_manifest}";
export JAVA_RUNFILES="$RUNFILES_DIR";
else
export RUNFILES_DIR=;
fi;
fi;
fi;
fi
}
BASH_FUNC_is_absolute%%=() { [[ "$1" = /
]] || [[ "$1" =~ ^[a-zA-Z]:[/\].
]]
}
_=/bin/printenv

Running protractor tests

version : 5.4.4
pwd : /home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/prodserver_test_chromium-local.sh.runfiles/examples_angular
conf : /home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/prodserver_test_chromium-local.sh.runfiles/examples_angular/e2e/prodserver_test_wrapped_test.conf.js
node_options:

[19:55:39] I/launcher - Running 1 instances of WebDriver
[19:55:39] I/direct - Using ChromeDriver directly...
history-server serving all apps in /home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/prodserver_test_chromium-local.sh.runfiles/examples_angular/src/pwa-config
/ => src/pwa-config
history-server listening on port 52541; Ctrl+C to stop
Started
[19:55:53] E/protractor - Could not find Angular on page http://localhost:52541/example/hello : retries looking for angular exceeded
F

Failures:

  1. angular example application should display: Hello World!
    Message:
    Failed: Angular could not be found on the page http://localhost:52541/example/hello. If this is not an Angular application, you may need to turn off waiting for Angular.
    Please see
    https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular-on-page-load
    Stack:
    Error: Angular could not be found on the page http://localhost:52541/example/hello. If this is not an Angular application, you may need to turn off waiting for Angular.
    Please see
    https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular-on-page-load
    at /home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/prodserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/protractor/built/browser.js:720:27
    at ManagedPromise.invokeCallback_ (/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/prodserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/selenium-webdriver/lib/promise.js:1376:14)
    at TaskQueue.execute_ (/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/prodserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/selenium-webdriver/lib/promise.js:3084:14)
    at TaskQueue.executeNext_ (/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/prodserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/selenium-webdriver/lib/promise.js:3067:27)
    at /home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/prodserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/selenium-webdriver/lib/promise.js:2927:27
    at /home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/prodserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/selenium-webdriver/lib/promise.js:668:7
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    From: Task: Run it("should display: Hello World!") in control flow
    at UserContext. (/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/prodserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/jasminewd2/index.js:94:19)
    at /home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/prodserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/jasminewd2/index.js:64:48
    at ControlFlow.emit (/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/prodserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/selenium-webdriver/lib/events.js:62:21)
    at ControlFlow.shutdown_ (/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/prodserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/selenium-webdriver/lib/promise.js:2674:10)
    at /home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/prodserver_test_chromium-local.sh.runfiles/examples_angular/node_modules/selenium-webdriver/lib/promise.js:2599:53
    From asynchronous test:
    Error
    at Suite. (/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/prodserver_test_chromium-local.sh.runfiles/examples_angular/e2e/src/app.e2e-spec.js:45:5)
    at Object. (/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/sandbox/linux-sandbox/123/execroot/examples_angular/bazel-out/k8-fastbuild/bin/e2e/prodserver_test_chromium-local.sh.runfiles/examples_angular/e2e/src/app.e2e-spec.js:40:1)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)

1 spec, 1 failure
Finished in 13.306 seconds

[19:55:53] I/launcher - 0 instance(s) of WebDriver still running
[19:55:53] I/launcher - chrome #1 failed 1 test(s)
[19:55:53] I/launcher - overall: 1 failed spec(s)
[19:55:53] E/launcher - Process exited with error code 1

INFO: Elapsed time: 126.727s, Critical Path: 101.18s
INFO: 48 processes: 18 internal, 28 linux-sandbox, 2 local.
INFO: Build completed, 2 tests FAILED, 48 total actions
//e2e:devserver_test_chromium-local FAILED in 18.5s
/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/devserver_test_chromium-local/test.log
//e2e:prodserver_test_chromium-local FAILED in 15.0s
/home//.cache/bazel/bazel/136c18ddf3974508a18816e4e6085932/execroot/examples_angular/bazel-out/k8-fastbuild/testlogs/e2e/prodserver_test_chromium-local/test.log

Executed 2 out of 2 tests: 2 fail locally.

Describe the feature

Angular 12 LTS is no longer supported. We would like to upgrade to a supported version (ideally the latest). Thanks for consideration 😁

Hi @lbhdc. rules_nodejs is no longer actively maintained so it is unlikely this will get done unless someone steps up to do the work. All of the past maintainers have moved onto to rules_js and no one new has stepped up.

It is possible, however, to build the latest version of angular with rules_js & rules_ts. There is an example here: https://github.com/aspect-build/bazel-examples/blob/ec19825e711ef2d1db68352ed8b152cad65cd257/angular-ngc/package.json#L7

You can also consider funding the work if you're stuck on rules_nodejs.

That is very helpful, I wasn't aware that development has moved to a new rules set. Thanks @gregmagolan!

@alexeagle I think we are going to try to transition to rules_ts, but if for whatever reason that doesn't pan out, I will let you know 😁

Awesome! Let us know how it goes. If you'd like some help with the effort our professional services team can help.

This issue has been automatically marked as stale because it has not had any activity for 6 months. It will be closed if no further activity occurs in 30 days. Collaborators can add a "cleanup" or "need: discussion" label to keep it open indefinitely. Thanks for your contributions to rules_nodejs!