Skip to content

Commit 282279c

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 c242e07 commit 282279c

File tree

2 files changed

+79
-0
lines changed

2 files changed

+79
-0
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
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:nona4809
41+
platforms: |
42+
- name: arduino:megaavr
43+
- fqbn: arduino:sam:arduino_due_x_dbg
44+
platforms: |
45+
- name: arduino:sam
46+
- fqbn: arduino:samd:mkrzero
47+
platforms: |
48+
- name: arduino:samd
49+
- fqbn: arduino:mbed_portenta:envie_m4
50+
platforms: |
51+
- name: arduino:mbed_portenta
52+
- fqbn: arduino:mbed_portenta:envie_m7
53+
platforms: |
54+
- name: arduino:mbed_portenta
55+
- fqbn: arduino:mbed_nano:nano33ble
56+
platforms: |
57+
- name: arduino:mbed_nano
58+
- fqbn: arduino:mbed_nano:nanorp2040connect
59+
platforms: |
60+
- name: arduino:mbed_nano
61+
62+
steps:
63+
- name: Checkout repository
64+
uses: actions/checkout@v2
65+
66+
- name: Compile examples
67+
uses: arduino/compile-sketches@v1
68+
with:
69+
github-token: ${{ secrets.GITHUB_TOKEN }}
70+
fqbn: ${{ matrix.board.fqbn }}
71+
platforms: ${{ matrix.board.platforms }}
72+
libraries: |
73+
# Install the library from the local path.
74+
- source-path: ./
75+
# Additional library dependencies can be listed here.
76+
# See: https://github.com/arduino/compile-sketches#libraries
77+
sketch-paths: |
78+
- examples

README.adoc

Lines changed: 1 addition & 0 deletions
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
This library allows an Arduino board to control RC (hobby) servo motors.

0 commit comments

Comments
 (0)