This makes param parse failures much more obvious in the CI logs, as
well as ensuring that both Semaphore and Travis will fail on bad
parameter data (which should reduce user confusion when one service
passes and the other fails).
In the end the build time is always almost the same, but it's a pain to
change one header and have it check the world. CI continues to use the
check so we can get any mistake before merging.
Update ccache to 3.2.5
Set ccache size
Display ccache statistics for each build
Disable ccache for configure phase
Export ccache bin path
travis: remove ccache stats before saving cache
Those environment variables are set by default by Travis. That fails cross
compilation with waf. There is a GitHub issue open related to that behavior at
https://github.com/travis-ci/travis-ci/issues/4682 . This change can be
reverted if eventually that is fixed.
Currently, an associative array variable waf_supported_boards is used to
trigger waf build only the currently supported boards. After the transition to
the new build system is done, that variable can be removed.
We're just building for now - there is a current issue related to the rotation
for solo, and it turns out that the first unit test added as an example is for
vector rotations. After that is solved we can use waf check, so that unit tests
are run as well.
In order to use the container infrastructure we can't use sudo to
install packages. Now Travis has a way to install packages by specifying
them in the .travis.yml. This greatly simplifies how we install the
packages and there's no need for a separate script anymore.
This also removes several outdated packages that aren't needed anymore.
This way we can group together the builds that are fast so we pay the
"setup price" just once. Let the long PX4 build on its own VM because
it's the one that takes most of the time building NuttX.
By grouping the projects by target it's also easier to split the build
in more VMs if we want to speed up the build.