Skip to content

Merge branch 'develop' #36

Merge branch 'develop'

Merge branch 'develop' #36

name: Build(arduino-esp32:2.x)
env:
SKETCH_NAMES_FIND_START: ./examples/UnitUnified
REQUIRED_LIBRARIES: M5Unified,M5UnitUnified
on:
push:
tags-ignore:
- '*.*.*'
- 'v*.*.*'
branches:
- '*'
paths:
- 'src/**.cpp'
- 'src/**.hpp'
- 'src/**.h'
- 'src/**.c'
- 'examples/UnitUnified/**.ino'
- 'examples/UnitUnified/**.cpp'
- 'examples/UnitUnified/**.hpp'
- 'examples/UnitUnified/**.h'
- 'examples/UnitUnified/**.c'
- '.github/workflows/arduino-esp-v2-build-check.yml'
pull_request:
paths:
- 'src/**.cpp'
- 'src/**.hpp'
- 'src/**.h'
- 'src/**.c'
- 'examples/UnitUnified/**.ino'
- 'examples/UnitUnified/**.cpp'
- 'examples/UnitUnified/**.hpp'
- 'examples/UnitUnified/**.h'
- 'examples/UnitUnified/**.c'
- '.github/workflows/arduino-esp-v2-build-check.yml'
workflow_dispatch:
defaults:
run:
shell: bash
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: ${{ matrix.build-properties }}:${{ matrix.nfc }}/${{ matrix.sketch }}:${{matrix.board}}@${{matrix.platform-version}}
runs-on: ubuntu-latest
timeout-minutes: 12
strategy:
fail-fast: false
max-parallel: 20
matrix:
platform-url:
- https://espressif.github.io/arduino-esp32/package_esp32_index.json
sketch:
- Detect
# Cross design: NFCA Detect on every board (chip-coverage matrix), NFCB/F/V Detect on
# core only via include (representative-board coverage). The NFC protocols share the
# same library code path, so per-board compile of NFCA is enough to catch chip issues;
# NFCB/F/V get one build each to confirm the family-specific stack compiles.
nfc:
- NFCA
# - NFCB # via include (m5stack-core-esp32 only)
# - NFCF # via include (m5stack-core-esp32 only)
# - NFCV # via include (m5stack-core-esp32 only)
build-properties:
- "-DUSING_UNIT_NFC"
# Reduced from 7 → 4 boards. One representative per chip family. Uncomment any line
# below to widen coverage. v2 (espressif:esp32 @ 2.0.17) only supports legacy boards.
board:
- m5stack-atoms3 # ESP32-S3 small atom
- m5stack-core-esp32 # ESP32 classic representative
- m5stack-core2 # ESP32 (touch + IMU + RTC)
- m5stack-cores3 # ESP32-S3 representative
# - m5stack-atom # ESP32 small atom
# - m5stack-coreink # ESP32 e-ink
# - m5stack-fire # ESP32 (= core + PSRAM)
platform-version:
- 2.0.17
platform:
- esp32
archi:
- esp32
include:
# NFCB/F/V Detect on m5stack-core-esp32 (cross design — see nfc: comment above).
- sketch: Detect
nfc: NFCB
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
platform: esp32
archi: esp32
platform-version: 2.0.17
board: m5stack-core-esp32
build-properties: "-DUSING_UNIT_NFC"
- sketch: Detect
nfc: NFCF
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
platform: esp32
archi: esp32
platform-version: 2.0.17
board: m5stack-core-esp32
build-properties: "-DUSING_UNIT_NFC"
- sketch: Detect
nfc: NFCV
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
platform: esp32
archi: esp32
platform-version: 2.0.17
board: m5stack-core-esp32
build-properties: "-DUSING_UNIT_NFC"
# NFCA Specific sketches
- sketch: Dump
nfc: NFCA
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
platform: esp32
archi: esp32
platform-version: 2.0.17
board: m5stack-core-esp32
build-properties: "-DUSING_UNIT_NFC"
- sketch: ValueBlock
nfc: NFCA
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
platform: esp32
archi: esp32
platform-version: 2.0.17
board: m5stack-core-esp32
build-properties: "-DUSING_UNIT_NFC"
- sketch: ReadWrite
nfc: NFCA
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
platform: esp32
archi: esp32
platform-version: 2.0.17
board: m5stack-core-esp32
build-properties: "-DUSING_UNIT_NFC"
- sketch: NDEF
nfc: NFCA
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
platform: esp32
archi: esp32
platform-version: 2.0.17
board: m5stack-core-esp32
build-properties: "-DUSING_UNIT_NFC"
- sketch: Emulation
nfc: NFCA
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
platform: esp32
archi: esp32
platform-version: 2.0.17
board: m5stack-core-esp32
build-properties: "-DUSING_UNIT_NFC"
- sketch: PolicyOverride
nfc: NFCA
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
platform: esp32
archi: esp32
platform-version: 2.0.17
board: m5stack-core-esp32
build-properties: "-DUSING_UNIT_NFC"
# NFCB Specific sketches
- sketch: JapanIDCard
nfc: NFCB
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
platform: esp32
archi: esp32
platform-version: 2.0.17
board: m5stack-core-esp32
build-properties: "-DUSING_UNIT_NFC"
# NFCF Specific sketches
- sketch: Dump
nfc: NFCF
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
platform: esp32
archi: esp32
platform-version: 2.0.17
board: m5stack-core-esp32
build-properties: "-DUSING_UNIT_NFC"
- sketch: NDEF
nfc: NFCF
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
platform: esp32
archi: esp32
platform-version: 2.0.17
board: m5stack-core-esp32
build-properties: "-DUSING_UNIT_NFC"
- sketch: Subtract
nfc: NFCF
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
platform: esp32
archi: esp32
platform-version: 2.0.17
board: m5stack-core-esp32
build-properties: "-DUSING_UNIT_NFC"
- sketch: ReadWriteMAC
nfc: NFCF
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
platform: esp32
archi: esp32
platform-version: 2.0.17
board: m5stack-core-esp32
build-properties: "-DUSING_UNIT_NFC"
- sketch: JapanTransportationICCard
nfc: NFCF
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
platform: esp32
archi: esp32
platform-version: 2.0.17
board: m5stack-core-esp32
build-properties: "-DUSING_UNIT_NFC"
- sketch: Emulation
nfc: NFCF
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
platform: esp32
archi: esp32
platform-version: 2.0.17
board: m5stack-core-esp32
build-properties: "-DUSING_UNIT_NFC"
# NFCV Specific sketches
- sketch: Dump
nfc: NFCV
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
platform: esp32
archi: esp32
platform-version: 2.0.17
board: m5stack-core-esp32
build-properties: "-DUSING_UNIT_NFC"
- sketch: NDEF
nfc: NFCV
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
platform: esp32
archi: esp32
platform-version: 2.0.17
board: m5stack-core-esp32
build-properties: "-DUSING_UNIT_NFC"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare libraries list
id: libs
run: |
{
echo "yaml<<EOF"
echo "$REQUIRED_LIBRARIES" | tr ',' '\n' | while read -r lib; do
echo "- name: $lib"
done
echo "- source-path: ./"
echo "EOF"
} >> "$GITHUB_OUTPUT"
- name: Compile examples
uses: arduino/compile-sketches@v1
with:
fqbn: ${{ matrix.platform }}:${{ matrix.archi }}:${{ matrix.board }}
platforms: |
- name: ${{ matrix.platform }}:${{ matrix.archi }}
source-url: ${{ matrix.platform-url }}
version: ${{ matrix.platform-version }}
libraries: ${{ steps.libs.outputs.yaml }}
sketch-paths: |
- ${{ env.SKETCH_NAMES_FIND_START }}/${{ matrix.nfc }}/${{ matrix.sketch }}
cli-compile-flags: |
- --build-property
- build.extra_flags=${{ matrix.build-properties }}