Skip to content

CI Compile Examples #123

CI Compile Examples

CI Compile Examples #123

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
# runs-on: ${{ matrix.os }}
# list of all examples
env:
examples-to-use: |
- Arduino_package/hardware/libraries/Analog
- Arduino_package/hardware/libraries/BLE
- Arduino_package/hardware/libraries/Debugging
- Arduino_package/hardware/libraries/FileSystem
- Arduino_package/hardware/libraries/GPIO
- Arduino_package/hardware/libraries/GTimer
- Arduino_package/hardware/libraries/Http
- Arduino_package/hardware/libraries/MQTTClient
- Arduino_package/hardware/libraries/Multimedia
- Arduino_package/hardware/libraries/NeuralNetwork
- Arduino_package/hardware/libraries/NTPClient
- Arduino_package/hardware/libraries/OTA
- Arduino_package/hardware/libraries/PowerMode
- Arduino_package/hardware/libraries/QRCodeScanner
- Arduino_package/hardware/libraries/RTC
- Arduino_package/hardware/libraries/SPI/examples/Camera_2_Lcd_JPEGDEC
- Arduino_package/hardware/libraries/SPI/examples/LCD_Screen_ILI9341_TFT
- Arduino_package/hardware/libraries/USB
- Arduino_package/hardware/libraries/Watchdog
- Arduino_package/hardware/libraries/WiFi
- Arduino_package/hardware/libraries/Wire
# - Arduino_package/hardware/libraries/SPI/examples/Camera_2_Lcd
strategy:
fail-fast: false
matrix:
board:
- fqbn: Ameba_AMB82-MINI
# os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- name: Exit workflow (other branches)
run: |
echo "Exit with $GITHUB_REF"
exit 1
if: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/dev' && github.event.pull_request.base.ref != 'dev' && github.event.pull_request.base.ref != 'main'}}
- name: Checkout repository
uses: actions/checkout@v4
with:
sparse-checkout: |
Arduino_package
Arduino_zip_libraries
- name: Compile examples dev
uses: arduino/compile-sketches@v1.1.1
with:
fqbn: realtek:AmebaPro2:${{ matrix.board.fqbn }}
sketch-paths: |
# - Arduino_package/hardware/libraries/
${{ env['examples-to-use'] }}
platforms: |
- source-url: https://github.com/ambiot/ambpro2_arduino/raw/dev/Arduino_package/package_realtek_amebapro2_early_index.json
name: realtek:AmebaPro2
- source-path: Arduino_package/hardware/
name: realtek:AmebaPro2
libraries: |
- source-url: https://github.com/ambiot/ambpro2_arduino/raw/dev/Arduino_zip_libraries/AmebaEink.zip
# - source-url: https://github.com/ambiot/ambpro2_arduino/raw/dev/Arduino_zip_libraries/Ameba_TFT_eSPI.zip
verbose: false
enable-deltas-report: false
if: ${{ github.ref == 'refs/heads/dev' || github.event.pull_request.base.ref == 'dev'}}
- name: Compile examples main
uses: arduino/compile-sketches@v1.1.1
with:
fqbn: realtek:AmebaPro2:${{ matrix.board.fqbn }}
sketch-paths: |
# - Arduino_package/hardware/libraries/
${{ env['examples-to-use'] }}
platforms: |
- source-url: https://github.com/ambiot/ambpro2_arduino/raw/main/Arduino_package/package_realtek_amebapro2_index.json
name: realtek:AmebaPro2
- source-path: Arduino_package/hardware/
name: realtek:AmebaPro2
libraries: |
- source-url: https://github.com/ambiot/ambpro2_arduino/raw/main/Arduino_zip_libraries/AmebaEink.zip
# - source-url: https://github.com/ambiot/ambpro2_arduino/raw/main/Arduino_zip_libraries/Ameba_TFT_eSPI.zip
verbose: false
enable-deltas-report: false
if: ${{ github.ref == 'refs/heads/main' || github.event.pull_request.base.ref == 'main' }}