-
Notifications
You must be signed in to change notification settings - Fork 146
/
.travis.yml
243 lines (195 loc) · 22.5 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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
# This file is used to configure the Travis CI tests of MegaCore
env:
global:
# The Arduino IDE will be installed at APPLICATION_FOLDER/arduino
- APPLICATION_FOLDER="${HOME}/arduino-ide"
- SKETCHBOOK_FOLDER="${HOME}/Arduino"
- FULL_IDE_VERSION_LIST='("1.6.7" "1.6.9" "1.6.13" "1.8.6" "newest")'
matrix:
include:
- name: 'arduino-ci-script Extra Library Checks'
language: minimal
install:
# The Arduino IDE must be installed for check_keywords_txt to check the REFERENCE_LINK field
- install_ide "newest"
script:
# Check for common problems with the library structure
# https://github.com/per1234/arduino-ci-script#check_library_structure-basepath-depth
- check_library_structure "${TRAVIS_BUILD_DIR}/megaavr/libraries" '1'
# Check for common problems with library.properties
# https://github.com/per1234/arduino-ci-script#check_library_properties-searchpath-maximumsearchdepth
- check_library_properties "${TRAVIS_BUILD_DIR}/megaavr/libraries" '1'
# Check for common problems with keywords.txt
# https://github.com/per1234/arduino-ci-script#check_keywords_txt-searchpath-maximumsearchdepth
- check_keywords_txt "${TRAVIS_BUILD_DIR}/megaavr/libraries" '1'
# Override the default phase definition
after_script: true
- name: 'File Formatting Checks'
language: minimal
before_install: true
install: true
script:
# Check for UTF-8 BOM file encoding
- find "${TRAVIS_BUILD_DIR}" -path "${TRAVIS_BUILD_DIR}/.git" -prune -or -path "${TRAVIS_BUILD_DIR}/megaavr/cores/arduino/api" -prune -or -path "${TRAVIS_BUILD_DIR}/megaavr/travis-ci/arduino-ci-script" -prune -or -type f -exec grep --files-with-matches --binary-files=without-match $'\xEF\xBB\xBF' '{}' \; -exec echo 'UTF-8 BOM encoding detected.' \; -exec false '{}' +
# Check for files starting with a blank line
- find "${TRAVIS_BUILD_DIR}" -path "${TRAVIS_BUILD_DIR}/.git" -prune -or -path "${TRAVIS_BUILD_DIR}/megaavr/cores/arduino/api" -prune -or -path "${TRAVIS_BUILD_DIR}/megaavr/travis-ci/arduino-ci-script" -prune -or -path "${TRAVIS_BUILD_DIR}/megaavr/firmwares/MuxTO" -prune -or -type f -print0 | xargs --null --max-lines=1 bash -c 'head -1 "$0" | grep --binary-files=without-match --regexp="^$"; if [[ "$?" == "0" ]]; then echo "Blank line found at start of $0."; false; fi'
# Check for tabs
- find "${TRAVIS_BUILD_DIR}" -path "${TRAVIS_BUILD_DIR}/.git" -prune -or -path "${TRAVIS_BUILD_DIR}/megaavr/cores/arduino/api" -prune -or -path "${TRAVIS_BUILD_DIR}/megaavr/travis-ci/arduino-ci-script" -prune -or -path "${TRAVIS_BUILD_DIR}/megaavr/firmwares/MuxTO" -prune -or \( -not -name 'keywords.txt' -and -not -name '.gitmodules' -and -type f \) -exec grep --with-filename --line-number --binary-files=without-match --regexp=$'\t' '{}' \; -exec echo 'Tab found.' \; -exec false '{}' +
# Check for non-Unix line endings
- find "${TRAVIS_BUILD_DIR}" -path "${TRAVIS_BUILD_DIR}/.git" -prune -or -path "${TRAVIS_BUILD_DIR}/megaavr/cores/arduino/api" -prune -or -path "${TRAVIS_BUILD_DIR}/megaavr/travis-ci/arduino-ci-script" -prune -or -type f -exec grep --files-with-matches --binary-files=without-match --regexp=$'\r$' '{}' \; -exec echo 'Non-Unix EOL detected.' \; -exec false '{}' +
# Check for trailing whitespace
- find "${TRAVIS_BUILD_DIR}" -path "${TRAVIS_BUILD_DIR}/.git" -prune -or -path "${TRAVIS_BUILD_DIR}/megaavr/cores/arduino/api" -prune -or -path "${TRAVIS_BUILD_DIR}/megaavr/travis-ci/arduino-ci-script" -prune -or -type f -exec grep --with-filename --line-number --binary-files=without-match --regexp='[[:blank:]]$' '{}' \; -exec echo 'Trailing whitespace found.' \; -exec false '{}' +
# Check for extra blank lines at end of files
- find "${TRAVIS_BUILD_DIR}" -path "${TRAVIS_BUILD_DIR}/.git" -prune -or -path "${TRAVIS_BUILD_DIR}/megaavr/cores/arduino/api" -prune -or -path "${TRAVIS_BUILD_DIR}/megaavr/travis-ci/arduino-ci-script" -prune -or -path "${TRAVIS_BUILD_DIR}/megaavr/firmwares/MuxTO" -prune -or -type f -print0 | xargs --null --max-lines=1 bash -c 'tail -1 "$0" | grep --binary-files=without-match --regexp="^$"; if [[ "$?" == "0" ]]; then echo "Blank line found at end of $0."; false; fi'
# Check for files that don't end in a newline (https://stackoverflow.com/a/25686825)
- find "${TRAVIS_BUILD_DIR}" -path "${TRAVIS_BUILD_DIR}/.git" -prune -or -path "${TRAVIS_BUILD_DIR}/megaavr/cores/arduino/api" -prune -or -path "${TRAVIS_BUILD_DIR}/megaavr/travis-ci/arduino-ci-script" -prune -or -type f -print0 | xargs --null --max-lines=1 bash -c 'if test "$(grep --files-with-matches --binary-files=without-match --max-count=1 --regexp='.*' "$0")" && test "$(tail --bytes=1 "$0")"; then echo "No new line at end of $0."; false; fi'
after_script: true
- name: 'Spell Check'
language: python
python: 3.6
before_install: true
install:
# Install codespell
# https://github.com/codespell-project/codespell
- pip install codespell
script:
# In the event of a false positive, add the word in all lower case to /megaavr/travis-ci/codespell-ignore-words-list.txt
- codespell --ignore-words="${TRAVIS_BUILD_DIR}/megaavr/travis-ci/codespell-ignore-words-list.txt" --skip="${TRAVIS_BUILD_DIR}/.git","${TRAVIS_BUILD_DIR}/megaavr/cores/arduino/api","${TRAVIS_BUILD_DIR}/megaavr/travis-ci/arduino-ci-script","${TRAVIS_BUILD_DIR}/megaavr/firmwares/MuxTO" "${TRAVIS_BUILD_DIR}"
after_script: true
# Compilation tests
# Compile the "01.Basics" examples bundled with the Arduino IDE for every board configuration using the newest version of the Arduino IDE
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=3216' SKETCH_PATH="${APPLICATION_FOLDER}/arduino/examples/01.Basics" ALLOW_FAILURE='false' IDE_VERSION_LIST='newest'
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=1616' SKETCH_PATH="${APPLICATION_FOLDER}/arduino/examples/01.Basics" ALLOW_FAILURE='false' IDE_VERSION_LIST='newest'
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=816' SKETCH_PATH="${APPLICATION_FOLDER}/arduino/examples/01.Basics" ALLOW_FAILURE='false' IDE_VERSION_LIST='newest'
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${APPLICATION_FOLDER}/arduino/examples/01.Basics" ALLOW_FAILURE='false' IDE_VERSION_LIST='newest'
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=1606' SKETCH_PATH="${APPLICATION_FOLDER}/arduino/examples/01.Basics" ALLOW_FAILURE='false' IDE_VERSION_LIST='newest'
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=806' SKETCH_PATH="${APPLICATION_FOLDER}/arduino/examples/01.Basics" ALLOW_FAILURE='false' IDE_VERSION_LIST='newest'
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=406' SKETCH_PATH="${APPLICATION_FOLDER}/arduino/examples/01.Basics" ALLOW_FAILURE='false' IDE_VERSION_LIST='newest'
# Compile the "02.Digital" examples bundled with the Arduino IDE for every board configuration using the newest version of the Arduino IDE
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=3216' SKETCH_PATH="${APPLICATION_FOLDER}/arduino/examples/02.Digital" ALLOW_FAILURE='false' IDE_VERSION_LIST='newest'
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=1616' SKETCH_PATH="${APPLICATION_FOLDER}/arduino/examples/02.Digital" ALLOW_FAILURE='false' IDE_VERSION_LIST='newest'
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=816' SKETCH_PATH="${APPLICATION_FOLDER}/arduino/examples/02.Digital" ALLOW_FAILURE='false' IDE_VERSION_LIST='newest'
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${APPLICATION_FOLDER}/arduino/examples/02.Digital" ALLOW_FAILURE='false' IDE_VERSION_LIST='newest'
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=1606' SKETCH_PATH="${APPLICATION_FOLDER}/arduino/examples/02.Digital" ALLOW_FAILURE='false' IDE_VERSION_LIST='newest'
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=806' SKETCH_PATH="${APPLICATION_FOLDER}/arduino/examples/02.Digital" ALLOW_FAILURE='false' IDE_VERSION_LIST='newest'
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=406' SKETCH_PATH="${APPLICATION_FOLDER}/arduino/examples/02.Digital" ALLOW_FAILURE='false' IDE_VERSION_LIST='newest'
# Compile the "03:Analog" examples bundled with the Arduino IDE for every board configuration using the newest version of the Arduino IDE
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=3216' SKETCH_PATH="${APPLICATION_FOLDER}/arduino/examples/03.Analog" ALLOW_FAILURE='false' IDE_VERSION_LIST='newest'
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=1616' SKETCH_PATH="${APPLICATION_FOLDER}/arduino/examples/03.Analog" ALLOW_FAILURE='false' IDE_VERSION_LIST='newest'
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=816' SKETCH_PATH="${APPLICATION_FOLDER}/arduino/examples/03.Analog" ALLOW_FAILURE='false' IDE_VERSION_LIST='newest'
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${APPLICATION_FOLDER}/arduino/examples/03.Analog" ALLOW_FAILURE='false' IDE_VERSION_LIST='newest'
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=1606' SKETCH_PATH="${APPLICATION_FOLDER}/arduino/examples/03.Analog" ALLOW_FAILURE='false' IDE_VERSION_LIST='newest'
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=806' SKETCH_PATH="${APPLICATION_FOLDER}/arduino/examples/03.Analog" ALLOW_FAILURE='false' IDE_VERSION_LIST='newest'
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=406' SKETCH_PATH="${APPLICATION_FOLDER}/arduino/examples/03.Analog" ALLOW_FAILURE='false' IDE_VERSION_LIST='newest'
# Compile every example sketch for every library included with megaTinyCore for every board configuration and every installed IDE version
# ATtiny3216
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=3216' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# ATtiny1616
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=1616' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# ATtiny816
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=816' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# ATtiny416
# EEPROM library: some examples sketches fail due to exceeding the available memory
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/EEPROM/examples/eeprom_clear" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/EEPROM/examples/eeprom_crc" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# The eeprom_get example exceeds the available flash memory
#- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/EEPROM/examples/eeprom_get" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/EEPROM/examples/eeprom_iteration" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/EEPROM/examples/eeprom_put" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/EEPROM/examples/eeprom_read" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/EEPROM/examples/eeprom_update" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/EEPROM/examples/eeprom_write" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# SoftwareSerial library
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/SoftwareSerial/examples/SoftwareSerialExample" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# The TwoPortReceive example fails to compile for this chip due to exceeding the available flash memory
#- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/SoftwareSerial/examples/TwoPortReceive" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# SPI library
# The BarometricPressureSensor example fails to compile for this chip due to exceeding the available flash memory?
#- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/SPI/examples/BarometricPressureSensor" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/SPI/examples/DigitalPotControl" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# Wire library
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/Wire/examples/digital_potentiometer" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# The master_reader example fails to compile for this chip due to exceeding the available flash memory?
#- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/Wire/examples/master_reader" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/Wire/examples/master_writer" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# The SFRRanger_reader example fails to compile for this chip due to exceeding the available flash memory?
#- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/Wire/examples/SFRRanger_reader" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# The slave_receiver example fails to compile for this chip due to exceeding the available flash memory?
#- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/Wire/examples/slave_receiver" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/Wire/examples/slave_sender" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# ATtiny1606
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=1606' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# ATtiny806
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=806' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# ATtiny406
# EEPROM library: some examples sketches fail due to exceeding the available memory
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=406' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/EEPROM/examples/eeprom_clear" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=406' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/EEPROM/examples/eeprom_crc" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# The eeprom_get example exceeds the available flash memory
#- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=406' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/EEPROM/examples/eeprom_get" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=406' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/EEPROM/examples/eeprom_iteration" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=406' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/EEPROM/examples/eeprom_put" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=406' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/EEPROM/examples/eeprom_read" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=406' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/EEPROM/examples/eeprom_update" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=406' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/EEPROM/examples/eeprom_write" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# SoftwareSerial library
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/SoftwareSerial/examples/SoftwareSerialExample" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# The TwoPortReceive example fails to compile for this chip due to exceeding the available flash memory
#- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=416' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/SoftwareSerial/examples/TwoPortReceive" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# SPI library
# The BarometricPressureSensor example fails to compile for this chip due to exceeding the available flash memory?
#- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=406' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/SPI/examples/BarometricPressureSensor" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=406' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/SPI/examples/DigitalPotControl" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# Wire library
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=406' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/Wire/examples/digital_potentiometer" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# The master_reader example fails to compile for this chip due to exceeding the available flash memory?
#- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=406' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/Wire/examples/master_reader" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=406' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/Wire/examples/master_writer" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# The SFRRanger_reader example fails to compile for this chip due to exceeding the available flash memory?
#- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=406' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/Wire/examples/SFRRanger_reader" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# The slave_receiver example fails to compile for this chip due to exceeding the available flash memory?
#- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=406' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/Wire/examples/slave_receiver" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
- env: BOARD_ID='megaTinyCore:megaavr:atxy6:chip=406' SKETCH_PATH="${SKETCHBOOK_FOLDER}/hardware/megaTinyCore/megaavr/libraries/Wire/examples/slave_sender" ALLOW_FAILURE='false' IDE_VERSION_LIST="$FULL_IDE_VERSION_LIST"
# Global definitions to be used by all jobs that don't define their own
language: generic
before_install:
# Install the script used to simplify use of Travis CI for testing Arduino projects
- source "${TRAVIS_BUILD_DIR}/megaavr/travis-ci/arduino-ci-script/arduino-ci-script.sh"
# These functions can be used to get verbose output for debugging the script
# set_script_verbosity can be set to values from 0 - 2 (verbosity off - maximum verbosity)
#- set_script_verbosity 2
# Setting set_verbose_output_during_compilation to true is the same as File > Preferences > Show verbose output during > compilation (check) in the Arduino IDE
#- set_verbose_output_during_compilation "true"
- set_application_folder "$APPLICATION_FOLDER"
- set_sketchbook_folder "$SKETCHBOOK_FOLDER"
install:
# Check for board definition errors that don't affect compilation
- set_board_testing 'true'
# Check for library issues that don't affect compilation
- set_library_testing 'true'
# Install the IDE versions needed for the tests
- install_ide "$IDE_VERSION_LIST"
# Install megaTinyCore from the repository
- install_package
# Install Arduino megaAVR Boards so that the necessary tools are available
- install_package 'arduino:megaavr'
script:
# Verify every sketch in SKETCH_PATH using the environment variables set in the matrix
- build_sketch "$SKETCH_PATH" "$BOARD_ID" "$ALLOW_FAILURE" "$START_IDE_VERSION" "$END_IDE_VERSION"
after_script:
# Determine user name and repository name from TRAVIS_REPO_SLUG so the configuration will automatically adjust to forks
- USER_NAME="$(echo "$TRAVIS_REPO_SLUG" | cut -d'/' -f 1)"
- REPOSITORY_NAME="$(echo "$TRAVIS_REPO_SLUG" | cut -d'/' -f 2)"
# Commit a report of the job results to a folder named with the build number in the MegaCore branch of the Travis-build-outputs repository
- publish_report_to_repository "$REPORT_GITHUB_TOKEN" "https://github.com/${USER_NAME}/CI-Reports.git" "$REPOSITORY_NAME" "build_$(printf "%05d\n" "${TRAVIS_BUILD_NUMBER}")" 'false'
# Print a tab separated report of all sketch verification results to the log
- display_report
notifications:
email:
on_success: never
on_failure: always
webhooks:
urls:
- https://www.travisbuddy.com/
on_success: never
on_failure: always