Commit Graph

69 Commits

Author SHA1 Message Date
Anas Nashif 386b3e6d54 ci: increase ccache size
We are running 5 minions with almost 2000 tests, increase the cache size
to increase the hit rate.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-05-31 00:37:24 -04:00
Anas Nashif fac7108ecc ci: remove ext/ from coverage
ext/ code is not always entirely used or tested from Zephyr, we use only
subset of the features and available code. To get accurate coverage
data, exclude the files in ext/ from the coverage report.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-05-31 00:37:24 -04:00
Anas Nashif df9210ca56 ci: use new docker file with new SDK
Use docker image 0.4-rc2 with Zephyr SDK 0.9.3

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-05-15 12:10:32 +03:00
Sebastian Bøe e15a4923e8 ci: Clean the capability cache when the ccache is cleaned
Clear the toolchain capability cache when ccache is cleared so that
the different host-side caching mechanisms have a similair lifetime.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-05-14 13:47:09 -04:00
Anas Nashif 10776c4467 ci: remove pyserial install
This is now installed in the docker image.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-05-08 07:56:18 -04:00
Anas Nashif 73440ead7d sanitycheck: device handler, allow running tests on real hw
This will allow us to run sanitycheck on real devices and get reporting
out of it the same way we do that with Qemu.

To use this, run sanitycheck with the following new options:

 scripts/sanitycheck --device-testing --device-serial /dev/ttyACM0 -p
 frdm_k64f  -T tests/crypto/

--device-serial denotes the serial device the board is connected to.
This needs to be accessible by the user running sanitycheck. You can
run this on one board only at a time, the board is specified using the
--platform option.

This was tested with only a few boards, some board will not work
because how they reset the serial device during flashing.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-05-08 07:56:18 -04:00
Kumar Gala 0df7e1c109 ci: Increase number of build slaves to 5
To try and improve CI builds related to pull requests lets bump up the
number of build slaves to 5 to increase throughput.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-04-04 11:49:34 -04:00
Anas Nashif 566172f57a ci: update docker image
- g++-multilib
- python serial module

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-03-29 07:51:51 -04:00
Anas Nashif 7ee8bb9677 build: deprecate ZEPHYR_GCC_VARIANT
We want to support other toolchain not based on GCC, so the variable is
confusing, use ZEPHYR_TOOLCHAIN_VARIANT instead.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-02-13 07:44:45 -08:00
Anas Nashif bd2838bb78 sanitycheck: asserts are now enabled by default
sanitycheck now runs with asserts enabled, so no need for this option
anymore.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-02-12 08:24:23 -05:00
Sebastian Bøe 0e6689d559 sanitycheck: Default to using Ninja
It is important that it is easy to reproduce CI issues locally. Using
the same sanitycheck options locally and in CI helps in this
regard. Specifically, Ninja and Make can produce different results and
therefore the default generator should be the same for sanitycheck and
shippable.

This patch makes four changes:

The sanitycheck option '--make' is introduced to allow specifying Make
as a generator.

CI no longer passes the option '--ninja' to sanitycheck.

Sanitycheck defaults to using Ninja.

Sanitycheck documents the --ninja option as deprecated.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-02-12 08:24:23 -05:00
Alberto Escolar Piedras c6524abc39 CI: also generate coverage for unit tests
sanitycheck: Compile unit tests with coverage enabled always
      + run also first unit tests together with native_posix
shippable: also include unit_testing coverage into report to
      codecov

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2018-02-09 07:39:55 -05:00
Alberto Escolar Piedras d82ff1770d CI: preprocess coverage with lcov for codecov.io
We preprocess gcov output with lcov before feeding it to
codecov. For the following reasons:
* codecov seems to support LCOV pseudo-pragmas only if
  they match the pattern "// LCOV_EXCL"
* It is easier to understand what will happen in codecov
  if we feed a preprocessed lcov file than a pile of raw
  gcov files
* We can reproduce that step locally and therefore do
  quicker trials
* Branch coverage is not correct when feeding gcov raw
  input to codecov

+ We avoid feeding gcovr's output to codecov:
Codecov upload bash script also sees shippable/codecoverage/coverage.xml
but when this is uploaded together with lcov's the branch coverage
is not correct, and some not compiled in files are reported as not
covered.

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2018-02-05 06:26:53 -08:00
Anas Nashif 3bbd1c77ab doc: recent kconfig changes break doc generation
Instead of wildcards we now are using environment variables to set the
path to Kconfig files for board and architecture. This break
documentation generation for Kconfig variables.

Using the env variables, we now set the path to what it used to be to
restore previous behavior.

Also, when something like this happens in the future, we should abort on
doc creation failure.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-01-12 15:34:09 -05:00
Anas Nashif e09646ab12 ci: update docker image for CI builds
The new images has package updates including:
- ninja-build
- lcov
- new versions of doc generations packages
- gcovr
- gcc-6-multilib

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-01-11 12:50:49 -05:00
Anas Nashif 335bcedd36 ci: run sanitycheck with assertions enabled
This option was dropped by mistake, reenabling now..

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-01-09 11:13:08 -05:00
Anas Nashif 1e10767200 ci: run sanitycheck with ninja
This should speed things up a little bit.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-01-07 11:03:48 -05:00
Anas Nashif 292400034c ci: do coverage reporting only from first matrix job
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-01-05 23:00:50 -05:00
Anas Nashif 0f91f635ac ci: codecov.io: ignore appending adjustments
The process seems to drop many files, ignoring per recommendation from
codecov.io

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-01-04 19:56:04 -05:00
Anas Nashif 8dc143591c ci: coverage: do not parse boards without coverage
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-01-03 13:12:03 -05:00
Anas Nashif 9b1b0fc838 ci: upload coverage data to codecov.io
Use codecov.io to track test coverage.

