-
Notifications
You must be signed in to change notification settings - Fork 17
153 lines (144 loc) · 5.4 KB
/
compile-examples.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
name: Compile Examples
# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
on:
push:
paths:
- ".github/workflows/compile-examples.yml"
- "examples/**"
- "src/**"
pull_request:
paths:
- ".github/workflows/compile-examples.yml"
- "examples/**"
- "src/**"
schedule:
# Run every Tuesday at 8 AM UTC to catch breakage caused by changes to external resources (libraries, platforms).
- cron: "0 8 * * TUE"
workflow_dispatch:
repository_dispatch:
jobs:
build:
name: ${{ matrix.board.fqbn }}
runs-on: ubuntu-latest
env:
SKETCHES_REPORTS_PATH: sketches-reports
strategy:
fail-fast: false
matrix:
board:
- fqbn: arduino:avr:nano
platforms: |
- name: arduino:avr
softwareserial: true
artifact-name-suffix: arduino-avr-uno
- fqbn: arduino:avr:mega
platforms: |
- name: arduino:avr
softwareserial: true
artifact-name-suffix: arduino-avr-mega
- fqbn: arduino:avr:leonardo
platforms: |
- name: arduino:avr
softwareserial: true
artifact-name-suffix: arduino-avr-leonardo
- fqbn: arduino:megaavr:nona4809
platforms: |
- name: arduino:megaavr
softwareserial: true
artifact-name-suffix: arduino-megaavr-nona4809
- fqbn: arduino:sam:arduino_due_x_dbg
platforms: |
- name: arduino:sam
softwareserial: false
artifact-name-suffix: arduino-sam-arduino_due_x_dbg
- fqbn: arduino:samd:mkrzero
platforms: |
- name: arduino:samd
softwareserial: false
artifact-name-suffix: arduino-samd-mkrzero
- fqbn: arduino:mbed_portenta:envie_m7:target_core=cm4
platforms: |
- name: arduino:mbed_portenta
softwareserial: false
artifact-name-suffix: arduino-mbed_portenta-envie_m7-target_core-cm4
- fqbn: arduino:mbed_portenta:envie_m7
platforms: |
- name: arduino:mbed_portenta
softwareserial: false
artifact-name-suffix: arduino-mbed_portenta-envie_m7
- fqbn: arduino:mbed_nano:nano33ble
platforms: |
- name: arduino:mbed_nano
softwareserial: false
artifact-name-suffix: arduino-mbed_nano-nano33ble
- fqbn: arduino:mbed_nano:nanorp2040connect
platforms: |
- name: arduino:mbed_nano
softwareserial: false
artifact-name-suffix: arduino-mbed_nano-nanorp2040connect
- fqbn: arduino:mbed_nicla:nicla_vision
platforms: |
- name: arduino:mbed_nicla
softwareserial: false
artifact-name-suffix: arduino-mbed_nicla-nicla_vision
- fqbn: arduino:mbed_opta:opta
platforms: |
- name: arduino:mbed_opta
softwareserial: false
artifact-name-suffix: arduino-mbed_opta-opta
- fqbn: arduino:mbed_giga:giga
platforms: |
- name: arduino:mbed_giga
softwareserial: false
artifact-name-suffix: arduino-mbed_giga-giga
- fqbn: arduino:renesas_portenta:portenta_c33
platforms: |
- name: arduino:renesas_portenta
softwareserial: false
artifact-name-suffix: arduino-renesas_portenta-portenta_c33
- fqbn: arduino:renesas_uno:unor4wifi
platforms: |
- name: arduino:renesas_uno
softwareserial: false
artifact-name-suffix: arduino-renesas_uno-unor4wifi
- fqbn: arduino:esp32:nano_nora
platforms: |
- name: arduino:esp32
softwareserial: false
artifact-name-suffix: arduino-esp32-nano_nora
# Make board type-specific customizations to the matrix jobs
include:
- board:
# Boards with a SoftwareSerial library
softwareserial: true
# Compile these sketches in addition to the ones defined by env.UNIVERSAL_SKETCH_PATHS
sketch-paths: |
- examples/Arduino_Debug_Advance
- board:
softwareserial: false
sketch-paths: ""
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Compile examples
uses: arduino/compile-sketches@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
fqbn: ${{ matrix.board.fqbn }}
platforms: ${{ matrix.board.platforms }}
libraries: |
# Install the library from the local path.
- source-path: ./
# Additional library dependencies can be listed here.
# See: https://github.com/arduino/compile-sketches#libraries
sketch-paths: |
- examples/Arduino_Debug_Basic
${{ matrix.sketch-paths }}
enable-deltas-report: true
sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }}
- name: Save sketches report as workflow artifact
uses: actions/upload-artifact@v4
with:
if-no-files-found: error
path: ${{ env.SKETCHES_REPORTS_PATH }}
name: sketches-report-${{ matrix.board.artifact-name-suffix }}