Merge branch 'develop' #36
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 }} |