Commit Graph

105 Commits

Author SHA1 Message Date
Kumar Gala 0def7cc9cc ci: Move to using SDK 0.10.0
Change over to ci image 0.6.3 to get released SDK 0.10.0

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-03-11 11:01:08 -05:00
Anas Nashif b0c71afc1a ci: Use latest docker image: 0.6.1
Use latest docker image with renode and an update to the SDK pre-release
0.10.0-rc3 (not used by default).

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-02-19 11:30:27 -05:00
Anas Nashif dabc99243d ci: do not send CI messages to slack
Reduce noise from shippable on slack, nobody really looks at those
messages.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-02-01 19:04:55 -05:00
Anas Nashif 401395f0fd ci: install v0.6 docker image
This image has both west in pytest and most recent sdk-ng release.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-01-29 10:20:38 -05:00
Carles Cufi 6b00bc9357 west: Multiple CI fixes for the topic-west branch
In order to be able to merge the topic branch, we require a few
fixes to CI.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2019-01-29 10:15:01 +01:00
Marti Bolivar e03ae5ba7e .shippable.yml: HACK: install latest west
After some discussion, we've decided to ensure that shippable runs
with the latest west bootstrapper on PyPI by making that happen in
.shippable.yml for now, rather than updating our CI container.

Signed-off-by: Marti Bolivar <marti@foundries.io>
2019-01-29 10:15:01 +01:00
Anas Nashif b7b25127a4 ci: reduce minions to 5
Have more PRs build in parallel.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-01-15 17:21:29 -05:00
Anas Nashif 07b221c24d ci: update to v0.5-rc5 docker file
New docker file with latest cmake 3.13.1.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-01-02 16:44:57 -05:00
Kumar Gala 0b9cfe70ed ci: bump number of builders to 7
Temp bump number of builders to 7 since we getting a lot of timeout
issues with normal PRs.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-12-18 10:57:28 -06:00
Kumar Gala 32ce21961b ci: update docker image to 0.5-rc4 to get sdk-ng
The 0.5-rc4 ci docker image adds the beta2 of sdk-ng so we can use that
for testing.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-12-14 08:09:24 -06:00
Anas Nashif fa963a94a1 ci: do not use pull request branch with commit based CI
Use correct variable for branch when not in pull request mode.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-12-03 19:28:01 -05:00
Anas Nashif 45cbc81160 ci: pass pull request number to CI script
For further processing, pass pull request number to the CI script.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-12-03 13:00:02 -05:00
Anas Nashif 5dd2593bcd ci: remove sanitycheck options from .shippable
They are now defined in CI script directly.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-12-03 13:00:02 -05:00
Anas Nashif d95ce03c1d ci: define BSIM_* variables in ci script directly
Rather than pass them as options, just set it directly in the CI script.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-12-03 13:00:02 -05:00
Anas Nashif a0a1bffd1c ci: move pos processing to the CI script
Move post processing to script and remove duplicatated code.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-12-03 13:00:02 -05:00
Anas Nashif 7a85c19f1a ci: update to latest docker image
Added the Pillow module for dealing with fonts for the display
subsystem.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-11-22 12:17:19 -05:00
Alberto Escolar Piedras 2d580a8339 ci: Add missing option to control placement of BT tests results file
Added a missing option in run_ci.sh to control the placement of the
xml results file. (Before it was just propagated thru the enviroment)
+
Changed .shippable to use this option when callign it.

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2018-11-21 09:42:46 -05:00
Anas Nashif 4b366f93ca ci: update to docker image 0.5-rc2
This has some fixes to permission issues with installed
scancode-toolkit.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-11-20 16:36:10 -05:00
Anas Nashif 10b1ee149f ci: use v0.4-rc14 image
- Has cmake 3.8.2 that matches min. required version
- Has west pre-installed
- Uses latest python dependencies from scripts/requirements.txt
- remove ISSM toolchain
- added scancode-toolkit for scanning licenses and copyrights.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-11-19 17:22:23 -05:00
Alberto Escolar Piedras 917711fd8a ci: Run bsim_bt tests and collect coverage results
Compile and run the tests avaliable in bsim_bt
and collect the coverage results into the coverage report.

