Skip to content

testing away

testing away #22

name: Compile Examples
on:
pull_request:
paths:
- ".github/workflows/compile-examples.yml"
- "cores/**"
- "extras/**"
- "libraries/**"
- "variants/**"
- "boards.txt"
- "platform.txt"
push:
paths:
- ".github/workflows/compile-examples.yml"
- "cores/**"
- "extras/**"
- "libraries/**"
- "variants/**"
- "boards.txt"
- "platform.txt"
jobs:
compile-test:
runs-on: ubuntu-latest
permissions: {}
env:
# sketch paths to compile (recursive) for all boards
UNIVERSAL_SKETCH_PATHS: |
- libraries/AnalogWave
# - libraries/Arduino_CAN/examples/CANRead
# - libraries/Arduino_CAN/examples/CANWrite
# - libraries/Arduino_FreeRTOS
- libraries/EEPROM
# - libraries/RTC/examples/RTC_AutomaticExample
# - libraries/RTC/examples/RTC_PeriodicExample
# - libraries/RTC/examples/Test_RTC
- libraries/SoftwareSerial
# - libraries/WDT
strategy:
fail-fast: false
matrix:
board: [
{"fqbn": "arduino-git:mock:mock_v1"},
]
# make board type-specific customizations to the matrix jobs
include:
- board:
fqbn: "arduino-git:renesas:portenta_c33"
additional-sketch-paths: |
- libraries/WiFi
- libraries/UsbMsd
- libraries/UsbHostMsd
- libraries/Storage
- libraries/SSLClient
- libraries/SE05X
- libraries/Ethernet
- libraries/Arduino_CAN/examples/CAN1Read
- libraries/Arduino_CAN/examples/CAN1Write
- libraries/RTC/examples/RTC_NTPSync
- libraries/RTC/examples/RTC_Alarm
- libraries/SFU
- board:
fqbn: "arduino:renesas_uno:unor4wifi"
additional-sketch-paths: |
- libraries/Arduino_LED_Matrix
- libraries/WiFiS3
- libraries/OTAUpdate
- board:
fqbn: "arduino-git:renesas:unor4wifi"
additional-sketch-paths: |
- libraries/Arduino_LED_Matrix
- libraries/WiFiS3
- libraries/OTAUpdate
- libraries/OPAMP
- libraries/SoftwareATSE
- libraries/Preferences
- board:
fqbn: "arduino-git:renesas:minima"
additional-sketch-paths: |
- libraries/OPAMP
steps:
- name: Checkout repository
uses: actions/checkout@v3
# The source files are in a subfolder of the ArduinoCore-API repository, so it's not possible to clone it directly to the final destination in the core
- name: Checkout ArduinoCore-API
uses: actions/checkout@v3
with:
repository: arduino/ArduinoCore-API
path: extras/ArduinoCore-API
- name: Check if API should be compiled in the core
id: checkapi
run: |
if [[ $(grep -r api platform.txt) ]]; then echo "::set-output name=IS_API::true"; fi
- name: Install ArduinoCore-API
run: rm "$GITHUB_WORKSPACE/cores/arduino/api" && mv "$GITHUB_WORKSPACE/extras/ArduinoCore-API/api" "$GITHUB_WORKSPACE/cores/arduino"
if: steps.checkapi.outputs.IS_API == 'true'
- name: Checkout Basic examples
uses: actions/checkout@v3
with:
repository: arduino/arduino-examples
path: examples
- name: Submodule update
run: git submodule init && git submodule update
- name: List files in core
run: tree ./
- name: Compile examples
uses: arduino/compile-sketches@v1
with:
fqbn: ${{ matrix.board.fqbn }}
libraries: |
# - name: Keyboard
# - name: Mouse
# - name: Servo
# - name: LiquidCrystal
# - name: CapacitiveSensor
# - name: Ethernet
# - name: ArduinoHttpClient
# - name: NTPClient
# - name: ArduinoMqttClient
# - name: Stepper
# - name: SD
# - name: Arduino_JSON
# - name: ArduinoBLE
# - name: Firmata
# - name: ArduinoModbus
# - name: ArduinoDMX
# - name: ArduinoRS485
# - name: ArduinoIoTCloud
# - name: ArduinoGraphics
platforms: |
# Use Board Manager to install the latest release of Arduino Renesas Boards to get the toolchain
# - name: "arduino:renesas_uno"
# - name: "arduino:renesas_portenta"
# Overwrite the Board Manager installation with the local platform
- source-path: "./"
name: "arduino-git:mock"
sketch-paths: |
${{ env.UNIVERSAL_SKETCH_PATHS }}
${{ matrix.additional-sketch-paths }}
enable-deltas-report: 'false'
verbose: 'true'
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Save memory usage change report as artifact
uses: actions/upload-artifact@v3
with:
name: sketches-reports
path: sketches-reports