Commit Graph

40 Commits

Author SHA1 Message Date
Tom Rini 30719e2b92 travis-ci: Re-work i.MX6 jobs, clarify Freescale and AArch64
- The catch-all i.MX6 job has been exceeding the time limit again so
  split this up further.  We now have an i.MX6 job and an
  everything-else job.
- The logic we use to say "Freescale and AArch64" can be more clearly
  expressed with '&' rather than excluding various other things, so
  clear that up.

Signed-off-by: Tom Rini <trini@konsulko.com>
2017-03-20 10:21:27 -04:00
Tom Rini a0f3e3df4a travis-ci: Temporarily disable using a newer device tree compiler
For a long while dtc has warned about various constructs.  This is now
leading to log file size being exceeded in travis, and as the majority
of these errors need to be fixed in the kernel, switch to using the
stock device-tree-compiler package.

Signed-off-by: Tom Rini <trini@konsulko.com>
2017-02-26 15:25:30 -05:00
Tom Rini f2b0c007f8 travis-ci: Add swig and libpython-dev to the package list
As part of 1905c8fc71 we introduced failures depending on if swig and
libpython-dev are installed or not.  To provide coverage for this are of
code in the future ensure we have these packages installed.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
2017-01-24 10:35:57 -05:00
Tom Rini afdf09ac26 travis-ci: Split p1_p2_rdb_pc and p1010rdb into separate jobs
On occasion the job that does these two build types will hit the time
limit so split this in two.

Signed-off-by: Tom Rini <trini@konsulko.com>
2017-01-21 17:58:08 -05:00
Michal Simek 41122d374f travis-ci: Add zynq_zc702 target support
It depends on qemu v2.8.0-rc3 which includes device loader property.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2016-12-14 19:49:04 -05:00
Tom Rini 3c643fb01b travis-ci: Switch to building QEMU
First, there are a number of features in newer QEMU that will allow us
to test a wider range of platforms, so we want to use at least v2.8.0.
Second, making use of a PPA for QEMU fails from time to time.  So we
change to checking out and building a copy of QEMU when we know that we
are going to use test.py and need QEMU to be installed.  This adds
around 4 minutes per test.py job that we run.

Signed-off-by: Tom Rini <trini@konsulko.com>
2016-12-09 08:40:23 -05:00
Tom Rini 361a879902 Revert "Merge branch 'master' of git://www.denx.de/git/u-boot-microblaze"
This reverts commit 3edc0c2522, reversing
changes made to bb135a0180.
2016-12-09 07:56:54 -05:00
Michal Simek 3fd4de8840 travis-ci: Add zynq_zc702 target support
Signed-off-by: Michal Simek <michal.simek@xilinx.com>

Use embded option because of qemu

Use my repo till Stephen merge it.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2016-12-08 09:23:48 +01:00
Stefan Roese 0bf1bc4407 travis-ci: Build mvebu boards (arm & aarch64) in separate job
Its easier to watch the output of the build process when the platforms
specific boards are grouped in a separate job. This patch adds a job
for all mvebu boards (arm and aarch64).

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Tom Rini <trini@konsulko.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2016-12-05 11:04:42 -05:00
Tom Rini bb417f1c90 travis.yml: Split Freescale ARM job up more
In order to avoid running into the time limit, split the 32bit and 64bit
Freescale boards into separate jobs.  We could either pass
"freescale & armv8" to buildman or exclude all of the 32bit CPUs.  While
the former is shorter I fear the amount of possible escaping required
would make things less readable.

Signed-off-by: Tom Rini <trini@konsulko.com>
2016-11-30 19:31:10 -05:00
Tom Rini dbd5df89d6 travis.yml: Add samsung and rockchip builds
The catch-all job is failing due to time limits depending on factors out
of our control, so move Samsung and Rockchip boards into their own jobs
and then exclude them from the general ARM and AArch64 jobs.

Signed-off-by: Tom Rini <trini@konsulko.com>
2016-11-29 12:41:19 -05:00
Alexander Graf 0e4e38ae38 travis: Add efi_loader grub2 test
We have all the building blocks now to run arbitrary efi applications
in travis. The most important one out there is grub2, so let's add
a simple test to verify that grub2 still comes up.

Signed-off-by: Alexander Graf <agraf@suse.de>
2016-11-27 09:53:40 -05:00
Alexander Graf 78992845a0 Travis: Remove sleep test from integratorcp_cm926ejs-qemu test
Most of the time when running the sleep test in Travis for
the integratorcp_cm926ejs target I get errors like this:

  E       assert 2.999901056289673 >= 3

The deviation is tiny, but fails the overall build result. Since
the sleep test is not terribly important as gate keeper for travis
tests, let's just exclude it for this board.

Signed-off-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Tom Rini <trini@konsulko.com>
2016-11-27 09:53:40 -05:00
Alexander Graf e019660a08 travis: Add python path for environments
When running in travis-ci, we want to pass environment configuration to
the tests. These reside in a path available through PYTHONPATH, so let's
define that one to point to the unit test repo.

