Skip to content

Commit 011837c

Browse files
committed
Add "smoke test" examples compilation CI workflow
On every push or pull request that affects library source or example files, and periodically, compile all example sketches for the specified boards.
1 parent feda5e8 commit 011837c

File tree

2 files changed

+100
-0
lines changed

2 files changed

+100
-0
lines changed
+99
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
name: Compile Examples
2+
3+
# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
4+
on:
5+
push:
6+
paths:
7+
- ".github/workflows/compile-examples.yml"
8+
- "examples/**"
9+
- "src/**"
10+
pull_request:
11+
paths:
12+
- ".github/workflows/compile-examples.yml"
13+
- "examples/**"
14+
- "src/**"
15+
schedule:
16+
# Run every Tuesday at 8 AM UTC to catch breakage caused by changes to external resources (libraries, platforms).
17+
- cron: "0 8 * * TUE"
18+
workflow_dispatch:
19+
repository_dispatch:
20+
21+
jobs:
22+
build:
23+
name: ${{ matrix.board.fqbn }}
24+
runs-on: ubuntu-latest
25+
26+
strategy:
27+
fail-fast: false
28+
29+
matrix:
30+
board:
31+
- fqbn: arduino:avr:nano
32+
platforms: |
33+
- name: arduino:avr
34+
- fqbn: arduino:avr:mega
35+
platforms: |
36+
- name: arduino:avr
37+
- fqbn: arduino:avr:leonardo
38+
platforms: |
39+
- name: arduino:avr
40+
- fqbn: arduino:megaavr:uno2018
41+
platforms: |
42+
- name: arduino:megaavr
43+
- fqbn: arduino:megaavr:nona4809
44+
platforms: |
45+
- name: arduino:megaavr
46+
- fqbn: arduino:sam:arduino_due_x_dbg
47+
platforms: |
48+
- name: arduino:sam
49+
- fqbn: arduino:samd:arduino_zero_edbg
50+
platforms: |
51+
- name: arduino:samd
52+
- fqbn: arduino:samd:mkr1000
53+
platforms: |
54+
- name: arduino:samd
55+
- fqbn: arduino:samd:mkrzero
56+
platforms: |
57+
- name: arduino:samd
58+
- fqbn: arduino:samd:mkrwifi1010
59+
platforms: |
60+
- name: arduino:samd
61+
- fqbn: arduino:samd:mkrfox1200
62+
platforms: |
63+
- name: arduino:samd
64+
- fqbn: arduino:samd:mkrwan1300
65+
platforms: |
66+
- name: arduino:samd
67+
- fqbn: arduino:samd:mkrwan1310
68+
platforms: |
69+
- name: arduino:samd
70+
- fqbn: arduino:samd:mkrgsm1400
71+
platforms: |
72+
- name: arduino:samd
73+
- fqbn: arduino:samd:mkrnb1500
74+
platforms: |
75+
- name: arduino:samd
76+
- fqbn: arduino:samd:mkrvidor4000
77+
platforms: |
78+
- name: arduino:samd
79+
- fqbn: arduino:samd:nano_33_iot
80+
platforms: |
81+
- name: arduino:samd
82+
83+
steps:
84+
- name: Checkout repository
85+
uses: actions/checkout@v2
86+
87+
- name: Compile examples
88+
uses: arduino/compile-sketches@v1
89+
with:
90+
github-token: ${{ secrets.GITHUB_TOKEN }}
91+
fqbn: ${{ matrix.board.fqbn }}
92+
platforms: ${{ matrix.board.platforms }}
93+
libraries: |
94+
# Install the library from the local path.
95+
- source-path: ./
96+
# Additional library dependencies can be listed here.
97+
# See: https://github.com/arduino/compile-sketches#libraries
98+
sketch-paths: |
99+
- examples

README.adoc

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
= {repository-name} Library for Arduino =
55

66
image:https://github.com/{repository-owner}/{repository-name}/actions/workflows/check-arduino.yml/badge.svg["Check Arduino status", link="https://github.com/{repository-owner}/{repository-name}/actions/workflows/check-arduino.yml"]
7+
image:https://github.com/{repository-owner}/{repository-name}/actions/workflows/compile-examples.yml/badge.svg["Compile Examples status", link="https://github.com/{repository-owner}/{repository-name}/actions/workflows/compile-examples.yml"]
78
image:https://github.com/{repository-owner}/{repository-name}/actions/workflows/spell-check.yml/badge.svg["Spell Check status", link="https://github.com/{repository-owner}/{repository-name}/actions/workflows/spell-check.yml"]
89

910
With the Arduino Ethernet Shield, this library allows an Arduino board to connect to the internet.

0 commit comments

Comments
 (0)