Skip to content

Commit aba1f12

Browse files
authored
Address breaking changes from actions/upload-artifact@v4
See also: arduino/report-size-deltas#78
1 parent 078051c commit aba1f12

File tree

2 files changed

+63
-36
lines changed

2 files changed

+63
-36
lines changed

.github/workflows/arduino.yml

+60-36
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ on:
2828
env:
2929
SKETCHES_REPORTS_PATH: reports
3030
# Do not change the artifact name ... it's used in report_deltas action also...
31-
SKETCHES_REPORTS_ARTIFACT_NAME: sketches-reports
3231

3332
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
3433
jobs:
@@ -37,59 +36,83 @@ jobs:
3736
strategy:
3837
fail-fast: false
3938
matrix:
40-
fqbn:
41-
39+
board:
4240
# MegaCoreX is an Arduino-compatible alternative that some prefer for MegaAVR boards
43-
- MegaCoreX:megaavr:4809:pinout=48pin_standard,eeprom=erase,resetpin=reset,BOD=disabled,clock=internal_16MHz,bootloader=no_bootloader
41+
- fqbn: MegaCoreX:megaavr:4809:pinout=48pin_standard,eeprom=erase,resetpin=reset,BOD=disabled,clock=internal_16MHz,bootloader=no_bootloader
42+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: MegaCoreX_megaavr_4809
4443

4544
# # ATTinyCore BSP v2.x ...
4645
# # - ATTinyCore:avr:attinyx5:chip=85,clock=internal_8m,eesave=disable,softserial=txonly,bod=disable,millis=enabled
46+
# # ARTIFACT_SUFFIX: ATTinyCore_BSP_v2
4747

4848
# ATTinyCore BSP v1.x ...
4949
# Amazing! Arduino-compatible support for ATTiny chips!
50-
- ATTinyCore:avr:attinyx5:chip=85,LTO=enable,clock=8internal,eesave=disable,bod=disable,millis=enabled
50+
- fqbn: ATTinyCore:avr:attinyx5:chip=85,LTO=enable,clock=8internal,eesave=disable,bod=disable,millis=enabled
51+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: ATTinyCore_avr_attinyx5
5152

5253
# Arduino AVR Boards
53-
- arduino:avr:uno # Arduino Uno
54-
- arduino:avr:nano # Arduino Nano
54+
- fqbn: arduino:avr:uno # Arduino Uno
55+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino_avr_uno
56+
- fqbn: arduino:avr:nano # Arduino Nano
57+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino__avr__nano
5558

5659
# Arduino MegaAVR Boards
57-
- arduino:megaavr:uno2018 # Arduino Uno WiFi Rev2
58-
- arduino:megaavr:nona4809 # Arduino Nano Every
60+
- fqbn: arduino:megaavr:uno2018 # Arduino Uno WiFi Rev2
61+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino__megaavr__uno2018
62+
- fqbn: arduino:megaavr:nona4809 # Arduino Nano Every
63+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino__megaavr__uno2018
5964

6065
# Arduino SAM Boards
61-
- arduino:sam:arduino_due_x_dbg # Arduino Due (Programming Port)
66+
- fqbn: arduino:sam:arduino_due_x_dbg # Arduino Due (Programming Port)
67+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino__sam__arduino_due
6268

6369
# Arduino SAMD Boards
64-
- arduino:samd:mkrzero # Arduino MKRZERO
65-
- arduino:samd:nano_33_iot # Arduino NANO 33 IoT
70+
- fqbn: arduino:samd:mkrzero # Arduino MKRZERO
71+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino_samd_mkrzero
72+
- fqbn: arduino:samd:nano_33_iot # Arduino NANO 33 IoT
73+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino__samd__nano_33_iot
6674

6775
# ESP8266 - Community-driven BSP support
68-
- esp8266:esp8266:generic # Generic ESP8266 Module
69-
- esp8266:esp8266:esp8285 # Generic ESP8285 Module
70-
- esp8266:esp8266:espduino # ESPDuino (ESP-13 Module)
71-
- esp8266:esp8266:espino # ESPino (ESP-12 Module)
72-
- esp8266:esp8266:d1_mini # LOLIN(WEMOS) D1 R2 & mini
76+
- fqbn: esp8266:esp8266:generic # Generic ESP8266 Module
77+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino__esp8266__generic
78+
- fqbn: esp8266:esp8266:esp8285 # Generic ESP8285 Module
79+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino__esp8266__esp8285
80+
- fqbn: esp8266:esp8266:espduino # ESPDuino (ESP-13 Module)
81+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino__esp8266__espduino
82+
- fqbn: esp8266:esp8266:espino # ESPino (ESP-12 Module)
83+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino__esp8266__espino
84+
- fqbn: esp8266:esp8266:d1_mini # LOLIN(WEMOS) D1 R2 & mini
85+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino__esp8266__d1_mini
7386