Signed-off-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Tom Rini <trini@konsulko.com>
2016-11-26 15:50:53 -05:00
Alexander Graf faec290f7e Travis: Expose build dir as variable
Some travis QEMU tests can transfer files between the build directory
and the guest U-Boot instance. For that to work, both need to have access
to the same directory.

This patch puts the current build path into an environment variable, so
that the environment generating python scripts can extract it from there
and read the respective files.

Signed-off-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Tom Rini <trini@konsulko.com>
2016-11-26 15:50:52 -05:00
Tom Rini baade496d1 travis-ci: Try harder to build all ARM targets
The way that we have things broken down currently allows for some
combinations of vendor or CPU to not be built.  To fix this, create a
new catch-all job that excludes everything we've built elsewhere.  For
the sake of simplicity we are allowing for the possibility of some
overlap between the vendor-based jobs and the CPU-based jobs.  While
we're in here, make a failed build provide the summary of failure.

Signed-off-by: Tom Rini <trini@konsulko.com>
2016-11-06 07:33:41 -05:00
Tom Rini 5eba31c38e travis.yml: Add in uniphier as a job, modify aarch64 builds a bit
- Add in system aarch64-linux-gnu toolchain
- Now that all VMs will have aarch64 available, don't exclude them from
  other jobs but instead exclude them from the catch-all aarch64 build
- Add JOB= to the Freescale/ARM build to be clear about what it does.
- Add uniphier as a stand-alone job

Signed-off-by: Tom Rini <trini@konsulko.com>
2016-10-31 10:13:18 -04:00
Stephen Warren 1fcf0ee9f1 travis-ci: build Tegra boards
ARMv7 Tegra boards aren't currently covered by any other travis-ci jobs.
Add a new job to build them.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
2016-10-29 09:00:00 -04:00
Stephen Warren 8304f05388 travis-ci: compile with buildman when running test/py
Use buildman to compile any U-Boot binary tested by test/py. This
re-uses all the work done elsewhere to make buildman work within
Travis-CI, in particular related to toolchain downloading and buildman
config file creation.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
2016-10-29 08:59:34 -04:00
Stephen Warren bf1c088937 travis-ci: don't invoke exit on success
Invoking exit prevents any subsequent build commands from running, and
future patches will add extra commands.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
2016-10-28 22:10:44 -04:00
Stephen Warren 440d8467a4 travis-ci: use buildman -P everywhere
This places build results into a board-specific directory rather than a
buildman-thread-specific directory. This is required so that we can
access the directory from test.py, and there's no risk of a particular
build's results being over-written by another build performed by the
same thread.

In theory, this can lead to slower builds when building many different
boards in a single buildman thread, since it removes the possibility of
incremental builds between boards. In practice however I didn't notice
longer build times when when enabling this option; if anything build
times decreased although I suspect that's simply due to general
variations in build performance across different machines within the
Travis CI infra-structure.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
2016-10-28 22:10:43 -04:00
Stephen Warren 2ded4bf9bb travis-ci: centralize ~/.buildman editing
Any time an x86 toolchain is used, we need to edit ~/.buildman to
reference it. Move the editing logic into a central place so that it
doesn't have to be duplicated everywhere that uses the x86 toolchain;
future patches will add additional cases where it's used.

It would be nice if we could unconditionally write all of ~/.buildman at
once. Unfortunately, buildman fails if any toolchain mentioned in a
toolchain-prefix entry doesn't exist, even if it doesn't need to use it
for the current build.

