summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: b3bc270e784bdcd2799cef9c6af15afaa54c614f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# Travis configuration file for downloading and building OP-TEE according to the
# instructions in build.git
language: bash

notifications:
  email:
    recipients:
      - op-tee@linaro.org
    on_success: change
    on_failure: always

dist: trusty
sudo: required
group: beta

cache:
  directories:
    - $HOME/.ccache

git:
  depth: 10

after_script:
  - ccache -s

before_install:
  - ccache -s
  - sudo dpkg --add-architecture i386
  - sudo apt-get update -qq
  # Package list taken from README.md
  - sudo apt-get install -qq -y android-tools-adb android-tools-fastboot autoconf automake bc bison build-essential cscope curl device-tree-compiler flex ftp-upload gdisk iasl libattr1-dev libc6:i386 libcap-dev libfdt-dev libftdi-dev libglib2.0-dev libhidapi-dev libncurses5-dev libpixman-1-dev libssl-dev libstdc++6:i386 libtool libz1:i386 make mtools netcat python-crypto python-serial python-wand unzip uuid-dev xdg-utils xterm xz-utils zlib1g-dev

install: true

env:
  - $REPO_PROJ=default
  - $REPO_PROJ=fvp
  - $REPO_PROJ=hikey
  - $REPO_PROJ=hikey960
  - $REPO_PROJ=juno
  - $REPO_PROJ=qemu_v8
  - $REPO_PROJ=rpi3

before_script:
  - mkdir -p $HOME/bin
  - cd $HOME/bin && wget https://storage.googleapis.com/git-repo-downloads/repo && chmod +x repo
  - export PATH=$HOME/bin:$PATH
  - mkdir -p $HOME/$REPO_PROJ

script:
  # Special case for FVP, since we check for the Foundation_Platformpkg folder
  # in the makefile.
  - if [ $REPO_PROJ == "fvp" ]; then mkdir -p $HOME/$REPO_PROJ/Foundation_Platformpkg; fi
  - cd $HOME/$REPO_PROJ && repo init -u https://github.com/OP-TEE/manifest.git -m $REPO_PROJ.xml </dev/null && repo sync -j2 --no-clone-bundle --no-tags --quiet
  # Fetch a local copy of dtc+libfdt to avoid issues with a possibly outdated libfdt-dev
  - if [ $REPO_PROJ == "qemu_v8" ]; then cd $HOME/$REPO_PROJ/qemu && git submodule update --init dtc; fi
  # Here we are using Travis environment variables to select the correct branch
  # based on either a pull request or a normal push.
  - |
        if [ "$TRAVIS_EVENT_TYPE" == "pull_request" ]; then
                slug=$TRAVIS_PULL_REQUEST_SLUG
                branch=$TRAVIS_PULL_REQUEST_BRANCH
        else
                slug=$TRAVIS_REPO_SLUG
                branch=$TRAVIS_BRANCH
        fi
  - cd $HOME/$REPO_PROJ/build && git remote add github_remote https://github.com/$slug && git remote update
  - cd $HOME/$REPO_PROJ/build && git checkout github_remote/$branch
  - cd $HOME/$REPO_PROJ/build && make -f toolchain.mk toolchains -j3 && make all -j`nproc`