You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In this project, we define a workflow for each target platform. **If you're looking for an example you can copy from, take only `linux.yaml`.**
4
+
5
+
6
+
### Long version
7
+
8
+
The reason that all platforms are tested in _this_ project is to ensure that, as a framework, `arduino_ci` will run properly on any developer's personal workstation (regardless of OS).
9
+
10
+
For testing an individual Arduino library in the context of GitHub, [Linux is the cheapest option](https://docs.github.com/en/free-pro-team@latest/github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-github-actions) and produces results identical to the other OSes.
Copy file name to clipboardExpand all lines: REFERENCE.md
+15-1Lines changed: 15 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,6 +29,11 @@ This completely skips the compilation tests (of library examples) portion of the
29
29
This completely skips the compilation tests (of library examples) portion of the CI script. It does not skip the compilation of unit tests.
30
30
31
31
32
+
### `--skip-library-properties` option
33
+
34
+
This completely skips validation of entries in `library.properties`.
35
+
36
+
32
37
### `--testfile-select` option
33
38
34
39
This allows a file (or glob) pattern to be executed in your tests directory, creating a whitelist of files to test. E.g. `--testfile-select=test_animal_*.cpp` would match `test_animal_cat.cpp` and `test_animal_dog.cpp` (testing only those) and not `test_plant_rose.cpp`.
@@ -59,6 +64,11 @@ If set, testing will fail if no unit test files are detected (or if the director
59
64
If set, testing will fail if no example sketches are detected. This is to avoid communicating a passing status in cases where a commit may have accidentally moved or deleted the examples.
If set, testing will skip validating `library.properties` entries. This is to work around any possible bugs in `arduino_ci`'s interpretation of what is "correct".
70
+
71
+
62
72
## Indirectly Overriding Build Behavior (medium term use), and Advanced Options
63
73
64
74
For build behavior that you'd like to persist across commits (e.g. defining the set of platforms to test against, disabling a test that you expect to re-enable at some future point), a special configuration file called `.arduino-ci.yml` can be used. There are 3 places you can put them:
@@ -84,6 +94,8 @@ packages:
84
94
85
95
To define a platform called `bogo` that uses a board called `potato:salad:bogo` (based on the `potato:salad` family), set it up in the `plaforms:` section. Note that this will override any default configuration of `bogo` if it had existed in `arduino_ci`'s `misc/default.yml` file. If this board defines particular features in the compiler, you can set those here.
86
96
97
+
> Note that the platform names are arbitrary -- just keys in this yaml file and in the [`default.yml`](https://github.com/Arduino-CI/arduino_ci/blob/master/misc/default.yml) file included in this gem. That said, they are also case sensitive; defining the `bogo` platform will not let you refer to it as `Bogo` nor `BOGO`.
98
+
87
99
```yaml
88
100
platforms:
89
101
# our custom definition of the "bogo" platform
@@ -117,7 +129,9 @@ platforms:
117
129
### Control How Examples Are Compiled
118
130
119
131
Put a file `.arduino-ci.yml` in each example directory where you require a different configuration than default.
120
-
The `compile:` section controls the platforms on which the compilation will be attempted, as well as any external libraries that must be installed and included.
132
+
The `compile:` section controls the platforms on which the compilation will be attempted, as well as any external libraries that must be installed and included. This works by _overriding_ portions of the default configuration.
133
+
134
+
> Note that the platform names _must_ match (case-sensitive) the platform names in the underlying [`default.yml`](https://github.com/Arduino-CI/arduino_ci/blob/master/misc/default.yml), or else match platforms that you have defined yourself in your `.arduino-ci.yml` override.
0 commit comments