168 lines
3.8 KiB
YAML
168 lines
3.8 KiB
YAML
# Licensed to the Apache Software Foundation (ASF) under one
|
|
# or more contributor license agreements. See the NOTICE file
|
|
# distributed with this work for additional information
|
|
# regarding copyright ownership. The ASF licenses this file
|
|
# to you under the Apache License, Version 2.0 (the
|
|
# "License"); you may not use this file except in compliance
|
|
# with the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing,
|
|
# software distributed under the License is distributed on an
|
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
# KIND, either express or implied. See the License for the
|
|
# specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
language: go
|
|
|
|
_addons: &addon_conf
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- gcc-multilib
|
|
- gcc-7-multilib
|
|
|
|
go:
|
|
- "1.12"
|
|
|
|
git:
|
|
depth: false
|
|
|
|
matrix:
|
|
include:
|
|
# Style checking
|
|
- os: linux
|
|
language: python
|
|
python:
|
|
- "3.5"
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- "python3-pip"
|
|
env:
|
|
- TEST=STYLE
|
|
- DEBUG=1
|
|
|
|
# newt build <targets>
|
|
- os: linux
|
|
addons: *addon_conf
|
|
env:
|
|
- TEST=BUILD_TARGETS
|
|
- VM_AMOUNT=4
|
|
- TARGET_SET=1
|
|
- os: linux
|
|
addons: *addon_conf
|
|
env:
|
|
- TEST=BUILD_TARGETS
|
|
- VM_AMOUNT=4
|
|
- TARGET_SET=2
|
|
- os: linux
|
|
addons: *addon_conf
|
|
env:
|
|
- TEST=BUILD_TARGETS
|
|
- VM_AMOUNT=4
|
|
- TARGET_SET=3
|
|
- os: linux
|
|
addons: *addon_conf
|
|
env:
|
|
- TEST=BUILD_TARGETS
|
|
- VM_AMOUNT=4
|
|
- TARGET_SET=4
|
|
|
|
# newt test all (Linux)
|
|
- os: linux
|
|
addons: *addon_conf
|
|
env:
|
|
- TEST=TEST_ALL
|
|
- VM_AMOUNT=2
|
|
- TARGET_SET=1
|
|
- os: linux
|
|
addons: *addon_conf
|
|
env:
|
|
- TEST=TEST_ALL
|
|
- VM_AMOUNT=2
|
|
- TARGET_SET=2
|
|
|
|
# ports
|
|
- os: linux
|
|
addons: *addon_conf
|
|
env:
|
|
- TEST=BUILD_PORTS
|
|
- VM_AMOUNT=1
|
|
- TARGET_SET=1
|
|
|
|
# newt test all
|
|
- os: osx
|
|
osx_image: xcode9.2
|
|
env:
|
|
- TEST=TEST_ALL
|
|
- VM_AMOUNT=3
|
|
- TARGET_SET=1
|
|
- os: osx
|
|
osx_image: xcode9.2
|
|
env:
|
|
- TEST=TEST_ALL
|
|
- VM_AMOUNT=3
|
|
- TARGET_SET=2
|
|
- os: osx
|
|
osx_image: xcode9.2
|
|
env:
|
|
- TEST=TEST_ALL
|
|
- VM_AMOUNT=3
|
|
- TARGET_SET=3
|
|
- os: windows
|
|
env:
|
|
- TEST=BUILD_TARGETS_WINDOWS
|
|
- VM_AMOUNT=1
|
|
- TARGET_SET=1
|
|
|
|
before_install:
|
|
- printenv
|
|
- export GOPATH=$HOME/gopath
|
|
- go version
|
|
|
|
install:
|
|
- git clone https://github.com/JuulLabs-OSS/mynewt-travis-ci $HOME/ci
|
|
- chmod +x $HOME/ci/*.sh
|
|
- |
|
|
if [ "${TEST}" == "STYLE" ]; then
|
|
pip3 install requests
|
|
else
|
|
$HOME/ci/${TRAVIS_OS_NAME}_travis_install.sh
|
|
fi
|
|
|
|
before_script:
|
|
- |
|
|
if [ "${TEST}" == "STYLE" ]; then
|
|
$HOME/ci/install_uncrustify.sh
|
|
else
|
|
newt version
|
|
gcc --version
|
|
if [ "${TEST}" != "TEST_ALL" ]; then arm-none-eabi-gcc --version; fi
|
|
cp -R $HOME/ci/mynewt-nimble-project.yml project.yml
|
|
mkdir -p targets
|
|
cp -R $HOME/ci/mynewt-nimble-targets targets
|
|
$HOME/ci/prepare_test.sh $VM_AMOUNT
|
|
mkdir -p repos && pushd repos/
|
|
git clone --depth=1 https://github.com/apache/mynewt-core apache-mynewt-core
|
|
git clone --depth=1 https://github.com/JuulLabs-OSS/mcuboot mcuboot
|
|
git clone --depth=1 https://github.com/apache/mynewt-mcumgr apache-mynewt-mcumgr
|
|
popd
|
|
fi
|
|
|
|
script:
|
|
- |
|
|
if [ "${TEST}" == "STYLE" ]; then
|
|
python3 $HOME/ci/check_style.py
|
|
else
|
|
$HOME/ci/run_test.sh
|
|
fi
|
|
|
|
cache:
|
|
directories:
|
|
- $HOME/TOOLCHAIN
|
|
- $HOME/Library/Caches/Homebrew
|