Skip to content

CI Compile Examples #63

CI Compile Examples

CI Compile Examples #63

name: CI Compile Examples
on:
pull_request:
paths:
- ".github/workflows/CI_compile_examples.yml"
- "Arduino_package/hardware/libraries/**"
- "Arduino_package/hardware/cores/**"
- "Arduino_package/hardware/variants/**"
push:
paths:
- ".github/workflows/CI_compile_examples.yml"
- "Arduino_package/hardware/libraries/**"
- "Arduino_package/hardware/cores/**"
- "Arduino_package/hardware/variants/**"
# workflow_dispatch event allows the workflow to be triggered manually
# See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows#workflow_dispatch
workflow_dispatch:
# repository_dispatch event allows the workflow to be triggered via the GitHub API
# See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows#repository_dispatch
repository_dispatch:
# weekly, Monday, 12 00 AM
schedule:
- cron: '0 12 * * 1'
jobs:
compile-examples_ubuntu:
name: ubuntu-latest - ${{ matrix.board.fqbn }}
runs-on: ubuntu-latest
# list of all examples
env:
examples-to-use: |
- Arduino_package/hardware/libraries/Analog
- Arduino_package/hardware/libraries/AudioCodec
- Arduino_package/hardware/libraries/BLE
- Arduino_package/hardware/libraries/Debugging
- Arduino_package/hardware/libraries/FatfsSDIO
- Arduino_package/hardware/libraries/FlashMemory
- Arduino_package/hardware/libraries/GPIO
- Arduino_package/hardware/libraries/GTimer
- Arduino_package/hardware/libraries/Http
- Arduino_package/hardware/libraries/IRDevice
- Arduino_package/hardware/libraries/MDNS
- Arduino_package/hardware/libraries/MQTTClient
- Arduino_package/hardware/libraries/NTPClient
- Arduino_package/hardware/libraries/OTA
- Arduino_package/hardware/libraries/PowerSave
#- Arduino_package/hardware/libraries/Preferences
- Arduino_package/hardware/libraries/RTC
- Arduino_package/hardware/libraries/SoftwareSerial
- Arduino_package/hardware/libraries/SPI
- Arduino_package/hardware/libraries/Sys
- Arduino_package/hardware/libraries/USB
- Arduino_package/hardware/libraries/Watchdog
- Arduino_package/hardware/libraries/WiFi/examples/ConcurrentMode
- Arduino_package/hardware/libraries/WiFi/examples/ConnectWithWiFi
- Arduino_package/hardware/libraries/WiFi/examples/HTTP_IFTTT_Post
- Arduino_package/hardware/libraries/WiFi/examples/IPv6TCPClient
- Arduino_package/hardware/libraries/WiFi/examples/IPv6TCPServer
- Arduino_package/hardware/libraries/WiFi/examples/IPv6UDPClient
- Arduino_package/hardware/libraries/WiFi/examples/IPv6UDPServer
- Arduino_package/hardware/libraries/WiFi/examples/ScanNetworks
- Arduino_package/hardware/libraries/WiFi/examples/ScanNetworksAdvanced
- Arduino_package/hardware/libraries/WiFi/examples/SimpleServerWiFi
- Arduino_package/hardware/libraries/WiFi/examples/SimpleWebServerWiFi
- Arduino_package/hardware/libraries/WiFi/examples/UDP_Calculation
- Arduino_package/hardware/libraries/WiFi/examples/WiFiAPMode
#- Arduino_package/hardware/libraries/WiFi/examples/WiFiControlCar
- Arduino_package/hardware/libraries/WiFi/examples/WiFiSSLClient
- Arduino_package/hardware/libraries/WiFi/examples/WiFiUdpNtpClient
- Arduino_package/hardware/libraries/WiFi/examples/WiFiUdpSendReceiveString
- Arduino_package/hardware/libraries/WiFi/examples/WiFiWebClient
- Arduino_package/hardware/libraries/WiFi/examples/WiFiWebServer
- Arduino_package/hardware/libraries/Wire
- Arduino_package/hardware/libraries/WS2812B
strategy:
fail-fast: false
matrix:
board:
- fqbn: Ameba_AMB21_AMB22
- fqbn: Ameba_AMB23
- fqbn: Ai-Thinker_BW16
- fqbn: SparkFun_ThingPlus-AWCU488
- fqbn: Ameba_AMB25
- fqbn: Ameba_AMB26
- fqbn: u-blox_NORA-W30
- fqbn: Sparkfun_ThingPlus-NORA-W306
steps:
- name: Exit workflow (other branches)
run: exit 1
if: ${{ github.ref != 'refs/heads/master' && github.ref != 'refs/heads/dev' && github.event.pull_request.base.ref != 'dev' && github.event.pull_request.base.ref != 'master'}}
- name: Checkout repository
uses: actions/checkout@v4
with:
sparse-checkout: |
Arduino_package
Arduino_zip_libraries
- name: Compile examples dev
uses: arduino/[email protected]
with:
fqbn: realtek:AmebaD:${{ matrix.board.fqbn }}
sketch-paths: |
${{ env['examples-to-use'] }}
platforms: |
# Install ambd_arduino via Boards Manager for the toolchain
- source-url: https://github.com/ambiot/ambd_arduino/raw/dev/Arduino_package/package_realtek_amebad_early_index.json
name: realtek:AmebaD
# Overwrite the ambd_arduino release version with the platform from the local path
- source-path: Arduino_package/hardware/
name: realtek:AmebaD
libraries: |
# The sketches typically don't have any external library dependencies, just some:
- source-url: https://github.com/ambiot/ambd_arduino/raw/dev/Arduino_zip_libraries/AmebaMotors.zip
- source-url: https://github.com/ambiot/ambd_arduino/raw/dev/Arduino_zip_libraries/AmebaEink.zip
- name: "SparkFun ADXL313 Arduino Library"
verbose: false
enable-deltas-report: false
if: ${{ github.ref == 'refs/heads/dev' || github.event.pull_request.base.ref == 'dev'}}
- name: Compile examples master
uses: arduino/[email protected]
with:
fqbn: realtek:AmebaD:${{ matrix.board.fqbn }}
sketch-paths: |
${{ env['examples-to-use'] }}
platforms: |
# Install ambd_arduino via Boards Manager for the toolchain
- source-url: https://github.com/ambiot/ambd_arduino/raw/master/Arduino_package/package_realtek_amebad_index.json
name: realtek:AmebaD
# Overwrite the ambd_arduino release version with the platform from the local path
- source-path: Arduino_package/hardware/
name: realtek:AmebaD
libraries: |
# The sketches typically don't have any external library dependencies, just some:
- source-url: https://github.com/ambiot/ambd_arduino/raw/master/Arduino_zip_libraries/AmebaMotors.zip
- source-url: https://github.com/ambiot/ambd_arduino/raw/master/Arduino_zip_libraries/AmebaEink.zip
- name: "SparkFun ADXL313 Arduino Library"
verbose: false
enable-deltas-report: false
if: ${{ github.ref == 'refs/heads/master' || github.event.pull_request.base.ref == 'master' }}