-
Notifications
You must be signed in to change notification settings - Fork 80
/
Copy path.travis.yml
126 lines (125 loc) · 4.38 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
language: generic
matrix:
include:
- env:
- BOARD="arduino:samd:mkr1000"
- env:
- BOARD="arduino:samd:mkrwifi1010"
- env:
- BOARD="arduino:samd:nano_33_iot"
- env:
- BOARD="arduino:samd:mkrgsm1400"
- env:
- BOARD="arduino:samd:mkrwan1300"
- env:
- BOARD="arduino:samd:mkrnb1500"
- env:
- BOARD="esp8266:esp8266:huzzah"
- env:
- NAME=Spell Check
language: python
python: 3.6
# must define an empty before_install phase, otherwise the default one is used
before_install: true
install:
# https://github.com/codespell-project/codespell
- pip install codespell
script:
- codespell --skip="${TRAVIS_BUILD_DIR}/.git" --ignore-words="${TRAVIS_BUILD_DIR}/extras/codespell-ignore-words-list.txt" "${TRAVIS_BUILD_DIR}"
# default phases
before_install:
- mkdir -p "$HOME/bin"
- curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | BINDIR="$HOME/bin" sh
- export PATH="$PATH:$HOME/bin"
- arduino-cli core update-index --additional-urls http://arduino.esp8266.com/stable/package_esp8266com_index.json;
- if [[ "$BOARD" =~ "arduino:samd:" ]]; then
arduino-cli core install arduino:samd;
fi
- if [[ "$BOARD" =~ "esp8266:esp8266" ]]; then
arduino-cli core install esp8266:esp8266 --additional-urls http://arduino.esp8266.com/stable/package_esp8266com_index.json;
fi
- |
installLibrary() {
local -r repositoryFullName="$1"
local -r repositoryName="${repositoryFullName##*/}"
# clone repository to the libraries folder of the sketchbook
git clone https://github.com/${repositoryFullName} "${HOME}/Arduino/libraries/${repositoryName}"
cd "${HOME}/Arduino/libraries/${repositoryName}"
# get new tags from the remote
git fetch --tags
# checkout the latest tag
git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
cd "${TRAVIS_BUILD_DIR}"
}
- installLibrary arduino-libraries/ArduinoCloudThing
- installLibrary arduino-libraries/ArduinoECCX08
- installLibrary arduino-libraries/ArduinoBearSSL
- installLibrary arduino-libraries/ArduinoMqttClient
- installLibrary arduino-libraries/MKRGSM
- installLibrary arduino-libraries/MKRWAN
- installLibrary arduino-libraries/MKRNB
- installLibrary arduino-libraries/RTCZero
- installLibrary arduino-libraries/WiFi101
- installLibrary arduino-libraries/WiFiNINA
- installLibrary arduino-libraries/Ethernet
- installLibrary arduino-libraries/Arduino_ConnectionHandler
- installLibrary arduino-libraries/Arduino_DebugUtils
- |
buildSketch() {
local exitStatus=0
local example
for example in "$@"; do
arduino-cli compile --warnings all --fqbn "$BOARD" "${TRAVIS_BUILD_DIR}/examples/${example}" || {
exitStatus=$?
}
done
return $exitStatus
}
install:
- mkdir -p $HOME/Arduino/libraries
- ln -s $PWD $HOME/Arduino/libraries/.
script:
# Sketches to build for all boards
- |
if [ "$BOARD" == "arduino:samd:mkr1000" ] || \
[ "$BOARD" == "arduino:samd:mkrwifi1010" ] || \
[ "$BOARD" == "esp8266:esp8266:huzzah" ] || \
[ "$BOARD" == "arduino:samd:nano_33_iot"] || \
[ "$BOARD" == "arduino:samd:mkrgsm1400" ] || \
[ "$BOARD" == "arduino:samd:mkrnb1500" ] || \
[ "$BOARD" == "arduino:samd:mkrwan1300" ]; then
buildSketch \
"ArduinoIoTCloud-Advanced" \
"ArduinoIoTCloud-Basic" \
"utility/ArduinoIoTCloud_Travis_CI"
fi
# Sketches to build for selected boards
- |
if [ "$BOARD" == "arduino:samd:mkr1000" ] || [ "$BOARD" == "arduino:samd:mkrwifi1010" ] || [ "$BOARD" == "arduino:samd:nano_33_iot"]; then
buildSketch \
"utility/Provisioning" \
"utility/WiFi_Cloud_Blink"
fi
- |
if [ "$BOARD" == "arduino:samd:mkrgsm1400" ]; then
buildSketch \
"utility/Provisioning" \
"utility/GSM_Cloud_Blink"
fi
- |
if [ "$BOARD" == "arduino:samd:mkrnb1500" ]; then
buildSketch \
"utility/Provisioning" \
"utility/NB_Cloud_Blink"
fi
- |
if [ "$BOARD" == "esp8266:esp8266:huzzah" ]; then
buildSketch \
"utility/WiFi_Cloud_Blink_with_security_credentials"
fi
notifications:
webhooks:
urls:
- https://www.travisbuddy.com/
on_success: never
on_failure: always