| # 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-7-multilib |
| - linux-libc-dev:i386 |
| |
| 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 |
| |
| # RAT Report |
| - os: linux |
| language: python |
| python: |
| - "3.5" |
| env: |
| - TEST=RAT |
| - DEBUG=1 |
| |
| # newt build <targets> |
| - os: linux |
| env: |
| - TEST=BUILD_TARGETS |
| - VM_AMOUNT=4 |
| - TARGET_SET=1 |
| - os: linux |
| env: |
| - TEST=BUILD_TARGETS |
| - VM_AMOUNT=4 |
| - TARGET_SET=2 |
| - os: linux |
| env: |
| - TEST=BUILD_TARGETS |
| - VM_AMOUNT=4 |
| - TARGET_SET=3 |
| - os: linux |
| env: |
| - TEST=BUILD_TARGETS |
| - VM_AMOUNT=4 |
| - TARGET_SET=4 |
| |
| # newt build <blinky-for-BSP> |
| - os: linux |
| env: |
| - TEST=BUILD_BLINKY |
| - VM_AMOUNT=4 |
| - TARGET_SET=1 |
| - os: linux |
| env: |
| - TEST=BUILD_BLINKY |
| - VM_AMOUNT=4 |
| - TARGET_SET=2 |
| - os: linux |
| env: |
| - TEST=BUILD_BLINKY |
| - VM_AMOUNT=4 |
| - TARGET_SET=3 |
| - os: linux |
| env: |
| - TEST=BUILD_BLINKY |
| - VM_AMOUNT=4 |
| - TARGET_SET=4 |
| |
| # newt test all (Linux) |
| - os: linux |
| addons: *addon_conf |
| env: |
| - TEST=TEST_ALL |
| - VM_AMOUNT=3 |
| - TARGET_SET=1 |
| - os: linux |
| addons: *addon_conf |
| env: |
| - TEST=TEST_ALL |
| - VM_AMOUNT=3 |
| - TARGET_SET=2 |
| - os: linux |
| addons: *addon_conf |
| env: |
| - TEST=TEST_ALL |
| - VM_AMOUNT=3 |
| - TARGET_SET=3 |
| |
| # newt test all (osx) |
| - os: osx |
| osx_image: xcode9.2 |
| env: |
| - TEST=TEST_ALL |
| - VM_AMOUNT=3 |
| - TARGET_SET=1 |
| addons: |
| homebrew: |
| packages: |
| - gcc@5 |
| - os: osx |
| osx_image: xcode9.2 |
| env: |
| - TEST=TEST_ALL |
| - VM_AMOUNT=3 |
| - TARGET_SET=2 |
| addons: |
| homebrew: |
| packages: |
| - gcc@5 |
| - os: osx |
| osx_image: xcode9.2 |
| env: |
| - TEST=TEST_ALL |
| - VM_AMOUNT=3 |
| - TARGET_SET=3 |
| addons: |
| homebrew: |
| packages: |
| - gcc@5 |
| - os: windows |
| env: |
| - TEST=BUILD_TARGETS_WINDOWS |
| - VM_AMOUNT=1 |
| - TARGET_SET=1 |
| |
| before_install: |
| - printenv |
| - export GOPATH=$HOME/gopath |
| - if [ "${TEST}" != "RAT" && "${TEST}" != "STYLE" ]; then go version; fi |
| |
| install: |
| - git clone https://github.com/JuulLabs-OSS/mynewt-travis-ci $HOME/ci |
| - chmod +x $HOME/ci/*.sh |
| - | |
| if [ "${TEST}" == "RAT" ]; then |
| pip install requests |
| elif [ "${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 |
| elif [ "${TEST}" != "RAT" ]; then |
| newt version |
| gcc --version |
| if [ "${TEST}" != "TEST_ALL" ]; then arm-none-eabi-gcc --version; fi |
| cp -R $HOME/ci/mynewt-core-project.yml project.yml |
| mkdir -p targets |
| cp -R $HOME/ci/mynewt-core-targets targets |
| newt upgrade |
| # pass in the number of target sets |
| $HOME/ci/prepare_test.sh $VM_AMOUNT |
| fi |
| |
| script: |
| # the following list of targets are known to fail building blinky, or |
| # might have extra dependencies hard to provide, non-common toolchains, etc |
| # NOTE: "native" is here to avoid having to install gcc-multilib |
| - export IGNORED_BSPS="ci40 embarc_emsk hifive1 native-armv7 native-mips |
| pic32mx470_6lp_clicker pic32mz2048_wi-fire sensorhub |
| native dialog_cmac" |
| - | |
| if [ "${TEST}" == "STYLE" ]; then |
| python3 $HOME/ci/check_style.py |
| elif [ "${TEST}" == "RAT" ]; then |
| python $HOME/ci/check_license.py |
| else |
| $HOME/ci/run_test.sh |
| fi |
| |
| cache: |
| directories: |
| - $HOME/TOOLCHAIN |
| - $HOME/Library/Caches/Homebrew |