Commit Graph

329 Commits

Author SHA1 Message Date
Grant Morphett 0d9a3840d8 autotest: Added submodule update and removed old modules update
Firstly build.All was failing as the submodules had not been updated
so the 'git submodule update' in this commit resovles that.
Secondly, now that the dependant projects like PX4Firmware etc are git
submodules of ardupilot we no longer need to check them out separately
and update them so I have removed all those.
I left MAVProxy as it isn't a submodule of ardupilot.
2016-03-08 11:40:48 +11:00
Fredrik Hedberg e88e8835b1 Tools: Use GCC 4.9 as an Ubuntu prereq as older version is no longer available. 2016-02-29 16:58:48 -03:00
Andrew Tridgell 15945c50cb scripts: ensure we have clean build for px4 2016-02-24 19:33:16 +11:00
Gustavo Jose de Sousa 38da32853a ci: use --enable-benchmarks in waf configure 2016-02-22 15:36:48 -03:00
Andrew Tridgell 119cf6bb13 ci: added sitltest target
this adds some basic SITL testing to our CI
2016-02-22 12:34:32 +11:00
Gustavo Jose de Sousa 7b0a6d301d ci: use command 'all' instead of 'build' for waf
The command build uses 'bin' programs group by default. By using the command
'all', we tell the build system to build all programs.
2016-02-01 14:08:39 -02:00
Lucas De Marchi 36d669a2ab ci: switch linux/sitl compiler to 4.9 2016-01-20 14:19:08 -02:00
Lucas De Marchi 1cd20c50a6 ci: integrate ccache configuration
Also split the exportline setting to allow one PATH per line.
2016-01-20 14:19:07 -02:00
Ricardo de Almeida Gonzaga c8d01f4bf4 ci: add configure-ci.sh
In order to use it in Travis and in Semaphore.
2016-01-20 14:19:07 -02:00
Ricardo de Almeida Gonzaga 0db54e7b36 ci: change TRAVIS_BUILD_TARGET to CI_BUILD_TARGET on build_ci.sh 2016-01-20 14:19:07 -02:00
Ricardo de Almeida Gonzaga e816a4845a ci: rename build_all_travis.sh to build_ci.sh
Since we're going to support SemaphoreCI[1] besides Travis.

[1] - https://semaphoreci.com/
2016-01-20 14:19:07 -02:00
Andrew Tridgell c2a12b55a0 scripts: raise max lockage in autotest 2016-01-20 07:43:43 +11:00
Andrew Tridgell b8c6bee132 autotest: raise overall timeout 2016-01-20 07:42:29 +11:00
Andrew Tridgell 15c8a27d5e scripts: added some debug to travis script 2016-01-20 07:42:28 +11:00
Gustavo Jose de Sousa 6ca58eac78 travis: fix verification for calling waf check
The use of `[[ $t == linux ]] && $waf check` makes the script exit with
non-zero status when $t isn't linux *and* that's the last thing executed.
2016-01-19 11:56:30 -02:00
Andrew Tridgell 56f8e3d414 scripts: added runfliptest.sh example script 2016-01-19 14:30:09 +11:00
Andrew Tridgell 889da98ca6 scripts: cope with older releases that don't support FMUv4 2016-01-19 14:18:32 +11:00
Gustavo Jose de Sousa d7f50ab668 travis: call waf check for linux
That helps preventing applying code that break unit tests.
2016-01-19 00:21:15 -02:00
Andrew Tridgell 3ea05759d1 travis: setup BUILDROOT to try to make builds faster 2016-01-19 12:28:04 +11:00
Andrew Tridgell 1416780976 scripts: copy px4-v4 binaries to autobuild published directories
this allows users to use pre-built binaries for pixracer
2016-01-19 11:18:51 +11:00
Andrew Tridgell df64a63243 scripts: use BUILDROOT in build_all.sh and build_binaries.sh
better ccache performance

