Skip to content

Clang format

Clang format #28

Workflow file for this run

# This is the name of the workflow, visible on GitHub UI.
name: build
# Here we tell GitHub to run the workflow when a commit
# is pushed or a Pull Request is opened.
on: [push, pull_request]
# This is the list of jobs that will be run concurrently.
# Since we use a build matrix, the actual number of jobs
# started depends on how many configurations the matrix
# will produce.
jobs:
# This is the name of the job - can be whatever.
build:
# Here we tell GitHub that the jobs must be determined
# dynamically depending on a matrix configuration.
strategy:
matrix:
# The matrix will produce one job for each configuration
# parameter of type `arduino-platform`, in this case a
# total of 2.
arduino-platform: ["arduino:avr","esp8266:esp8266"]
# This is usually optional but we need to statically define the
# FQBN of the boards we want to test for each platform. In the
# future the CLI might automatically detect and download the core
# needed to compile against a certain FQBN, at that point the
# following `include` section will be useless.
include:
# This works like this: when the platform is "arduino:samd", the
# variable `fqbn` is set to "arduino:samd:nano_33_iot".
- arduino-platform: "arduino:avr"
fqbn: "arduino:avr:pro:cpu=8MHzatmega328"
- arduino-platform: "arduino:avr"
libraries: "LowPower_LowPowerLab"
- arduino-platform: "arduino:avr"
project_dir: "Firmware_Arduino"
- arduino-platform: "esp8266:esp8266"
fqbn: "esp8266:esp8266:generic"
- arduino-platform: "esp8266:esp8266"
libraries: "LiquidCrystal_PCF8574"
- arduino-platform: "esp8266:esp8266"
project_dir: "Firmware_ESP8266"
# This is the platform GitHub will use to run our workflow, we
# pick Windows for no particular reason.
runs-on: windows-latest
# This is the list of steps this job will run.
steps:
# First of all, we clone the repo using the `checkout` action.
- name: Checkout
uses: actions/checkout@v4
# We use the `arduino/setup-arduino-cli` action to install and
# configure the Arduino CLI on the system.
- name: Setup Arduino CLI
uses: arduino/setup-arduino-cli@v1
# We then install the platform, which one will be determined
# dynamically by the build matrix.
- name: Install platform
run: |
arduino-cli core update-index --additional-urls https://arduino.esp8266.com/stable/package_esp8266com_index.json
arduino-cli core install ${{ matrix.arduino-platform }} --additional-urls https://arduino.esp8266.com/stable/package_esp8266com_index.json
# We then install the platform, which one will be determined
# dynamically by the build matrix.
- name: Install libraries
run: |
arduino-cli lib install ${{ matrix.libraries }}
arduino-cli lib list
# Update submodules
- name: Update submodules
run: |
git submodule update --init --recursive
# Finally, we compile the sketch, using the FQBN that was set
# in the build matrix.
- name: Compile Sketches
run: arduino-cli compile --fqbn ${{ matrix.fqbn }} --build-path "${{ matrix.project_dir }}/build" ./${{ matrix.project_dir }}