Skip to content

Commit 6878da8

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 8b46368 commit 6878da8

File tree

2 files changed

+70
-0
lines changed

2 files changed

+70
-0
lines changed
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
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:leonardo
32+
platforms: |
33+
- name: arduino:avr
34+
- fqbn: arduino:sam:arduino_due_x_dbg
35+
platforms: |
36+
- name: arduino:sam
37+
- fqbn: arduino:samd:mkrzero
38+
platforms: |
39+
- name: arduino:samd
40+
- fqbn: arduino:mbed_portenta:envie_m4
41+
platforms: |
42+
- name: arduino:mbed_portenta
43+
- fqbn: arduino:mbed_portenta:envie_m7
44+
platforms: |
45+
- name: arduino:mbed_portenta
46+
- fqbn: arduino:mbed_nano:nano33ble
47+
platforms: |
48+
- name: arduino:mbed_nano
49+
- fqbn: arduino:mbed_nano:nanorp2040connect
50+
platforms: |
51+
- name: arduino:mbed_nano
52+
53+
steps:
54+
- name: Checkout repository
55+
uses: actions/checkout@v2
56+
57+
- name: Compile examples
58+
uses: arduino/compile-sketches@v1
59+
with:
60+
github-token: ${{ secrets.GITHUB_TOKEN }}
61+
fqbn: ${{ matrix.board.fqbn }}
62+
platforms: ${{ matrix.board.platforms }}
63+
libraries: |
64+
# Install the library from the local path.
65+
- source-path: ./
66+
# Additional library dependencies can be listed here.
67+
# See: https://github.com/arduino/compile-sketches#libraries
68+
sketch-paths: |
69+
- 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 with USB capabilities to act as a keyboard.

0 commit comments

Comments
 (0)