Skip to content

Commit 1b4dab8

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 eba9843 commit 1b4dab8

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
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+
- "library.properties"
9+
- "examples/**"
10+
- "src/**"
11+
pull_request:
12+
paths:
13+
- ".github/workflows/compile-examples.yml"
14+
- "library.properties"
15+
- "examples/**"
16+
- "src/**"
17+
schedule:
18+
# Run every Tuesday at 8 AM UTC to catch breakage caused by changes to external resources (libraries, platforms).
19+
- cron: "0 8 * * TUE"
20+
workflow_dispatch:
21+
repository_dispatch:
22+
23+
jobs:
24+
build:
25+
name: ${{ matrix.board.fqbn }}
26+
runs-on: ubuntu-latest
27+
28+
strategy:
29+
fail-fast: false
30+
31+
matrix:
32+
board:
33+
- fqbn: arduino:mbed_nano:nanorp2040connect
34+
platforms: |
35+
- name: arduino:mbed_nano
36+
37+
steps:
38+
- name: Checkout repository
39+
uses: actions/checkout@v2
40+
41+
- name: Compile examples
42+
uses: arduino/compile-sketches@v1
43+
with:
44+
github-token: ${{ secrets.GITHUB_TOKEN }}
45+
fqbn: ${{ matrix.board.fqbn }}
46+
platforms: ${{ matrix.board.platforms }}
47+
libraries: |
48+
# Install the library from the local path.
49+
- source-path: ./
50+
# Additional library dependencies can be listed here.
51+
# See: https://github.com/arduino/compile-sketches#libraries
52+
sketch-paths: |
53+
- examples

0 commit comments

Comments
 (0)