Also, detect if bsim's component folder already contains the
nRF52 HW models, and if it does instead of trying to fetch
them again (which will fail) check that the right versio is
present. This should ease testing locally.

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2018-11-13 11:14:19 -05:00
Anas Nashif 0a63947abc ci: move ci scripting from .shippable to a script
move CI scripting to a dedicated script. For example, to simulate what
is run in CI when a pull request is submitted:

./scripts/ci/run_ci.sh -b master -r upstream  -p

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-11-10 13:09:00 -05:00
Anas Nashif 1c3cbc5eba ci: use sdk 0.9.5
Use new SDK version 0.9.5.
- new qemu
- new dtc
- new openocd

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-11-05 11:00:38 -05:00
Alberto Escolar Piedras 96b38ad694 shippable: Add support for nrf52_bsim board
Use the docker image which has BabbleSim precompiled

Fetch the NRF52 hardware models required by the nrf52_bsim board
and compile them.

Collect the coverage report from the nrf52_bsim board

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2018-10-15 09:36:37 -04:00
Anas Nashif d5d902a140 Revert "sanitycheck: fail on check_compliance issues"
This reverts commit 43398eb240.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-09-23 16:40:13 -04:00
Anas Nashif 43398eb240 sanitycheck: fail on check_compliance issues
We were forcing sucess even if check_compliance had failed.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-09-23 13:04:05 -04:00
Sebastian Bøe 84b0448e39 ci: Print the toolchain database when CI fails
CI is failing sporadically with a corrupted
ToolchainCapabilityDatabase.cmake file.

To gain insight into how the file is corrupted we print it to the log.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-09-19 08:15:09 -04:00
Anas Nashif ac419c4a99 ci: Use Ninja with sanitycheck
Ninja is much faster than make in the context of CI. The issues with
ninja and parallel builds has been partially resolved in sanitycheck.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-09-18 23:14:38 -04:00
Anas Nashif 5f5bd8b9f2 ci: disable cache
Disable cache which increases total execution time without any visible
benefits in the current setup. Need to revisit how we can better use
ccache for CI builds.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-09-18 23:14:38 -04:00
Anas Nashif 7e625ab869 ci: reduce minions to 5
Go back to 5 minions, 7 minions is increasing the queue significantly
without any improvements visible in total execution time.

This was changed to 7 to address PRs changing many boards and tests,
which is the exception and not the rule.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-09-18 23:14:38 -04:00
Kumar Gala 0b48df350f ci: Increase number of build slaves to 7
Since builds have drastically increased in time, we end up timing out CI
if we have a larger number of tests to build.  Try bumping up the number
of slaves to 7 and see if that helps.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-09-14 13:11:21 -05:00
Anas Nashif 27b9e2ef6f ci: Handle errors and exit on them
Do not continue if intermediate steps fail.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-08-16 13:22:10 -07:00
Anas Nashif 448cd0c0ce ci: handle documentation errors in ci
Path change of the warning file let a few errors slipe by..

Fixes #9098

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-07-24 19:26:52 -04:00
Anas Nashif 8cf49371af ci: use latest docker image v0.4-rc7
This one comes with gcc-arm-none-eabi-7-2018-q2-update

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-07-05 10:39:50 -04:00
Alberto Escolar Piedras 1545b378c8 CI: explicitly enable compiling w coverage in sanitycheck
Now that the native_posix board is not built by default
with coverage, and that sanitycheck has an option to set it to,
let's explicitly tell sanitycheck to build unit tests and
for the native_board with coverage enabled.

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2018-07-03 08:36:06 -04:00
Anas Nashif 7e69e9a441 ci: remove tests and samples from coverage reports
Tests and samples are not part of the Zephyr code and should not
contribute to the final coverage reports. This will allow us to get
exact numbers about what is being covered or not in CI without the need
to go and look into files individually.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-07-02 12:42:08 -04:00
Anas Nashif 5dce5ea56e ci: user latest docker file
- Updated ccache
- Updated documentation tools
- Add ESP32 toolchains and IDF

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-06-18 12:41:22 -04:00
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