# 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
      - joakim.bech@linaro.org
    on_success: change
    on_failure: always

dist: trusty
sudo: required
group: beta

cache:
  directories:
    - $HOME/reference
    - $HOME/.ccache

git:
  depth: 3

after_script:
  - ccache -s

before_install:
  - ccache -s
  - sudo dpkg --add-architecture i386
  - sudo apt-get update -qq
  # Taken from README.md + device-tree-compiler
  - 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 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=juno
  - $REPO_PROJ=mt8173-evb
  - $REPO_PROJ=qemu_v8
  - $REPO_PROJ=rpi3
  #- $REPO_PROJ=dra7xx # Cannot build this since it requires TI_SECURE_DEV_PKG

before_script:
  - mkdir $HOME/bin
  - cd $HOME/bin && wget https://storage.googleapis.com/git-repo-downloads/repo && chmod +x repo
  - export PATH=$HOME/bin:$PATH
  - cd $HOME/reference && git clone https://github.com/OP-TEE/build.git;
  - cd $HOME/reference/build && make -f toolchain.mk toolchains -j3;
  - cd $HOME/reference/toolchains && rm -f *.tar.gz && rm -rf $HOME/reference/build;

script:
  - mkdir -p $HOME/$REPO_PROJ
  # 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
  - cd $HOME/$REPO_PROJ && ln -s $HOME/reference/toolchains .
  - cd $HOME/$REPO_PROJ/build && make all -j2
