Add Travis support - build toolchain, esptool2, all example projects
Toolchain & esptool2 are cached for quicker follow-up builds. Versioning of these is accomplished via commit variables in .travis.yml.
This commit is contained in:
parent
7f983bc474
commit
24ff83fc41
1 changed files with 62 additions and 0 deletions
62
.travis.yml
Normal file
62
.travis.yml
Normal file
|
@ -0,0 +1,62 @@
|
|||
language: c
|
||||
sudo: false
|
||||
env:
|
||||
# Target commit for https://github.com/pfalcon/esp-open-sdk/
|
||||
OPENSDK_COMMIT=b44afa47
|
||||
CROSS_ROOT="${HOME}/toolchain-${OPENSDK_COMMIT}"
|
||||
CROSS_BINDIR="${CROSS_ROOT}/bin"
|
||||
ESPTOOL2_COMMIT=92530bb8
|
||||
ESPTOOL2_BINDIR="${HOME}/esptool2-${ESPTOOL2_COMMIT}"
|
||||
PATH=${PATH}:${CROSS_BINDIR}:${ESPTOOL2_BINDIR}
|
||||
cache:
|
||||
directories:
|
||||
- ${CROSS_ROOT}
|
||||
- ${HOME}/.ccache
|
||||
- ${ESPTOOL2_BINDIR}
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- make
|
||||
- unrar
|
||||
- autoconf
|
||||
- automake
|
||||
- libtool
|
||||
- gcc
|
||||
- g++
|
||||
- gperf
|
||||
- flex
|
||||
- bison
|
||||
- texinfo
|
||||
- gawk
|
||||
- libncurses5-dev
|
||||
- libexpat1-dev
|
||||
- python
|
||||
- python-serial
|
||||
- sed
|
||||
- git
|
||||
|
||||
before_install:
|
||||
# Install a toolchain using esp-open-sdk (parts we need for this are the GNU toolchain and libhal)
|
||||
#
|
||||
# Adds hack of "{$HAS_TC} || -Buildstep-" to avoid rebuilding toolchain if it's already
|
||||
# installed from the cache. If this gets any more complex it should be spun out to a standalone shell script.
|
||||
- export HAS_TC="test -d ${CROSS_BINDIR}"
|
||||
- unset CC # Travis sets this due to "language: c", but it confuses autotools configure when cross-building
|
||||
- ${HAS_TC} || git clone --recursive https://github.com/pfalcon/esp-open-sdk.git
|
||||
- ${HAS_TC} || cd esp-open-sdk
|
||||
- ${HAS_TC} || git reset --hard ${OPENSDK_COMMIT}
|
||||
- ${HAS_TC} || git submodule update
|
||||
- ${HAS_TC} || sed -i "s/2.69/2.68/" lx106-hal/configure.ac # this is a nasty hack as Ubuntu Precise only has autoconf 2.68 not 2.69...
|
||||
- ${HAS_TC} || sed -r -i 's%TOOLCHAIN ?=.*%TOOLCHAIN=${CROSS_ROOT}%' Makefile
|
||||
- ${HAS_TC} || make STANDALONE=n
|
||||
- export HAS_ET2="test -f ${ESPTOOL2_BINDIR}/esptool2"
|
||||
- ${HAS_ET2} || git clone https://github.com/raburton/esp8266 ${HOME}/raburton
|
||||
- ${HAS_ET2} || make -C ${HOME}/raburton/esptool2
|
||||
- ${HAS_ET2} || mkdir -p ${ESPTOOL2_BINDIR}
|
||||
- ${HAS_ET2} || cp -a ${HOME}/raburton/esptool2/esptool2 ${ESPTOOL2_BINDIR}/
|
||||
|
||||
script:
|
||||
- cd ${TRAVIS_BUILD_DIR}
|
||||
# Remove ssid_config requirement for examples
|
||||
- sed -i "s%#warning%//#warning%" include/ssid_config.h
|
||||
- make -C examples/ build-examples CROSS="ccache xtensa-lx106-elf-"
|
Loading…
Reference in a new issue