| # 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 |
| |
| dist: bionic |
| |
| _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 |