From 21b9a0e1e33f371026d6497ab3ce81ed9ea73db4 Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Fri, 10 Jan 2020 02:06:45 +0100 Subject: [PATCH] travis: Add .travis.yml Add basic Travis-CI .travis.yml, to let Travis CI run automated build tests. Change-Id: Iceae442c13f30b57842b300c0920108b614c75f7 Signed-off-by: Marek Vasut Reviewed-on: http://openocd.zylin.com/5414 Tested-by: jenkins Reviewed-by: Oleksij Rempel --- .travis.yml | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..da6b94c3f --- /dev/null +++ b/.travis.yml @@ -0,0 +1,91 @@ +# SPDX-License-Identifier: GPL-2.0+ +# Copyright Marek Vasut + +# OpenOCD on Travis CI - https://travis-ci.org/ + +sudo: required +dist: bionic + +arch: + - amd64 + - arm64 + - ppc64le + - s390x + +addons: + apt: + sources: + - sourceline: 'ppa:ubuntu-toolchain-r/test' + - sourceline: 'deb https://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main' + key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' + packages: + - libftdi-dev + - libhidapi-dev + - libjaylink-dev + +env: + - CC=gcc-9 + - CC=clang-9 + +language: c + +git: + depth: 1 + autocrlf: input + +script: + - $mingw64 ${CC} --version + - $mingw64 env + - $mingw64 ./bootstrap + - $mingw64 ./configure + - $mingw64 make + +before_install: + - |- + case $TRAVIS_OS_NAME in + linux) + sudo apt install ${CC} libusb-1.0-0-dev + ;; + osx) + brew install libtool automake libusb libusb-compat hidapi libftdi + ;; + windows) + [[ ! -f C:/tools/msys64/msys2_shell.cmd ]] && rm -rf C:/tools/msys64 + choco uninstall -y mingw + choco upgrade --no-progress -y msys2 + export msys2='cmd //C RefreshEnv.cmd ' + export msys2+='& set MSYS=winsymlinks:nativestrict ' + export msys2+='& C:\\tools\\msys64\\msys2_shell.cmd -defterm -no-start' + export mingw64="$msys2 -mingw64 -full-path -here -c \$\* --" + export msys2+=" -msys2 -c \$\* --" + $msys2 pacman --sync --noconfirm --needed mingw-w64-x86_64-toolchain autoconf autoconf-archive automake automake-wrapper binutils gcc gettext git libtool m4 make pkg-config tcl texinfo mingw-w64-x86_64-libusb mingw-w64-x86_64-libusb-compat-git mingw-w64-x86_64-libjaylink-git mingw-w64-x86_64-libftdi mingw-w64-x86_64-hidapi mingw-w64-x86_64-clang + ## FIXME: Also build for i686? + ## Install more MSYS2 packages from https://packages.msys2.org/base here + taskkill //IM gpg-agent.exe //F # https://travis-ci.community/t/4967 + export PATH=/C/tools/msys64/mingw64/bin:$PATH + export MAKE=mingw32-make # so that Autotools can find it + ;; + esac + +before_cache: +- |- + case $TRAVIS_OS_NAME in + windows) + # https://unix.stackexchange.com/a/137322/107554 + $msys2 pacman --sync --clean --noconfirm + ;; + esac + +cache: + directories: + - $HOME/AppData/Local/Temp/chocolatey + - /C/tools/msys64 + +matrix: + include: + - os: osx + env: + - CC=clang + - os: windows + env: + - CC=gcc