[riot-devel] Alternative CI server

2015-07-09 Thread Philipp Rosenkranz
Dear RIOTers,

we are happy to inform you that our alternative self-hosted CI server
(reachable via: https://ci.riot-os.org/riot-os/riot) is now online
and ready to process your pull requests on Github.
This is why, from now on, you will see two status messages
on every new pull requests (one from Travis and one from the alternative
system).

What does this mean for you as contributor or maintainer?
Merge decisions will still be based on the output of Travis.
However, you might want to check the output of the alternative
system to get faster feedback on your code changes.

Why are we rolling out our own test infrastructure?
The reason for this is two-fold:
1. We want to support features Travis simply cannot supply
such as:
* Hardware-based tests: executing test cases on target devices
* Device volunteering: allowing trusted developers to connect
  their device over the internet to our test infrastructure, so
that
  hardware-based tests can be run on their devices.
2. We experienced several major service degradations of
Travis (often lasting more than several days) over the
course of the last few months. We want a system that is
more predictable, directly under our control and also customizable.

How we use or whether we use exactly this system (together with Travis or
by itself)
in the future, is a decision of the developer community.
That is why we would like to ask you for your thoughts on the alternative
CI system.
In addition to posts to this mailing list, you may also create an issue
on our issue tracker:
https://github.com/RIOT-OS/RIOT/issues?q=is%3Aopen+is%3Aissue+label%3ACI-Infrastructure


Here are some additional facts you might find useful:

1. The current state of the server:
* The CI server software we are using is Strider-CD (
https://github.com/strider-cd/strider)
* The current set of functionality is comparable to Travis (except for some
UI
  issues which are subject to change)
* The run time for static tests only (PRs with a missing 'Ready for Ci
build' label)
  is less than a minute
* The build queue only serves RIOT. Therefore, the backlog of build/test
jobs
  on the server is relatively small
* Test results are currently displayed as one log file with a test summary
at the
  end. This is subject to change in the near future.
* Full PR tests take about 45 min. to finish. If tests are skipped by the
build script,
  this number is considerably lower (around 20 min.)
* We are considering migrating the system to a more powerful machine. On a
modern
  Core-i7 tests/builds finish after about 25-30 min.. We hope to further
decrease this
  time with some fine-tuning of the build script.

2. Future plans:
* UI changes: build matrix instead of just one log file
* Hardware tests allowing automated tests to be run directly on devices
* Device volunteering
* Build slaves for scalability

Best,
Philipp
___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


[riot-devel] C++ toolchain issue on ubuntu 14.04

2015-06-29 Thread Philipp Rosenkranz
Hi all,

I am currently trying to run the cpp tests (e.g. tests/cpp11_*) for
stm32f4discovery on ubuntu 14.04 unfortunately all tests I ran failed (see
error log at the bottom of this mail). I highly suspect that this is a
toolchain issue (btw: happens only with stm32f4discovery).
Did I miss something obvious like a missing package (see package list
below)?

Best,
Philipp

The relevant packages I have installed are:

$ dpkg -l | grep arm-none
ii  gcc-arm-none-eabi
4.9.3.2015q1-0trusty13  amd64A
GNU-based tool chain for arm embedded processors
ii  libnewlib-arm-none-eabi
2.1.0-3 all  C library
and math library compiled for bare metal using Cortex A/R/M
ii  libstdc++-arm-none-eabi-newlib
4.9.2-20ubuntu1+7   all  GNU
Standard C++ Library v3 for ARM Cortex-A/R/M processors (newlib)

$ apt-cache policy gcc-arm-none-eabi
gcc-arm-none-eabi:
  Installiert:   4.9.3.2015q1-0trusty13
  Installationskandidat: 4.9.3.2015q1-0trusty13
  Versionstabelle:
 *** 4.9.3.2015q1-0trusty13 0
500 http://ppa.launchpad.net/terry.guo/gcc-arm-embedded/ubuntu/
trusty/main amd64 Packages
100 /var/lib/dpkg/status
 4.8.2-14ubuntu1+6 0
500 http://archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages


The error log for cpp11_thread:

tests/cpp11_thread$ BOARD=stm32f4discovery make clean all
Building application cpp11_thread for stm32f4discovery with MCU
stm32f4.

In file included from /usr/arm-none-eabi/include/c++/4.9.3/random:38:0,
 from
/usr/arm-none-eabi/include/c++/4.9.3/bits/stl_algo.h:66,
 from /usr/arm-none-eabi/include/c++/4.9.3/algorithm:62,
 from
/home/philipp/RIOT/sys/cpp11-compat/include/riot/chrono.hpp:30,
 from /home/philipp/RIOT/tests/cpp11_thread/main.cpp:27:
/usr/arm-none-eabi/include/c++/4.9.3/cmath:1120:11: error: '::log2l' has
not been declared
   using ::log2l;
   ^
/usr/arm-none-eabi/include/c++/4.9.3/cmath:1124:11: error: '::logbl' has
not been declared
   using ::logbl;
   ^
/usr/arm-none-eabi/include/c++/4.9.3/cmath:1146:11: error: '::nexttoward'
has not been declared
   using ::nexttoward;
   ^
/usr/arm-none-eabi/include/c++/4.9.3/cmath:1147:11: error: '::nexttowardf'
has not been declared
   using ::nexttowardf;
   ^
/usr/arm-none-eabi/include/c++/4.9.3/cmath:1148:11: error: '::nexttowardl'
has not been declared
   using ::nexttowardl;
   ^
In file included from /home/philipp/RIOT/sys/include/vtimer.h:28:0,
 from
/home/philipp/RIOT/sys/cpp11-compat/include/riot/chrono.hpp:33,
 from /home/philipp/RIOT/tests/cpp11_thread/main.cpp:27:
/home/philipp/RIOT/sys/include/timex.h: In function 'const char*
timex_to_str(timex_t, char*)':
/home/philipp/RIOT/sys/include/timex.h:185:39: error: 'snprintf' was not
declared in this scope
  t.seconds, t.microseconds);
   ^
make[1]: ***
[/home/philipp/RIOT/tests/cpp11_thread/bin/stm32f4discovery/cpp11_thread/main.o]
Fehler 1
make: *** [all] Fehler 2
___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


Re: [riot-devel] Testing Task Force

2015-04-15 Thread Philipp Rosenkranz
Hi,

as Martine already remarked: in the worst case all our test jobs are
executed more or less sequentially. Given the fact that most test runs for
a single commit take about 60 min. to complete we can reach
a delay, between pushing a commit and the start of a test run, of about
1.5 days (on a more or less busy day)

BTW: We hope to have an implementation which can replace our current
travis setup by the end of the month. I am currently in the process of
looking into the source code of travis (it's open-source after all) in
order to
determine which components can be re-used for our purposes.

Best,
Philipp

2015-04-15 17:32 GMT+02:00 Martine Lenders authmille...@gmail.com:

 Okay it takes ~1h to finish a build. My bad.

 2015-04-15 17:30 GMT+02:00 Martine Lenders authmille...@gmail.com:

 Hi,
 there were ~40 new builds opened yesterday [1] and it takes travis ~30
 min to finish a build (and since we are in the fair-use queue it works of
 the jobs more or less sequentially), so thats why the later ones are
 pending. I think we can speed up things a little if everyone (who has
 rights to do that) kills jobs that are not current anymore (due to a PR
 being updated or force-pushed e.g.) as Kushal proposed in [2].

 Cheers,
 Martine

 [1] https://travis-ci.org/RIOT-OS/RIOT/pull_requests
 [2] https://github.com/RIOT-OS/RIOT/pull/2793#issuecomment-92205543

 2015-04-15 16:02 GMT+02:00 Oleg Hahm oliver.h...@inria.fr:

 Hey folks from the testing task force,

 does anyone know what exactly is currently wrong with Travis? I have the
 impression that it didn't run a single test for RIOT today. E.g.
 https://github.com/RIOT-OS/RIOT/pull/2764 is pending for 24h hours now.

 Cheers,
 Oleg
 --
 The bad thing about Haskell jokes is that let understood = map (isJust .
 understand) $ repeat joke in or understood == False

 ___
 devel mailing list
 devel@riot-os.org
 https://lists.riot-os.org/mailman/listinfo/devel




 ___
 devel mailing list
 devel@riot-os.org
 https://lists.riot-os.org/mailman/listinfo/devel


___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel