Skip to content

Commit ebfacba

Browse files
committed
add arduino-ci.yml config documentation
1 parent 5f496c5 commit ebfacba

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

README.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,67 @@ Finally, there are some cases where you want to use a pin as a serial port. The
217217
assertEqual("Yes", state->digitalPin[myPin].toAscii(offset, bigEndian));
218218
```
219219

220+
## Overriding default build behavior
221+
222+
You can add `.arduino-ci.yml` files to the project directory (which will then apply to both `test/` and `examples/`), as well as to the `test/` directory and each example directory in `examples/`. All defined fields can be overridden.
223+
224+
You may define new platforms, or edit existing platform definitions:
225+
226+
```yaml
227+
platforms:
228+
bogo:
229+
board: fakeduino:beep:bogo
230+
package: potato:salad
231+
gcc:
232+
features:
233+
- omit-frame-pointer # becomes -fomit-frame-pointer flag
234+
defines:
235+
- HAVE_THING # becomes -DHAVE_THING flag
236+
warnings:
237+
- no-implicit # becomes -Wno-implicit flag
238+
flags:
239+
- -foobar # becomes -foobar flag
240+
241+
zero: ~ # undefines the `zero` board completely
242+
243+
esp8266: # redefines the existing esp8266
244+
board: esp8266:esp8266:booo
245+
package: esp8266:esp8266
246+
gcc:
247+
features:
248+
defines:
249+
warnings:
250+
flags:
251+
```
252+
253+
254+
For your example programs, you may set external libraries to be installed and included. You may also choose the platforms on which the compilation will be attempted:
255+
256+
```yaml
257+
compile:
258+
libraries:
259+
- "Adafruit FONA Library"
260+
platforms:
261+
- esp8266
262+
```
263+
264+
265+
For your unit tests, in addition to setting specific libraries and platforms, you may filter the list of test files that are compiled and tested. This may help speed up targeted testing.
266+
267+
```yaml
268+
unittest:
269+
testfiles:
270+
select:
271+
- "*-*.*"
272+
reject:
273+
- "sam-squamsh.*"
274+
libraries:
275+
- "abc123"
276+
- "def456"
277+
platforms:
278+
- bogo
279+
```
280+
220281
## More Documentation
221282
222283
This software is in alpha. But [SampleProjects/DoSomething](SampleProjects/DoSomething) has a decent writeup and is a good bare-bones example of all the features.

0 commit comments

Comments
 (0)