The sandbox/x86 build definition currently does nothing more than edit
~/.buildman; no builds are run. Fix this by not defining a custom script
for this build, and hence preventing that stanza from replacing the
default script.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
2016-10-28 22:10:43 -04:00
Stephen Warren 0c5145fc29 travis-ci: use correct exit code on errors
The phrase "if [ $? -ne 0 ]; then exit $?; fi" doesn't work correctly;
by the time the "exit" statement runs, $? has already been over-written
by the result of the [ command. Fix this by explicitly storing $? and
then using that stored value in both the test and the error-case exit
statement.

This change also converts from textual comparison to integer comparison,
since the exit code is an integer and there's no need to convert it to
a string for comparison.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
2016-10-28 22:10:43 -04:00
Stephen Warren 43a68e49e1 travis-ci: Use = not : when writing ~/.buildman
Travis CI seems to be confused when there's a colon in an echo command,
and this is currently worked around using a variable that contains the
text we want to echo. Use = syntax instead so that we can remove the
work-around; it's rather confusing until you find out what it's for.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
2016-10-28 22:10:42 -04:00
Stephen Warren f57146a88b travis-ci: remove duplicate build
There were two sub-jobs to build arm1136. Remove the duplicate.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2016-10-28 22:10:42 -04:00
Stephen Warren d7882210d3 travis-ci: set env vars to name jobs
Travis CI names sub-jobs after the first environment variable that is set
for a script. This doesn't produce meaningful results for any of the non-
buildman jobs. Add a dummy variable to give the jobs meaningful names.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2016-10-28 22:10:41 -04:00
Tom Rini 5ac5861c4b travis-ci: Add test.py for various qemu platforms
- Add a PPA for a more recent qemu (required for PowerPC to work)
- Add tests to run test.py for various QEMU platforms.  This relies on
  swarren's uboot-test-hooks repository to provide the abstractions.

Acked-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
2016-10-24 08:06:29 -04:00
Tom Rini c85b52e437 travis-ci: Drop 'TEST_CMD'
We don't need to use TEST_CMD in order to run tests.  We need a BUILDMAN
and TOOLCHAIN variable to avoid having to duplicate logic or write some
wrapper function.  But this makes the tests harder as we add more
complex examples.

Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
2016-10-24 08:06:28 -04:00
Tom Rini 76761e7fb2 travis-ci: Add more architectures
We can now build for microblaze, sh4 and xtensa.

Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
2016-10-24 08:06:28 -04:00
Tom Rini cd402e0159 travis-ci: Update toolchain and buildman usage
- Drop the 'cache' line, travis-ci says to not cache apt packages (and
  does not).
- Get the Ubuntu provided toolchain for ARM and PowerPC.
- Add more toolchain options that buildman can fetch.

Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
2016-10-24 08:06:28 -04:00
Tom Rini 4899210c73 travis-ci: Do not make buildman warnings fatal
We currently will always see a number of warnings due to device tree
issues.  These (and other warnings) should not make the build be marked
as failure so catch exit status 129 specifically and return 0 in that
case.

Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
2016-10-24 08:06:27 -04:00
Tom Rini 4084c7fa6b travis-ci: Use a git URI for dtc.git
Currently we fail to fetch the dtc.git tree due to an SSL issue within
the travis-ci environment.  The easiest fix here is to switch to a git
URI.

Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
2016-10-24 08:06:27 -04:00
Tom Rini 2bb76f33e9 travis-ci: Switch to Ubuntu 14.04 'Trusty Tahr'
In order to make other various improvements, update to the latest
environment travis-ci supports.

Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
2016-10-24 08:06:26 -04:00
Stephen Warren 07bf2122df Enable test/py for sandbox in Travis CI
This provides runtime test coverage in Travis, in addition to the existing
build coverage.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Roger Meier <r.meier@siemens.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
Acked-by: Simon Glass <sjg@chromium.org>
2016-02-15 20:58:27 +00:00
Stephen Warren e4c1b4d8c1 .travis.yml: explicitly request sudo
Without this, builds default to using new Travis CI infra-structure which
does no allow sudo. The builds need sudo in order to install the ELDK
compilers. Consequently, almost all builds fail without this.

I suspect that existing Travis CI users have not noticed this because
their accounts or builds have been grand-fathered into backwards-
compatible default settings, whereas I just set up a new build from
scratch and received new default settings.

Cc: Wolfgang Denk <wd@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Cc: Tom Rini <trini@ti.com>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Andreas Färber <afaerber@suse.de>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Heiko Schocher <hs@denx.de>
2016-02-08 10:10:50 -05:00
Roger Meier 050c7569b1 .travis.yml: rework according to new travis-ci infra
- install using addons.apt
- remove MAKEALL
- split mpc85xx boards
- remove TEST_CONFIG_CMD, just info
- fetch mips toolchain via buildman
- remove --list-error-boards param
- conditional script
- use TOOLCHAIN instead of INSTALL_TOOLCHAIN
- add aarch64
- enable notifications via email

Signed-off-by: Roger Meier <r.meier@siemens.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Cc: Tom Rini <trini@ti.com>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Andreas Färber <afaerber@suse.de>
Tested-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Acked-by: Heiko Schocher <hs@denx.de>
2016-02-01 17:08:43 -05:00
Heiko Schocher 8cb2101b90 travis.yml: add more targets to build on travis
- add more targets for building with buildman:
  - avr32
  - m68k

and while at it, sort the list alphabetical

Reviewed-by: Roger Meier <r.meier@siemens.com>
Signed-off-by: Heiko Schocher <hs@denx.de>
2015-03-17 12:12:46 -04:00
Heiko Schocher d9aa019784 travis.yml: some adaptions
- adapt to build with eldk-5.4
- add more targets for building with buildman:
  - freescale -x arm,m68k,aarch64
  - arm1136
  - arm1176
  - arm720t
  - arm920t
  - davinci
  - kirkwood

Signed-off-by: Heiko Schocher <hs@denx.de>
Reviewed-by: Roger Meier <r.meier@siemens.com>
2015-03-05 09:25:07 -05:00
Heiko Schocher 30d06bd2fd .travis.yml: remove 824x builds
remove powerpc 824x build, as this architecture not longer
exists.

Signed-off-by: Heiko Schocher <hs@denx.de>
2015-02-16 15:48:34 -05:00
Meier, Roger c7cb334d14 .travis.yml: build u-boot on travis-ci
Goal:
  - building all variants of U-Boot with multiple configurations
  - code quality checks and metrics
  - https://travis-ci.org/u-boot/u-boot/builds
2015-01-14 11:35:43 -05:00