fixup
2016-01-16 16:07:42 +11:00
Andrew Tridgell d65ace2e34 scripts: make build_examples.sh much faster 2016-01-15 19:09:21 +11:00
Gustavo Jose de Sousa 7d94095497 travis: unset CXX and CC at the beginning
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.
2016-01-11 16:31:59 -02:00
Andrew Tridgell 2c617cf8f0 scripts: stop building flymaple for plane
it no longer fits in flash
2016-01-09 17:03:41 +11:00
Julien BERAUD 514b60cf5e Tools: add bebop build to travis 2015-12-15 18:59:03 +09:00
Gustavo Jose de Sousa 9b7f365e3a travis: fix waf calls
The path to waf became wrong after the decision of using waf as a submodule.
2015-12-08 11:14:04 +11:00
Gustavo Jose de Sousa 8456cb4532 travis: support waf build
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.
2015-12-03 07:54:32 +11:00
Andrew Tridgell 672fc86d44 Travis: added px4-v4 to the travis build 2015-11-27 19:23:29 +11:00
Lucas De Marchi 17d9da4036 travis: use container infrastructure
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.
2015-11-26 07:56:52 +11:00
Andrew Tridgell d43ef07f98 autotest: switched examples build to navio
apm2 no longer supported. Navio provides good coverage of the code for
example builds
2015-11-16 07:57:57 +11:00
Andrew Tridgell 6bad33c922 scripts: use px4-clean for all binaries targets 2015-11-05 16:38:48 +11:00
Lucas De Marchi d16a924a15 scripts: don't install avr tools 2015-11-04 12:14:16 +11:00
Lucas De Marchi 5c29703732 build: remove tools to find arduino 2015-11-04 12:14:16 +11:00
Lucas De Marchi ddc3988b4a Travis: add minlure target 2015-10-24 14:28:31 +11:00
Andrew Tridgell 16bc7d8b2e Tools: fixed datestamp on compiler download 2015-10-20 15:54:44 +11:00
Andrew Tridgell 279a320f44 Tools: switch autobuild to 4.9 compiler 2015-10-20 15:28:13 +11:00
Philippe Hamelin 3af95cc3da scripts: add catkin_pkg and python-empy to Ubuntu prerequisites 2015-10-08 15:30:10 +09:00
Lucas De Marchi 6cf1c5fdd6 Tools: add raspilot to travis builds 2015-09-24 15:31:32 +10:00
Grant Morphett f871f040fb scripts: Adding AT to autotest build 2015-09-16 09:24:29 +09:00
Grant Morphett 00e6cd40e5 scripts: Support to build for frame specific tags
The driver for this is to separate the Copter and TradHeli builds so
Copter and TradHeli do not have to be released at the same time.  This
will also work for all frame times but it is anticipated only required
by Heli.
2015-09-08 09:05:43 +10:00
Grant Morphett ccfefac2fe build_all: Remove the all target as it just builds SITL. 2015-08-31 20:45:11 +09:00
Grant Morphett 2769487ac0 build_all: Need to remove APM2 from the default master build 2015-08-31 18:31:43 +10:00
Grant Morphett c0a28c45f8 scripts: using the wrong variable for the board type 2015-08-28 12:00:07 +10:00
Andrew Tridgell b03c6137a8 Travis: don't do APM2 build in travis any more
we no longer require APM2 compatibility for patches in master
2015-08-28 10:42:45 +10:00
Andrew Tridgell 81d4864c10 autotest: added more autotest build logging 2015-08-27 12:03:28 +10:00
Andrew Tridgell b966f7fc3e autotest: ensure we start on master branch 2015-08-27 12:03:14 +10:00
Lucas De Marchi a2d17b87c7 Tools: add realpath to ubuntu prerequisites
The realpath tool may be missing on a Ubuntu distro and we use it in
sim_vehicle.sh.  Make sure it's also installed as part of sitl packages.

On Archlinux it's part of the coreutils package which is part of the
base group. Therefore it's guaranteed to be available.

