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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>