7487
# Espressif ESP32 BSP
75-
- esp32:esp32:esp32 # ESP32 Dev Module
76-
- esp32:esp32:esp32c3 # ESP32C3 Dev Module
77-
- esp32:esp32:esp32s2 # ESP32S2 Dev Module
78-
- esp32:esp32:esp32s3 # ESP32S3 Dev Module
88+
- fqbn: esp32:esp32:esp32 # ESP32 Dev Module
89+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino__esp32__esp32
90+
- fqbn: esp32:esp32:esp32c3 # ESP32C3 Dev Module
91+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino__esp32__esp32c3
92+
- fqbn: esp32:esp32:esp32s2 # ESP32S2 Dev Module
93+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino__esp32__esp32s2
94+
- fqbn: esp32:esp32:esp32s3 # ESP32S3 Dev Module
95+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino__esp32__esp32s3
7996

8097
# Arduino MBED-based devices
81-
- arduino:mbed_edge:edge_control # Arduino Edge Control
82-
- arduino:mbed_nano:nano33ble # Arduino Nano 33 BLE
83-
- arduino:mbed_nano:nanorp2040connect # Arduino Nano RP2040 Connect
84-
- arduino:mbed_portenta:envie_m7 # Arduino Portenta H7 (M7 core)
85-
# - arduino:mbed_portenta:envie_m4 # Arduino Portenta H7 (M4 core)
86-
- arduino:mbed_rp2040:pico # Raspberry Pi Pico
87-
- arduino:mbed_nicla:nicla_sense # Nicla Sense ME
88-
- arduino:mbed_nicla:nicla_vision # Nicla Vision
89-
90-
# # The following boards are explicitly NOT supported:
91-
# # Arduino Portenta X8 -- Requires custom library SerialRPC to use serial
92-
# # Arduino PRIMO -- Compiler does not support C++11
98+
- fqbn: arduino:mbed_edge:edge_control # Arduino Edge Control
99+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino__mbed_edge__edge_control
100+
- fqbn: arduino:mbed_nano:nano33ble # Arduino Nano 33 BLE
101+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino__mbed_nano__nano33ble
102+
- fqbn: arduino:mbed_nano:nanorp2040connect # Arduino Nano RP2040 Connect
103+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino__mbed_nano__nanorp2040connect
104+
- fqbn: arduino:mbed_portenta:envie_m7 # Arduino Portenta H7 (M7 core)
105+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino__mbed_portenta__envie_m7
106+
- fqbn: arduino:mbed_rp2040:pico # Raspberry Pi Pico
107+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino__mbed_rp2040__pico
108+
- fqbn: arduino:mbed_nicla:nicla_sense # Nicla Sense ME
109+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino__mbed_nicla__nicla_sense
110+
- fqbn: arduino:mbed_nicla:nicla_vision # Nicla Vision
111+
SKETCHES_REPORTS_ARTIFACT_SUFFIX: arduino__mbed_nicla__nicla_vision
112+
113+
# # The following boards are explicitly NOT supported:
114+
# # Arduino Portenta X8 -- Requires custom library SerialRPC to use serial
115+
# # Arduino PRIMO -- Compiler does not support C++11
93116

94117

95118
steps:
@@ -125,7 +148,7 @@ jobs:
125148
- name: Compile
126149
uses: arduino/compile-sketches@8fd840319c8c9b8617a42cc731092a3350599f35
127150
with:
128-
fqbn: ${{ matrix.fqbn }}
151+
fqbn: ${{ matrix.board.fqbn }}
129152
platforms: |
130153
- source-url: https://downloads.arduino.cc/packages/package_index.json
131154
name: arduino:avr
@@ -162,7 +185,8 @@ jobs:
162185
enable-warnings-report: true
163186

164187
- name: Upload sketches report as workflow artifact
165-
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce
188+
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808
166189
with:
167-
name: ${{ env.SKETCHES_REPORTS_ARTIFACT_NAME }}
190+
if-no-files-found: error
191+
name: sketches-report--${{ matrix.board.SKETCHES_REPORTS_ARTIFACT_SUFFIX }}
168192
path: ${{ env.SKETCHES_REPORTS_PATH }}

.github/workflows/report_deltas.yml

+3
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,6 @@ jobs:
2626

2727
- name: report size deltas
2828
uses: arduino/report-size-deltas@b4d8c019d98afa6a01cdb93fd7798d4b882c5277
29+
with:
30+
# This Perl regular expression matches names produced by the arduino build
31+
sketches-reports-source: ^sketches-reports--.+

0 commit comments

Comments
 (0)