Fix #2730.
2015-08-23 11:14:53 +09:00
Andrew Tridgell 1cd5b9da9b scripts: use AVR specific branches for builds for APM1/APM2 2015-08-20 10:45:00 +10:00
Lucas De Marchi 1f90d43c57 Tools: allow script to fixup a single file
Instead of always trying to fix the entire tree, accept paths in the
command line so it only fixes that paths. This allows to easily rebase a
branch after the header changes, without touching the rest of the tree.
2015-08-18 17:12:52 +10:00
squilter 79efad339f Tools: add ccache setup to arch setup script 2015-08-12 14:29:51 -07:00
squilter a112e08e42 Tools: add script to set up Arch Linux 2015-08-12 14:29:48 -07:00
Gustavo Jose de Sousa ae9a314295 Tools: add script for standardize includes of libraries headers 2015-08-11 16:38:25 +10:00
squilter c5550329a3 Tools: fix ubuntu prereqs script to force python2 2015-07-18 13:48:29 +09:00
squilter 506970fbd3 Tools: Add Bebop prereqs to Ubuntu script 2015-07-14 18:10:56 +09:00
Andrew Tridgell 42023eb17a autotest: check for .gitmodules before ldir check
another attempt to get build_binaries going
2015-06-26 11:32:15 +10:00
Andrew Tridgell 48828a7834 autotest: more changes to cope with older builds without submodules 2015-06-24 09:36:21 +10:00
Andrew Tridgell fd17a69cd1 autotest: skip binary builds without submodules
the build_binaries is trying to build for navio and pxf without
submodules
2015-06-23 21:43:44 +10:00
Andrew Tridgell 63895cbe75 autotest: build pxf and navio binaries for firmware.diydrones.com 2015-06-23 14:27:49 +10:00
Lucas De Marchi ac09a61238 Travis: split build by target instead of vehicle
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.
2015-06-17 09:26:04 +10:00
Lucas De Marchi a435269839 Travis: make most targets run with -j2
As documented in Travis the VMs have 1.5 cores
(http://docs.travis-ci.com/user/speeding-up-the-build/#Parallelizing-your-build-on-one-VM).
So let's make it only -j2.

The exception is PX4 build that runs without any -j setting since NuttX
fails to build if we do that.
2015-06-17 09:26:04 +10:00
Lucas De Marchi 985764fb1c Travis: build APMrover2 and AntennaTracker for apm2 2015-06-17 09:26:03 +10:00
Lucas De Marchi 5c5bdc2c7b Travis: use associative arrays
This makes the script be more declarative and easier to extend.
2015-06-17 09:26:03 +10:00
Lucas De Marchi ae40aed2a2 Travis: split build using vehicle types
Travis build is timing out because it's taking too much time. Let's
split the build so 1) they can run concurrently and 2) we don't timeout.
We still lose some time due to multiple checkouts, but at least we don't
fail the build due to timeout.
2015-06-17 09:26:03 +10:00
Lucas De Marchi a124fbc4c2 Travis: don't build same configuration multiple times
In ArduPlane "make all" is the same as "make sitl" and both sitl and
linux are already covered by the loop below.  Don't build the same
configuration multiple times.
2015-06-17 09:26:03 +10:00
Andrew Tridgell 22d5d2e251 scripts: fixed build_binaries for submodules
no longer have PX4_ROOT
2015-06-15 06:54:02 +10:00
Staroselskii Georgii c0dceb667d Travis: reduced number of threads used for a build 2015-06-11 16:27:51 +10:00
Andrew Tridgell 57cef63b94 autotest: enable submodule build for binaries 2015-06-09 16:57:30 +10:00
Andrew Tridgell 28ffd9d4ed travis: setup for git submodules 2015-06-09 16:51:55 +10:00
Andrew Tridgell e233376074 scripts: don't build VARTest example 2015-06-01 17:07:09 +10:00
Andrew Tridgell d00f1c0d4d scripts: fixed handling of no-pde for fw version 2015-05-22 16:07:43 +10:00
Andrew Tridgell 332fdbbbea Scripts: removed 'make configure' 2015-05-21 10:54:19 +10:00
Andrew Tridgell be8ebd5802 travis: don't require apm1-nologging to work 2015-05-15 17:55:50 +10:00
Andrew Tridgell 7d3b3533e4 autotest: updated wiki page names for auto-generated parms 2015-05-08 16:38:17 +10:00
Staroselskii Georgii 33aa05d7b3 Travis: NavIO compiler fix 2015-05-05 15:08:59 +10:00
Andrew Tridgell d1de89f933 Travis: disable navio build due to another travis compiler bug 2015-04-28 14:50:10 +10:00
Staroselskii Georgii 9517bb3049 Travis: added navio target 2015-04-28 11:43:56 +10:00
Andrew Tridgell 4fe39c67b4 Build: use git checkout -f
this is an attempt to avoid CRLF attributes breakage with builds
2015-04-20 08:59:50 +10:00
Lucas De Marchi 5d69e2027c Travis: install gcc-multilib to get dependency libraries
We are failing to execute arm-none-eabi-gcc due to missing 32 bits
libraries in travis. Install gcc-multilib so we get all of them.

