Improved version and compatible to latest BlueDisplay #87
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
# TestCompile.yml | |
# Github workflow script to test compile all examples of an Arduino library repository. | |
# | |
# Copyright (C) 2020-2023 Armin Joachimsmeyer | |
# https://github.com/ArminJo/Github-Actions | |
# | |
# This is the name of the workflow, visible on GitHub UI. | |
name: TestCompile | |
on: | |
workflow_dispatch: # To run it manually | |
description: 'manual build check' | |
push: # see: https://help.github.com/en/actions/reference/events-that-trigger-workflows#pull-request-event-pull_request | |
paths: | |
- '**.ino' | |
- '**.cpp' | |
- '**.hpp' | |
- '**.h' | |
- '**TestCompile.yml' | |
pull_request: | |
jobs: | |
build: | |
name: Test compiling examples for Uno | |
runs-on: ubuntu-latest | |
env: | |
REQUIRED_LIBRARIES: Servo,Adafruit Motor Shield V2 Library,PlayRtttl | |
# REQUIRED_LIBRARIES: Servo,Adafruit Motor Shield V2 Library,PlayRtttl,BlueDisplay | |
# REQUIRED_LIBRARIES: Servo,Adafruit Motor Shield V2 Library,BlueDisplay,PlayRtttl,SparkFun VL53L1X 4m Laser Distance Sensor | |
strategy: | |
matrix: | |
arduino-boards-fqbn: | |
- arduino:avr:uno | |
- arduino:avr:uno|TimeOfFlight | |
- arduino:avr:uno|BreadboardFull | |
- arduino:avr:uno|Mecanum | |
include: | |
- arduino-boards-fqbn: arduino:avr:uno | |
build-properties: | |
RobotCarBlueDisplay: | |
-DBLUETOOTH_BAUD_RATE=BAUD_115200 | |
-DUS_SENSOR_SUPPORTS_1_PIN_MODE | |
-DDISTANCE_SERVO_IS_MOUNTED_HEAD_DOWN | |
-mcall-prologues # reduces size by 870 bytes | |
- arduino-boards-fqbn: arduino:avr:uno|TimeOfFlight # Uno board with ToF distance sensor | |
build-properties: | |
RobotCarBlueDisplay: | |
-DMOTOR_SHIELD_2WD_FULL_CONFIGURATION | |
-DBLUETOOTH_BAUD_RATE=BAUD_115200 | |
-DUS_SENSOR_SUPPORTS_1_PIN_MODE | |
-mcall-prologues | |
- arduino-boards-fqbn: arduino:avr:uno|BreadboardFull # Nano board with TB6612 breakout board | |
build-properties: | |
RobotCarBlueDisplay: | |
-DBREADBOARD_4WD_FULL_CONFIGURATION | |
-DBLUETOOTH_BAUD_RATE=BAUD_115200 | |
-DUS_SENSOR_SUPPORTS_1_PIN_MODE | |
-mcall-prologues # reduces size by 870 bytes | |
- arduino-boards-fqbn: arduino:avr:uno|Mecanum # Nano board with TB6612 breakout board + 4 mecanum wheels | |
build-properties: | |
RobotCarBlueDisplay: | |
-DMECANUM_BASIC_CONFIGURATION | |
-DBLUETOOTH_BAUD_RATE=BAUD_115200 | |
-DUS_SENSOR_SUPPORTS_1_PIN_MODE | |
-mcall-prologues # reduces size by 870 bytes | |
# Do not cancel all jobs / architectures if one job fails | |
fail-fast: false | |
steps: | |
- name: Checkout | |
uses: actions/checkout@master | |
- name: Checkout new BlueDisplay library | |
uses: actions/checkout@master | |
with: | |
repository: ArminJo/Arduino-BlueDisplay | |
ref: master | |
path: CustomLibrary_BD # must contain string "Custom" | |
# Must remove BlueDisplay from REQUIRED_LIBRARIES | |
# Currently included in source directory | |
# - name: Checkout new PWMMotorControl library | |
# uses: actions/checkout@master | |
# with: | |
# repository: ArminJo/PWMMotorControl | |
# ref: master | |
# path: CustomLibrary_PWM # must contain string "Custom" | |
- name: Compile all examples using the arduino-test-compile action | |
uses: ArminJo/arduino-test-compile@master | |
with: | |
arduino-board-fqbn: ${{ matrix.arduino-boards-fqbn }} | |
arduino-platform: ${{ matrix.arduino-platform }} | |
platform-url: ${{ matrix.platform-url }} | |
required-libraries: ${{ env.REQUIRED_LIBRARIES }} | |
sketches-exclude: ${{ matrix.sketches-exclude }} | |
build-properties: ${{ toJson(matrix.build-properties) }} |