From 9e06884c3a7db73567a26f63c94f5a4e21874f73 Mon Sep 17 00:00:00 2001 From: Kostis Sagonas Date: Thu, 17 Nov 2016 16:21:38 +0100 Subject: Run dialyzer as part of the travis script Build a dialyzer PLT and use it to analyze all OTP applications that can currently be analyzed without warnings even when the option -Wunmatched_returns is turned on. Note that the dialyzer run does _not_ enable the option which allows for improper lists. Applications to run dialyzer on are mentioned alphabetically. As more applications are fixed to run cleanly even with unmatched returns, they can be added to this list. However, there will come a point when the warning pass of Dialyzer will run out of memory on Travis and the process will be killed. This should be fixed in dialyzer. --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index 48d8031bd0..91aa026a1c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,9 +32,9 @@ script: - ./otp_build all -a after_success: + - $ERL_TOP/bin/dialyzer --build_plt --apps asn1 compiler crypto dialyzer edoc erts et hipe inets kernel mnesia observer public_key runtime_tools snmp ssh ssl stdlib syntax_tools wx xmerl --statistics + - $ERL_TOP/bin/dialyzer -n -Wunmatched_returns --apps asn1 compiler crypto dialyzer erts hipe parsetools public_key runtime_tools sasl stdlib tools --statistics - ./otp_build tests && make release_docs after_script: - cd $ERL_TOP/release/tests/test_server && $ERL_TOP/bin/erl -s ts install -s ts smoke_test batch -s init stop - - -- cgit v1.2.3 From 79200cff21b09a17f6eec5eed755807c8e2b5e17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= Date: Fri, 18 Nov 2016 12:42:17 +0100 Subject: Travis: Reduce memory consumption for dialyzer 9e06884c3a7db started to run Dialyzer in Travis. After that, Travis has crashed several times because of the memory limit of 2Gb has been exceeded. Try to fix that by analyzing only three or four applications at a time. --- .travis.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index 91aa026a1c..43bf0c7fb5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,7 +33,10 @@ script: after_success: - $ERL_TOP/bin/dialyzer --build_plt --apps asn1 compiler crypto dialyzer edoc erts et hipe inets kernel mnesia observer public_key runtime_tools snmp ssh ssl stdlib syntax_tools wx xmerl --statistics - - $ERL_TOP/bin/dialyzer -n -Wunmatched_returns --apps asn1 compiler crypto dialyzer erts hipe parsetools public_key runtime_tools sasl stdlib tools --statistics + - $ERL_TOP/bin/dialyzer -n -Wunknown -Wunmatched_returns --apps compiler erts kernel stdlib --statistics + - $ERL_TOP/bin/dialyzer -n -Wunknown -Wunmatched_returns --apps asn1 crypto dialyzer --statistics + - $ERL_TOP/bin/dialyzer -n -Wunknown -Wunmatched_returns --apps hipe parsetools public_key --statistics + - $ERL_TOP/bin/dialyzer -n -Wunknown -Wunmatched_returns --apps runtime_tools sasl tools --statistics - ./otp_build tests && make release_docs after_script: -- cgit v1.2.3 From 709be2f95c1df3b684e3ce036b98bdda3efa3f09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= Date: Mon, 12 Dec 2016 15:33:35 +0100 Subject: Make sure that Travis fails when test cases fail --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index 43bf0c7fb5..ef17d6fbe7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -40,4 +40,4 @@ after_success: - ./otp_build tests && make release_docs after_script: - - cd $ERL_TOP/release/tests/test_server && $ERL_TOP/bin/erl -s ts install -s ts smoke_test batch -s init stop + - ./scripts/run-smoke-tests -- cgit v1.2.3 From 7c1cd888df9331efe9eb010b0ed3061274840da5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= Date: Thu, 12 Jan 2017 12:59:29 +0100 Subject: Travis: Simplify running of dialyzer Now that dialyzer has been optimized for memory usage, we can combine the dialyzer invocations that use the same options. --- .travis.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index ef17d6fbe7..42151a16d2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,10 +33,8 @@ script: after_success: - $ERL_TOP/bin/dialyzer --build_plt --apps asn1 compiler crypto dialyzer edoc erts et hipe inets kernel mnesia observer public_key runtime_tools snmp ssh ssl stdlib syntax_tools wx xmerl --statistics - - $ERL_TOP/bin/dialyzer -n -Wunknown -Wunmatched_returns --apps compiler erts kernel stdlib --statistics - - $ERL_TOP/bin/dialyzer -n -Wunknown -Wunmatched_returns --apps asn1 crypto dialyzer --statistics - - $ERL_TOP/bin/dialyzer -n -Wunknown -Wunmatched_returns --apps hipe parsetools public_key --statistics - - $ERL_TOP/bin/dialyzer -n -Wunknown -Wunmatched_returns --apps runtime_tools sasl tools --statistics + - $ERL_TOP/bin/dialyzer -n -Wunknown -Wunmatched_returns --apps compiler erts kernel stdlib asn1 crypto dialyzer hipe parsetools public_key runtime_tools sasl tools --statistics + - $ERL_TOP/bin/dialyzer -n --apps common_test debugger edoc inets mnesia observer ssh ssl syntax_tools tools wx xmerl --statistics - ./otp_build tests && make release_docs after_script: -- cgit v1.2.3 From 74796de9c7739830bf911f8246b939b6099e1298 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= Date: Wed, 8 Feb 2017 15:27:33 +0100 Subject: Reduce size of the log file for Travis CI The huge log files are problematic. Add shell scripts that captures the log output to a temporary file and only display the log file if an error occurs. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index 42151a16d2..baa55b383d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,7 +29,7 @@ before_script: - kerl_deactivate script: - - ./otp_build all -a + - ./scripts/build-otp after_success: - $ERL_TOP/bin/dialyzer --build_plt --apps asn1 compiler crypto dialyzer edoc erts et hipe inets kernel mnesia observer public_key runtime_tools snmp ssh ssl stdlib syntax_tools wx xmerl --statistics -- cgit v1.2.3 From 3a40993d69a9079f7c890bc365a5f74c96287815 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= Date: Tue, 7 Mar 2017 10:11:25 +0100 Subject: Travis CI: Change the language to C We never use the installed Erlang package. Setting the language to C could also allow us to build on platforms that don't support the Erlang language (e.g. osx). --- .travis.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index baa55b383d..414107e10f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,10 +1,10 @@ -language: erlang - -otp_release: - - 18.0 +language: c sudo: false +os: + - linux + addons: apt: packages: @@ -26,7 +26,6 @@ before_script: - export PATH=$ERL_TOP/bin:$PATH - export ERL_LIBS='' - export MAKEFLAGS=-j6 - - kerl_deactivate script: - ./scripts/build-otp -- cgit v1.2.3 From cc96d254379776c83aa85bad397a24fc4365c5c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= Date: Tue, 7 Mar 2017 11:54:39 +0100 Subject: Reduce number of jobs for make Running fewer jobs in parallel reduces the risk of running out of memory. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index 414107e10f..8fc3478379 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,7 +25,7 @@ before_script: - export ERL_TOP=$PWD - export PATH=$ERL_TOP/bin:$PATH - export ERL_LIBS='' - - export MAKEFLAGS=-j6 + - export MAKEFLAGS=-j4 script: - ./scripts/build-otp -- cgit v1.2.3 From b5a5591678140206d86177d0e2df8dbfad825184 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= Date: Tue, 7 Mar 2017 11:33:59 +0100 Subject: Travis CI: Add building of Erlang/OTP on 32-bit Linux Build Erlang and run smoke test in a Docker container running 32-bit Linxux. --- .travis.yml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index 8fc3478379..dfa01a89e6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,6 +20,17 @@ addons: - g++ - xsltproc +matrix: + include: + - env: Linux32 + os: linux + services: + - docker + script: + - ./scripts/build-docker-otp 32 sh -c "scripts/build-otp && ./otp_build tests && scripts/run-smoke-tests" + after_success: + after_script: + before_script: - set -e - export ERL_TOP=$PWD @@ -29,7 +40,7 @@ before_script: script: - ./scripts/build-otp - + after_success: - $ERL_TOP/bin/dialyzer --build_plt --apps asn1 compiler crypto dialyzer edoc erts et hipe inets kernel mnesia observer public_key runtime_tools snmp ssh ssl stdlib syntax_tools wx xmerl --statistics - $ERL_TOP/bin/dialyzer -n -Wunknown -Wunmatched_returns --apps compiler erts kernel stdlib asn1 crypto dialyzer hipe parsetools public_key runtime_tools sasl tools --statistics -- cgit v1.2.3 From dc122bf19ac288701cdaa2c724216495ee05926f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= Date: Fri, 24 Mar 2017 07:42:46 +0100 Subject: Smoke test HiPE in the 32-bit build HiPE is tested when running dialyzer in the 64-bit build. To avoid running out of memory or time, dialyzer is not run in the 32-bit build job. Do a smoke test of HiPE by letting dialyzer create a small PLT. We could catch more bugs by using 'configure --enable-native-libs', but I am worried that the build would not finish in 50 minutes (the time limit for a Travis job). --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index dfa01a89e6..f418f2099f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,7 +27,7 @@ matrix: services: - docker script: - - ./scripts/build-docker-otp 32 sh -c "scripts/build-otp && ./otp_build tests && scripts/run-smoke-tests" + - ./scripts/build-docker-otp 32 sh -c "scripts/build-otp && ./otp_build tests && scripts/run-smoke-tests && bin/dialyzer --build_plt --apps erts kernel stdlib" after_success: after_script: -- cgit v1.2.3 From f8004991cc08b4f1c695665e20042179a4f66ac1 Mon Sep 17 00:00:00 2001 From: Lukas Larsson Date: Tue, 18 Apr 2017 15:42:08 +0200 Subject: Move travis dialyzer logic to script file --- .travis.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index f418f2099f..eee75c9769 100644 --- a/.travis.yml +++ b/.travis.yml @@ -42,9 +42,7 @@ script: - ./scripts/build-otp after_success: - - $ERL_TOP/bin/dialyzer --build_plt --apps asn1 compiler crypto dialyzer edoc erts et hipe inets kernel mnesia observer public_key runtime_tools snmp ssh ssl stdlib syntax_tools wx xmerl --statistics - - $ERL_TOP/bin/dialyzer -n -Wunknown -Wunmatched_returns --apps compiler erts kernel stdlib asn1 crypto dialyzer hipe parsetools public_key runtime_tools sasl tools --statistics - - $ERL_TOP/bin/dialyzer -n --apps common_test debugger edoc inets mnesia observer ssh ssl syntax_tools tools wx xmerl --statistics + - ./scripts/run-dialyzer - ./otp_build tests && make release_docs after_script: -- cgit v1.2.3