Compile Examples #289
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Compile Examples | |
on: | |
pull_request: | |
paths: | |
- ".github/workflows/compile-examples.yml" | |
- "library.properties" | |
- "examples/**" | |
push: | |
paths: | |
- ".github/workflows/compile-examples.yml" | |
- "library.properties" | |
- "examples/**" | |
# Scheduled trigger checks for breakage caused by changes to external resources (libraries, platforms) | |
schedule: | |
# run every Saturday at 3 AM UTC | |
- cron: "0 3 * * 6" | |
# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows#workflow_dispatch | |
workflow_dispatch: | |
# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows#repository_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:mbed_portenta:envie_m7 | |
sketch-paths: | | |
- examples/BLE Connectivity on Portenta H7/PortentaBLE | |
- examples/Creating a Flash-Optimised Key-Value Store/FlashKeyValue | |
- examples/Creating GUIs with LVGL/lvglCounter | |
- examples/Dual Core Processing/BlinkRedLed | |
- examples/Dual Core Processing/BlinkRedLed_M7 | |
- examples/Portenta H7 as a USB Host/LEDKeyboardController | |
- examples/Portenta H7 as a WiFi Access Point/SimpleWebServer | |
- examples/Setting Up Portenta H7 For Arduino/Blink | |
- examples/Vision Shield to SD Card bmp/visionShieldBitmap | |
artifact-name-suffix: arduino-mbed_portenta-envie_m7 | |
- fqbn: arduino:mbed_portenta:envie_m7:target_core=cm4 | |
sketch-paths: | | |
- examples/Dual Core Processing/BlinkGreenLed_M4 | |
artifact-name-suffix: arduino-mbed_portenta-envie_m7-target_core-cm4 | |
- fqbn: arduino:mbed_edge:edge_control | |
sketch-paths: | | |
- examples/Edge Control Getting Started | |
artifact-name-suffix: arduino-mbed_edge-edge_control | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Compile examples | |
uses: arduino/compile-sketches@v1 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
fqbn: ${{ matrix.board.fqbn }} | |
libraries: | | |
# Install the library from the local path. | |
- source-path: ./ | |
# Install library dependencies. | |
- name: ArduinoBLE | |
- name: Arduino_EdgeControl | |
- name: lvgl | |
version: 7.11.0 | |
- name: Arduino_BHY2 | |
sketch-paths: | | |
# Sketches to compile for all boards | |
- examples/Dual Core Processing/BlinkBothCores | |
# Board-specific sketches | |
${{ matrix.board.sketch-paths }} | |
enable-deltas-report: true | |
sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }} | |
- name: Save memory usage change report as artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
if-no-files-found: error | |
name: sketches-report-${{ matrix.board.artifact-name-suffix }} | |
path: ${{ env.SKETCHES_REPORTS_PATH }} |