From 8513232c825188f0ee926201b2afc13629cd0725 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Reis?= Date: Wed, 15 Jun 2016 13:42:21 +0100 Subject: [PATCH] build: split CI rules in Makefile Some CI jobs compile Node and run the tests on different machines. This change enables collaborators to have finer control over what runs on these jobs, such as the exact suites to run. The test-ci rule was split into js and native, to allow for addons to be compiled only on the machines that are going to run them. Reviewed-By: Colin Ihrig Reviewed-By: Michael Dawson Reviewed-By: Santiago Gimeno Reviewed-By: James M Snell Reviewed-By: Jeremiah Senkpiel Reviewed-By: Rod Vagg PR-URL: https://github.com/nodejs/node/pull/7317 --- Makefile | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 55ddb86db600ef..86fe1da1ee29ee 100644 --- a/Makefile +++ b/Makefile @@ -166,9 +166,24 @@ test-all: test-build test/gc/node_modules/weak/build/Release/weakref.node test-all-valgrind: test-build $(PYTHON) tools/test.py --mode=debug,release --valgrind +CI_NATIVE_SUITES := addons +CI_JS_SUITES := doctool message parallel sequential + +# Build and test addons without building anything else +test-ci-native: | test/addons/.buildstamp + $(PYTHON) tools/test.py -p tap --logfile test.tap \ + --mode=release --flaky-tests=$(FLAKY_TESTS) \ + $(TEST_CI_ARGS) $(CI_NATIVE_SUITES) + +# This target should not use a native compiler at all +test-ci-js: + $(PYTHON) tools/test.py -p tap --logfile test.tap \ + --mode=release --flaky-tests=$(FLAKY_TESTS) \ + $(TEST_CI_ARGS) $(CI_JS_SUITES) + test-ci: | build-addons $(PYTHON) tools/test.py -p tap --logfile test.tap --mode=release --flaky-tests=$(FLAKY_TESTS) \ - $(TEST_CI_ARGS) addons doctool message parallel sequential + $(TEST_CI_ARGS) $(CI_NATIVE_SUITES) $(CI_JS_SUITES) test-release: test-build $(PYTHON) tools/test.py --mode=release @@ -265,9 +280,11 @@ docopen: out/doc/api/all.html docclean: -rm -rf out/doc -run-ci: +build-ci: $(PYTHON) ./configure $(CONFIG_FLAGS) $(MAKE) + +run-ci: build-ci $(MAKE) test-ci RAWVER=$(shell $(PYTHON) tools/getnodeversion.py) @@ -650,4 +667,5 @@ lint-ci: lint blog blogclean tar binary release-only bench-http-simple bench-idle \ bench-all bench bench-misc bench-array bench-buffer bench-net \ bench-http bench-fs bench-tls cctest run-ci lint-ci bench-ci \ - test-v8 test-v8-intl test-v8-benchmarks test-v8-all v8 $(TARBALL)-headers + test-v8 test-v8-intl test-v8-benchmarks test-v8-all v8 \ + $(TARBALL)-headers test-ci test-ci-native test-ci-js build-ci