See https://codecov.io/gh/zephyrproject-rtos/zephyr

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-01-02 12:11:11 -05:00
Anas Nashif be1d409f67 ci: generate code coverage report
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-12-27 14:16:08 -05:00
Anas Nashif e8391cb03f ci: move doc.warnings up to be evaluated
The file is now generated under doc/, so move it up for evaluation.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-11-15 07:57:46 -05:00
Anas Nashif 706ac7fe07 doc: redirect doc generation output using tee
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-11-10 09:30:10 -05:00
Sebastian Bøe 728cda15de ci: Don't define the deprecated ENV var USE_CCACHE
USE_CCACHE has been deprecated. ccache now defaults to being enabled
and users can define the CMake variable -DUSE_CCACHE=0 to turn it off.

Signed-off-by: Sebastian Boe <sebastian.boe@nordicsemi.no>
2017-11-09 17:55:30 -05:00
Anas Nashif 036dde2201 ci: reduce number of minions to 4
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-11-08 21:38:25 -05:00
Anas Nashif cad811babe ci: call 'make htmldocs' from root
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-11-08 20:00:22 -05:00
Sebastian Bøe 7736df0216 cmake: ci: Add more minions
remove this commit before merging with master

Signed-off-by: Sebastian Boe <sebastian.boe@nordicsemi.no>
2017-11-08 20:00:22 -05:00
Anas Nashif a2177277e5 ci: update shippable for new SDK
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-11-08 20:00:22 -05:00
Anas Nashif 3dd6ae675e ci: support cmake in shippable
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-11-08 20:00:22 -05:00
Anas Nashif 67848ff5ab ci: Use latest docker image with SDK 0.9.2
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-10-28 17:39:15 -04:00
Anas Nashif 7c1602dff5 ci: build pull requests on 4 minions
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-10-28 14:45:41 -04:00
Anas Nashif b127aff796 ci: support building on master commits
When we merge something, verify that the build succeeds. This is to make
sure we did not have conflicting commits that pass individually but fail
when merged on top of each other.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-10-06 09:07:13 -04:00
David B. Kinder d3b0cd4827 doc: move docgen filter out of shippable script
Because of known issues with Sphinx/Breathe tools we're using to
generate doxygen-based comments for our API documentation, we're getting
a bevy of warning messages written out. As a workaround for our CI
system, we created a filter-known-issues.py script to remove "expected"
warnings from the output.

This patch moves calling that filter script into the doc generation
Makefile so folks making local builds of the docs won't be tripped up by
all the warning messages either.  Output of the "make htmldocs" command
is now filtered so only "unexpected" errors and warnings will be shown.

(See https://github.com/sphinx-doc/sphinx/issue/2682 and
sphinx-doc/sphinx#2683i for the Sphinx/Breathe issues.)

Fixes #1527

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-09-22 08:07:30 -04:00
Anas Nashif 2ed5eb3d67 ci: fix --only-failed mode of sanitycheck
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-09-12 22:30:02 -04:00
Anas Nashif 4b0b070267 ci: use docker image v0.1
This new image has the following additions:
- gperf
- cmake
- Zephyr SDK 0.9.2-rc4 for initial testing (in addition to 0.9.1)
- Various python modules needed for building and CI

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-09-12 19:01:58 -04:00
Anas Nashif c53098ee02 ci: remove installation of python sh module
This is now installed in docker image.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-09-12 18:13:46 -04:00
Anas Nashif f8aa9e6b58 ci: avoid duplicates when running sanitycheck
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-09-12 18:13:46 -04:00
Anas Nashif 5ac1047798 ci: remove obsolete PLATFORM variable
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-09-12 18:13:46 -04:00
Anas Nashif 8b72bb1976 ci: remove obsolete COVERAGE variable
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-09-12 18:13:46 -04:00
Andrew Boie 83995b6f21 shippable: use new build slave configuration
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-09-07 16:33:33 -07:00
Anas Nashif 2cf6c79cef ci: remove all AWS operations
This will be done differently using CD and pipelines. Removing from
master before we branch 1.9.0.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-09-07 18:18:27 -05:00
Anas Nashif 3f83dc9023 ci: boards: retry sanitycheck without --subset arg
Do not use --subset on failed tests, run them all on the same host.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-08-14 19:20:24 -04:00
Anas Nashif c1cafb1f50 ci: run more tests on boards that have changed
Check if any board files have changed and build more tests with this
board to uncover any build regressions.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-08-14 13:28:42 -04:00
Anas Nashif 25faa86720 ci: fix call for sanitycheck
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-08-14 12:16:59 -04:00
Anas Nashif 05f70f4eec ci: retry sanitycheck without --subset arg
When retrying sanitycheck with --only-failed, do not use --subset
argument which can reduce the number of tests to be run (failed tests)
to 0.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-08-14 12:09:11 -04:00
Anas Nashif 63de5932ca ci: post built html docs to S3 storage
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-08-06 09:50:55 -04:00
Anas Nashif 659ea4191d ci: copy sanitycheck.xml file per matrix build
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-08-06 09:50:55 -04:00
Anas Nashif aa05b956cd ci: post results on failure
Looks like post_ci is not executed when something fails and results are
not being posted. Duplicate code in both failure and success cases.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-08-02 12:44:59 -04:00
Anas Nashif 7c9302e81e shippable: remove comment before get_modified_tests.py call
The code block is being treated as a comment, remove the leading comment
to make this run correctly.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-07-31 10:59:50 -04:00