Skip to content

Updates from EnviroDIY #128

Updates from EnviroDIY

Updates from EnviroDIY #128

name: Build Examples with PlatformIO
# Triggers the workflow on push or pull request events
on: [push, pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'ci skip')"
strategy:
matrix:
example:
[
examples/BlynkClient,
examples/FileDownload,
examples/MqttClient,
examples/WebClient,
tools/test_build,
tools/Diagnostics,
]
modem:
[
TINY_GSM_MODEM_A6,
TINY_GSM_MODEM_BG96,
TINY_GSM_MODEM_A7672X,
TINY_GSM_MODEM_ESP8266,
TINY_GSM_MODEM_M95,
TINY_GSM_MODEM_M590,
TINY_GSM_MODEM_MC60,
TINY_GSM_MODEM_SIM800,
TINY_GSM_MODEM_SIM808,
TINY_GSM_MODEM_SIM5360,
TINY_GSM_MODEM_SIM7600,
TINY_GSM_MODEM_SIM7000,
TINY_GSM_MODEM_SIM7000SSL,
TINY_GSM_MODEM_SIM7070,
TINY_GSM_MODEM_UBLOX,
TINY_GSM_MODEM_SARAR4,
TINY_GSM_MODEM_SARAR5,
TINY_GSM_MODEM_XBEE,
TINY_GSM_MODEM_SEQUANS_MONARCH,
]
steps:
- uses: actions/checkout@v4
- name: Set variables
run: |
if [[ -z "${GITHUB_HEAD_REF}" ]]; then
echo "::debug::Push to commit ${GITHUB_SHA}"
echo "LIBRARY_INSTALL_SOURCE=https://github.com/${GITHUB_REPOSITORY}.git#${GITHUB_SHA}" >> $GITHUB_ENV
else
echo "::debug::Pull Request from the ${GITHUB_HEAD_REF} branch"
echo "LIBRARY_INSTALL_SOURCE=https://github.com/${GITHUB_REPOSITORY}.git#${GITHUB_HEAD_REF}" >> $GITHUB_ENV
fi
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
# This should be pulled from cache, if there's not a new version
- name: Install PlatformIO
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio
- name: Restore or Cache Platforms and Libraries
uses: actions/cache@v4
id: cache_pio
with:
path: ~/.platformio
# if nothing in the example_dependencies.json file has changed, then it will
# be a "cache hit" and we can restore libraries from cache and not
# download them. If it has changed we have to re-download.
key: ${{ hashFiles('./examples/example_dependencies.json') }}
# Install cores and library dependencies for the Arduino CLI, iff no cache
- name: Install the Arduino libraries
if: steps.cache_pio.outputs.cache-hit != 'true'
run: pio lib --global install 89 415 1202 1286
- name: Run PlatformIO
env:
PLATFORMIO_CI_SRC: ${{ matrix.example }}
TINYGSM_MODEM_TO_USE: ${{ matrix.modem }}
run: |
echo "${{ env.LIBRARY_INSTALL_SOURCE }}"
pio lib --global install ${{ env.LIBRARY_INSTALL_SOURCE }}
sed -i 's/\/\/ #define TINY_GSM_MODEM_SIM800/#define TINY_GSM_MODEM_SIM800/g' ${{ matrix.example }}/*
platformio ci --project-option='build_flags=-D ${{ env.TINYGSM_MODEM_TO_USE }}' --project-option='framework=arduino' --board=uno --board=leonardo --board=yun --board=megaatmega2560 --board=genuino101 --board=mkr1000USB --board=zero --board=teensy31 --board=bluepill_f103c8 --board=uno_pic32 --board=esp01 --board=nodemcuv2 --board=esp32dev
pio lib --global uninstall TinyGSM