xref: /nrf52832-nimble/packages/NimBLE-latest/.travis.yml (revision 042d53a763ad75cb1465103098bb88c245d95138)
1# Licensed to the Apache Software Foundation (ASF) under one
2# or more contributor license agreements.  See the NOTICE file
3# distributed with this work for additional information
4# regarding copyright ownership.  The ASF licenses this file
5# to you under the Apache License, Version 2.0 (the
6# "License"); you may not use this file except in compliance
7# with the License.  You may obtain a copy of the License at
8#
9#  http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing,
12# software distributed under the License is distributed on an
13# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14# KIND, either express or implied.  See the License for the
15# specific language governing permissions and limitations
16# under the License.
17
18language: go
19
20_addons: &addon_conf
21  apt:
22    sources:
23      - ubuntu-toolchain-r-test
24    packages:
25      - gcc-multilib
26      - gcc-7-multilib
27
28go:
29  - "1.10"
30
31git:
32  depth: false
33
34matrix:
35  include:
36    # newt build <targets>
37    - os: linux
38      addons: *addon_conf
39      env:
40        - TEST=BUILD_TARGETS
41        - VM_AMOUNT=4
42        - TARGET_SET=1
43    - os: linux
44      addons: *addon_conf
45      env:
46        - TEST=BUILD_TARGETS
47        - VM_AMOUNT=4
48        - TARGET_SET=2
49    - os: linux
50      addons: *addon_conf
51      env:
52        - TEST=BUILD_TARGETS
53        - VM_AMOUNT=4
54        - TARGET_SET=3
55    - os: linux
56      addons: *addon_conf
57      env:
58        - TEST=BUILD_TARGETS
59        - VM_AMOUNT=4
60        - TARGET_SET=4
61
62    # newt test all (Linux)
63    - os: linux
64      addons: *addon_conf
65      env:
66        - TEST=TEST_ALL
67        - VM_AMOUNT=2
68        - TARGET_SET=1
69    - os: linux
70      addons: *addon_conf
71      env:
72        - TEST=TEST_ALL
73        - VM_AMOUNT=2
74        - TARGET_SET=2
75
76    # ports
77    - os: linux
78      addons: *addon_conf
79      env:
80        - TEST=BUILD_PORTS
81        - VM_AMOUNT=1
82        - TARGET_SET=1
83
84    # newt test all
85    - os: osx
86      osx_image: xcode9.2
87      env:
88        - TEST=TEST_ALL
89        - VM_AMOUNT=3
90        - TARGET_SET=1
91    - os: osx
92      osx_image: xcode9.2
93      env:
94        - TEST=TEST_ALL
95        - VM_AMOUNT=3
96        - TARGET_SET=2
97    - os: osx
98      osx_image: xcode9.2
99      env:
100        - TEST=TEST_ALL
101        - VM_AMOUNT=3
102        - TARGET_SET=3
103
104before_install:
105  - printenv
106  - export GOPATH=$HOME/gopath
107  - go version
108
109install:
110  - git clone https://github.com/runtimeco/mynewt-travis-ci $HOME/ci
111  - chmod +x $HOME/ci/*.sh
112  - $HOME/ci/${TRAVIS_OS_NAME}_travis_install.sh
113
114before_script:
115  - newt version
116  - gcc --version
117  - if [ "${TEST}" != "TEST_ALL" ]; then arm-none-eabi-gcc --version; fi
118  - cp -R $HOME/ci/mynewt-nimble-project.yml project.yml
119  - cp -R $HOME/ci/mynewt-nimble-targets targets
120  - $HOME/ci/prepare_test.sh $VM_AMOUNT
121  - mkdir -p repos && pushd repos/
122  - git clone https://github.com/apache/mynewt-core apache-mynewt-core
123  - popd
124
125script:
126  - $HOME/ci/run_test.sh
127
128cache:
129  directories:
130  - $HOME/TOOLCHAIN
131  - $HOME/Library/Caches/Homebrew
132