64 lines
1.8 KiB
YAML
64 lines
1.8 KiB
YAML
name: PlatformIO CI
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-20.04
|
|
timeout-minutes: 10
|
|
strategy:
|
|
fail-fast: false
|
|
max-parallel: 20
|
|
matrix:
|
|
boards: ['all']
|
|
example: [
|
|
ChangeUID,
|
|
DumpInfo,
|
|
firmware_check,
|
|
FixBrickedUID,
|
|
MifareClassicValueBlock,
|
|
MinimalInterrupt,
|
|
ReadUidMultiReader,
|
|
rfid_default_keys,
|
|
rfid_write_personal_data,
|
|
Ntag216_AUTH,
|
|
ReadNUID,
|
|
RFID-Cloner,
|
|
rfid_read_personal_data,
|
|
]
|
|
#include:
|
|
# - boards: 'avr_only'
|
|
# example: AccessControl
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Cache pip
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ~/.cache/pip
|
|
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
|
|
restore-keys: ${{ runner.os }}-pip-
|
|
- name: Cache PlatformIO
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ~/.platformio
|
|
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v2
|
|
- name: Install PlatformIO
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install --upgrade platformio
|
|
- name: Run PlatformIO all Boards
|
|
if: ${{ contains(matrix.boards, 'all') }}
|
|
# test all
|
|
run: platformio ci --lib=. --board=uno --board=megaatmega1280 --board=due --board=zero --board=d1_mini
|
|
env:
|
|
PLATFORMIO_CI_SRC: examples/${{ matrix.example }}/${{ matrix.example }}.ino
|
|
- name: Run PlatformIO avr Boards
|
|
if: ${{ contains(matrix.boards, 'avr_only') }}
|
|
# test avr_only
|
|
run: platformio ci --lib=. --board=uno --board=megaatmega1280
|
|
env:
|
|
PLATFORMIO_CI_SRC: examples/${{ matrix.example }}/${{ matrix.example }}.ino
|