This commit also calls this version of gcc in the end of
install-travis-env.sh so if it's to fail, force it to fail early on.
2015-04-14 09:07:31 +10:00
Andrew Tridgell 793a212d28 Travis: removed script breakage 2015-04-06 15:29:57 -07:00
Andrew Tridgell 094910d7e4 Travis: more debugging code 2015-04-05 21:17:20 -07:00
Andrew Tridgell 991d111d91 Travis: another attempt at fixing compiler path 2015-04-05 12:24:54 -07:00
Andrew Tridgell 7048836d1e Travis: make arm compiler install unconditional 2015-04-05 10:57:17 -07:00
Andrew Tridgell 1315ed7ddf Travis: allow upgrade to gcc 4.8 to fail 2015-04-05 09:43:57 -07:00
Andrew Tridgell 1cdaacdaa1 autotest: avoid a px4-clean for each vehicle type 2015-03-25 22:36:05 -07:00
Andrew Tridgell 58a1ead765 autotest: speed up build_binaries a bit
don't need to rebuild from scratch for copter
2015-03-25 22:33:31 -07:00
Andrew Tridgell 9ec9d58fb2 autotest: removed flymaple copter build
doesn't support NavEKF
2015-03-14 20:00:04 +11:00
Andrew Tridgell 0bafd33cfa autotest: disable remaining APM1 build for copter 2015-03-14 15:04:22 +11:00
Andrew Tridgell ac4b52a31c Build: removed HIL builds
now use HIL_MODE=1
2015-03-13 22:54:55 +11:00
Andrew Tridgell 472a50f9c2 Build: removed APM2 build for copter
no longer supported
2015-03-13 11:36:54 +11:00
Andrew Tridgell 0b261e8695 Travis: used sudo with pip 2015-03-13 10:54:59 +11:00
Andrew Tridgell de2c22b4b9 Travis: try to upgrade to g++ 4.8 2015-03-13 10:51:31 +11:00
Andrew Tridgell 2e6d79f449 Travis: disable droneapi and upgrade pip 2015-03-12 17:28:04 +11:00
Andrew Tridgell 67e10ff392 Travis: ignore failure of extra deb install 2015-03-12 17:28:04 +11:00
Andrew Tridgell c42a40553a Travis: install some extra packages for AVR 2015-03-12 12:50:30 +11:00
Andrew Tridgell dd5be8837a autotest: raise timeout 2015-02-19 21:49:43 +11:00
Andrew Tridgell 0b3118b3c4 Travis: more packages for new PX4 build 2015-02-14 12:31:49 +11:00
Andrew Tridgell 801c4d0a93 Build: disable board specific build tags
disable this until we work out why apm1/apm2 tags have re-appeared
2015-02-12 06:21:03 +11:00
Andrew Tridgell f69622f041 Travis: cope with setuptools upgrade failing 2015-02-11 21:18:35 +11:00
Jonathan Challinger 5059fc620c Build: add git hashes to .px4 files 2015-02-11 20:22:08 +11:00
Andrew Tridgell a118ac69c6 Travis: use separate pip commands to find travis issue 2015-02-08 22:11:57 +11:00
Andrew Tridgell 97d6543520 Travis: added install-travis-env.sh
this will be used for travis test builds, to avoid some issues with
pip install using the generic script
2015-02-08 21:59:58 +11:00
LukeMike a665037176 TOOLS: changed script for building single project 2015-02-02 08:44:01 +11:00
LukeMike 903f5d2211 TOOLS: changed permissions of scripts for building 2015-02-02 08:44:00 +11:00
Emile Castelnuovo 7795cb6929 Tools: update scripts to build all firmwares for all VR boards 2015-02-02 08:43:58 +11:00
LukeMike 2522709a78 Tools: added script to build all VirtualRobotix binaries 2015-02-02 08:43:57 +11:00
Andrew Tridgell 731678b0a1 Travis: test building without logging for plane 2015-01-17 10:46:01 +13:00
Andrew Tridgell c9b7d27b98 Travis: use px4-cleandep to make script more robust 2015-01-07 08:40:43 +11:00
Andrew Tridgell 1359e6d321 travis: we need a "make configure" at the start 2015-01-01 09:40:32 +11:00
Andrew Tridgell 494789054e travis: enable wide range of builds in Travis-CI 2015-01-01 09:32:25 +11:00
Andrew Tridgell 8d393c89d0 autotest: fixed bash syntax 2014-12-27 21:40:57 +11:00
Andrew Tridgell a9defa3508 autotest: build some examples for px4-v2 2014-11-28 18:15:30 +11:00
Andrew Tridgell 1c94559fa2 autotest: auto-update uavcan repo 2014-11-28 07:29:44 +11:00
Arthur Benemann 14c77adca9 Tools: Updated gcc-arm compiler to version 4_7-2014q2
As suggested in the thread at the following link:
https://groups.google.com/forum/#!topic/drones-discuss/hiD23c3w6xQ
2014-11-14 10:47:19 +11:00
Andrew Tridgell ce4da9b09c autotest: raise timeout again 2014-11-14 10:26:18 +11:00
Andrew Tridgell e49cd68b83 autotest: save core and elf files
try to catch floating pt exception causes
2014-11-13 17:27:02 +11:00
Andrew Tridgell 0738d75701 build_devrelease: build all frames for jons release 2014-11-06 07:16:30 +11:00
Andrew Tridgell 34a43b2d99 autotest: fixed backup of autotest .bin logs 2014-10-30 18:30:15 +11:00
Andrew Tridgell d95a1be3d6 scripts: fixed devrelease permissions 2014-10-30 12:32:42 +11:00
Andrew Tridgell c0f18272ed autotest: added developer build support
this creates firmware builds for developers in the devbuild directory
2014-10-30 11:12:17 +11:00
Andrew Tridgell b688577825 autotest: update compiler 2014-10-13 16:07:32 +11:00
Randy Mackay 946de4f644 Tools: build antenna tracker binary 2014-08-18 13:00:16 +09:00
Andrew Tridgell e66243f72e autotest: add AntennaTracker autodoc to autotest.diydrones.com/Parameters 2014-08-15 06:42:07 +10:00
Randy Mackay 8925c61ae4 Tools: build antenna tracker for firmware.diydrones.com 2014-08-14 20:56:09 +10:00
Randy Mackay db9750ee7a Tools: update build script for Antenna move 2014-08-14 20:56:03 +10:00
Andrew Tridgell caeb2c4d0d autotest: raise timeout to 7000 seconds 2014-08-14 14:29:16 +10:00
Andrew Tridgell 1ea1d9983d build: don't build examples for apm1 any more
so little APM1 development happening it is not worth it
2014-07-25 21:03:23 +10:00
Markus Koetter e06b3f3ff6 Travis-CI: add vrubrain-v51 target (Copter) 2014-07-15 11:50:09 +10:00
Arthur Benemann ff11b13f9c tools: In install-prereqs-ubuntu.sh add support for relative paths
Install the required projects (PX4*) in the same folder from where the script is called.
Install the arm toolchain at /opt
2014-07-15 11:47:01 +10:00
Arthur Benemann b76b090acd tools: Make install-prereqs-ubuntu.sh work with newer versions of Ubuntu
* Install libraries for 64bit Ubuntu systems.
* Less noise apt-get output
* Install packages required for SITL simulation
* Install pymavlink, MAVProxy and droneapi
* Remove modemmanager package
* Add autotest/ to the path
2014-07-15 11:46:58 +10:00
Andrew Tridgell e96ab86eab build: fixed directory handling in build_binaries.sh 2014-07-14 08:13:28 +10:00
Andrew Tridgell 35e905d003 build: added some debug 2014-07-13 21:19:29 +10:00
Andrew Tridgell 905e5a4d08 build: added vrbrain to build_all.sh script
useful for ensuring it will keep building
2014-04-08 21:27:53 +10:00
Matthew Lloyd 15b99300a2 build: fix paths in install-prereqs-ubuntu.sh
Also upgrade to the latest 2013q4 "GNU Tools for ARM
Embedded Processors" toolchain since the 2012q2 release
is no longer available for download.
2014-04-07 13:54:59 +10:00
Chris Mansley f9d262278f Tools: Update gcc-arm version from q2 to q4
This fixes the installation script since version q2 has been removed
from launchpad.
2014-04-07 13:47:14 +10:00
Andrew Tridgell c12e53189c autotest: added apm2-obc to build tests 2014-04-07 07:29:54 +10:00
Andrew Tridgell 314daabc9d scripts: test build of Replay in build_all.sh 2014-03-19 21:04:16 +11:00
Andrew Tridgell ff5bc7520c build: added AntennaTracker to build_all.sh
ensure it keeps working
2014-02-18 19:16:47 +11:00
Andrew Tridgell 604d7fce47 build: rover doesn't fit on APM1-1280 any more 2014-01-22 19:49:18 +11:00
Andrew Tridgell 89b083dd52 build: make build log a bit less verbose
don't show the whole commit patch
2014-01-22 19:46:04 +11:00
Andrew Tridgell 5a16d8067a build: better error reporting for failures in build_binaries.sh
this will make it easier to track down build failures
2014-01-22 19:00:15 +11:00
Andrew Tridgell 0b7e96b528 autotest: ensure old tags in PX4NuttX and PX4Firmware don't get used 2014-01-20 19:54:35 +11:00
Andrew Tridgell 58c66f255c build: added support for board specific tags in build_binaries
make it possible to build an APM2 specific build
2014-01-14 22:37:03 +11:00
Andrew Tridgell 0401e8f914 build: support vehicle-tag tags for PX4 builds 2014-01-14 15:59:02 +11:00
Andrew Tridgell b59f2d4326 build: put px4io elf files in build directory 2013-12-28 10:17:47 +11:00
Andrew Tridgell 504bdd8139 build: fixed build_all for heli 2013-11-13 09:12:02 +11:00
Andrew Tridgell ea09aebed0 autotest: raise timelimits again 2013-11-05 16:17:25 +11:00
wiseman 4aa7badd98 Updated build instructions & script.
Updated the README and the install-prereqs-ubuntu.sh script to reflect
changes in the PX4 build steps and the PX$ & NuttX repository used to
build ardupilot.
2013-10-22 00:33:45 -07:00
Andrew Tridgell be253c6cd9 build: fixed build_all.sh 2013-10-14 10:14:13 +11:00
Andrew Tridgell cdf813697a autotest: speed up build_all_px4.sh
only build archives once
2013-10-10 14:14:39 +11:00
Andrew Tridgell 453581b25a autotest: added linux build to build_all.sh 2013-10-01 12:11:50 +10:00