Skip to content
This repository was archived by the owner on Jun 30, 2022. It is now read-only.

Commit 3181f4c

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 62fc2c1 commit 3181f4c

File tree

2 files changed

+78
-0
lines changed

2 files changed

+78
-0
lines changed
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
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+
- name: Arduino_APDS9960
76+
sketch-paths: |
77+
- 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
Arduino library for the Perceptron algorithm.

0 commit comments

Comments
 (0)