From 67d4dc061cce0e71fe3759f1b6eb1522a02b45ad Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Wed, 8 Feb 2017 11:39:24 -0800 Subject: [PATCH] build: clear stalled jobs on POSIX CI hosts Sometimes, after a cluster or debug test fails, a fixture hangs around and holds onto a needed port, causing subsequent CI runs to fail. This adds a command I've been running manually when this occurs. The command will clear the stalled jobs before a CI run. PR-URL: https://github.com/nodejs/node/pull/11246 Reviewed-By: James M Snell Reviewed-By: Michael Dawson Reviewed-By: Gibson Fahnestock Reviewed-By: Santiago Gimeno Reviewed-By: Josh Gavant --- Makefile | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 394d3b913af82c..d0fdfbcef6d91a 100644 --- a/Makefile +++ b/Makefile @@ -188,6 +188,15 @@ test/addons/.buildstamp: config.gypi \ # TODO(bnoordhuis) Force rebuild after gyp update. build-addons: $(NODE_EXE) test/addons/.buildstamp +ifeq ($(OSTYPE),$(filter $(OSTYPE),darwin aix)) + XARGS = xargs +else + XARGS = xargs -r +endif +clear-stalled: + ps awwx | grep Release/node | grep -v grep | cat + ps awwx | grep Release/node | grep -v grep | awk '{print $$1}' | $(XARGS) kill + test-gc: all test/gc/node_modules/weak/build/Release/weakref.node $(PYTHON) tools/test.py --mode=release gc @@ -210,13 +219,13 @@ test-ci-native: | test/addons/.buildstamp $(TEST_CI_ARGS) $(CI_NATIVE_SUITES) # This target should not use a native compiler at all -test-ci-js: +test-ci-js: | clear-stalled $(PYTHON) tools/test.py $(PARALLEL_ARGS) -p tap --logfile test.tap \ --mode=release --flaky-tests=$(FLAKY_TESTS) \ $(TEST_CI_ARGS) $(CI_JS_SUITES) test-ci: LOGLEVEL := info -test-ci: | build-addons +test-ci: | clear-stalled build-addons out/Release/cctest --gtest_output=tap:cctest.tap $(PYTHON) tools/test.py $(PARALLEL_ARGS) -p tap --logfile test.tap \ --mode=release --flaky-tests=$(FLAKY_TESTS) \ @@ -764,4 +773,4 @@ endif bench-all bench bench-misc bench-array bench-buffer bench-net \ bench-http bench-fs bench-tls cctest run-ci test-v8 test-v8-intl \ test-v8-benchmarks test-v8-all v8 lint-ci bench-ci jslint-ci doc-only \ - $(TARBALL)-headers test-ci test-ci-native test-ci-js build-ci + $(TARBALL)-headers test-ci test-ci-native test-ci-js build-ci clear-stalled