Skip to content

[GaugeBQ27220]Update examples #182

[GaugeBQ27220]Update examples

[GaugeBQ27220]Update examples #182

Workflow file for this run

name: Build with Arduino
on:
workflow_dispatch:
pull_request:
push:
paths:
- "src/**"
- "examples/**"
- ".github/workflows/arduino_ci.yml"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
ArduinoLint:
name: ${{ matrix.board.fqbn }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
board:
- fqbn: esp32:esp32:esp32s3
platform: esp32:esp32
url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
- fqbn: rp2040:rp2040:rpipico
platform: rp2040:rp2040
url: https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
- fqbn: adafruit:nrf52:pca10056
platform: adafruit:nrf52
url: https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
- fqbn: STMicroelectronics:stm32:GenF4
platform: stmicroelectronics:stm32
url: https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
- fqbn: arduino:mbed_rp2040:pico
platform: arduino:mbed_rp2040
include:
- example_file: examples.txt
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Arduino CLI
run: |
echo "Installing Arduino CLI..."
curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh
if [ $? -ne 0 ]; then
echo "Failed to install Arduino CLI."
exit 1
fi
echo "./bin" >> $GITHUB_PATH
echo "Arduino CLI installed successfully."
- name: Install board
run: |
echo "Initializing Arduino CLI configuration..."
arduino-cli config init
arduino-cli config set library.enable_unsafe_install true
if [ -n "${{ matrix.board.url }}" ]; then
echo "Adding additional board manager URL: ${{ matrix.board.url }}"
arduino-cli config add board_manager.additional_urls ${{ matrix.board.url }}
fi
echo "Updating board index..."
arduino-cli core update-index
if [ $? -ne 0 ]; then
echo "Failed to update board index."
exit 1
fi
echo "Installing board platform: ${{ matrix.board.platform }}"
arduino-cli core install ${{ matrix.board.platform }}
if [ $? -ne 0 ]; then
echo "Failed to install board platform."
exit 1
fi
echo "Board platform installed successfully."
- name: Install libraries
run: |
echo "Installing required libraries..."
arduino-cli lib install --git-url https://github.com/ThingPulse/esp8266-oled-ssd1306.git
arduino-cli lib install --git-url https://github.com/arduino-libraries/MadgwickAHRS.git
arduino-cli lib install --git-url https://github.com/CreativeRobotics/Commander.git
arduino-cli lib install --git-url https://github.com/adafruit/SdFat.git
if [ $? -ne 0 ]; then
echo "Failed to install libraries."
exit 1
fi
echo "Libraries installed successfully."
- name: Install adafruit-nrfutil
if: matrix.board.platform == 'adafruit:nrf52'
run: |
pip install adafruit-nrfutil
if [ $? -ne 0 ]; then
echo "Failed to install adafruit-nrfutil."
exit 1
fi
echo "adafruit-nrfutil installed successfully."
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Find .ino files in examples directory
id: find-examples
run: |
echo "Current working directory: $(pwd)"
if [ -d "./examples" ]; then
examples=$(find ./examples -name "*.ino" -print0 | tr '\0' ' ')
echo "Found examples: $examples"
echo "examples=$examples" >> $GITHUB_OUTPUT
else
echo "The './examples' directory does not exist."
exit 1
fi
- name: Run test
run: |
for example in ${{ steps.find-examples.outputs.examples }}; do
echo "Compiling example: $example"
arduino-cli compile --library . -b ${{ matrix.board.fqbn }} $example
if [ $? -ne 0 ]; then
echo "Compilation failed for example: $example"
exit 1
fi
echo "Compilation succeeded for example: $example"
done