First take at migrating to github actions
Signed-off-by: Sara Damiano <sdamiano@stroudcenter.org>
This commit is contained in:
90
.github/workflows/build_examples.yaml
vendored
Normal file
90
.github/workflows/build_examples.yaml
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
name: Build Examples
|
||||
|
||||
# Triggers the workflow on push or pull request events
|
||||
on: [push, pull_request]
|
||||
|
||||
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/AT_Debug,
|
||||
tools/Diagnostics,
|
||||
tools/FactoryReset,
|
||||
]
|
||||
modem:
|
||||
[
|
||||
TINY_GSM_MODEM_A6,
|
||||
TINY_GSM_MODEM_BG96,
|
||||
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_UBLOX,
|
||||
TINY_GSM_MODEM_SARAR4,
|
||||
TINY_GSM_MODEM_XBEE,
|
||||
TINY_GSM_MODEM_SEQUANS_MONARCH,
|
||||
]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- 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: Restore or Cache pip
|
||||
uses: actions/cache@v2.1.4
|
||||
with:
|
||||
path: ~/.cache/pip
|
||||
# if requirements.txt hasn't changed, then it will be a "cache hit" and pip will be restored
|
||||
# if requirements.txt HAS changed, it will be a "cache miss" and a new cache of pip will be created if the job completes successfully
|
||||
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
|
||||
restore-keys: ${{ runner.os }}-pip-
|
||||
|
||||
- name: Restore or Cache PlatformIO and Libraries
|
||||
uses: actions/cache@v2.1.4
|
||||
with:
|
||||
path: ~/.platformio
|
||||
# if nothing in the lock files has changed, then it will be a "cache hit" and pip will be restored
|
||||
# otherwise, it will be a "cache miss" and a new cache of libraries will be created if the job completes successfully
|
||||
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v2
|
||||
|
||||
# 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: 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 }}
|
||||
pio lib --global install 89 415 1202 1286
|
||||
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
|
Reference in New Issue
Block a user