Check that a capability container fits before trusting its block count #35
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:3.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-v3-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-v3-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 | |
| # m5stack_core only via include. 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 only) | |
| # - NFCF # via include (m5stack_core only) | |
| # - NFCV # via include (m5stack_core only) | |
| build-properties: | |
| - "-DUSING_UNIT_NFC" | |
| # Reduced from 18 → 10 boards. One representative per chip family + the boards where | |
| # NFC is actually deployed (NessoN1/Dial for PortA, Cardputer for CapCC1101). Uncomment | |
| # any line below to widen coverage. m5stack fork-specific boards (atoms3r, papers3, | |
| # sticks3, nano_h2) are not in the espressif:esp32 FQBN set; see arduino-m5 workflow. | |
| board: | |
| - arduino_nesso_n1 # ESP32-C6 (RISC-V single, NFC PortA primary) | |
| # - m5stack_atom # ESP32 small atom | |
| - m5stack_atoms3 # ESP32-S3 small atom | |
| # - m5stack_capsule # ESP32-S3 small board | |
| - m5stack_cardputer # ESP32-S3 (CapCC1101 built-in) | |
| - m5stack_core # ESP32 classic representative | |
| - m5stack_core2 # ESP32 (touch + IMU + RTC) | |
| # - m5stack_coreink # ESP32 e-ink | |
| - m5stack_cores3 # ESP32-S3 representative | |
| - m5stack_dial # ESP32-S3 (NFC primary use case) | |
| # - m5stack_dinmeter # ESP32-S3 (similar to dial) | |
| # - m5stack_fire # ESP32 (= core + PSRAM) | |
| - m5stack_nanoc6 # ESP32-C6 (Wire GROVE constraint) | |
| # - m5stack_paper # ESP32 e-ink | |
| # - m5stack_poe_cam | |
| # - m5stack_stamp_c3 | |
| # - m5stack_stamp_pico | |
| # - m5stack_stamp_s3 # ESP32-S3 stamp variant | |
| # - m5stack_station | |
| # - m5stack_stickc # ESP32 (legacy) | |
| # - m5stack_stickc_plus # ESP32 (older stick) | |
| - m5stack_stickc_plus2 # ESP32 (latest stick) | |
| - m5stack_tab5 # ESP32-P4 (Tab5) | |
| # - m5stack_timer_cam | |
| # - m5stack_tough | |
| # - m5stack_unit_cam | |
| # - m5stack_unit_cams3 | |
| # Pinned to 3.3.7: 3.3.8 broke Tab5 (ESP32-P4) build because | |
| # esp32-hal-spi.c references BOARD_SDMMC_POWER_CHANNEL which is missing in | |
| # variants/m5stack_tab5/pins_arduino.h (upstream regression in PR #12079). | |
| # Tab5 is also covered by arduino-m5-build-check.yml (m5stack:esp32 fork). | |
| platform-version: | |
| - 3.3.7 | |
| platform: | |
| - esp32 | |
| archi: | |
| - esp32 | |
| include: | |
| # NFCB/F/V Detect on m5stack_core (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: 3.3.7 | |
| board: m5stack_core | |
| 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: 3.3.7 | |
| board: m5stack_core | |
| 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: 3.3.7 | |
| board: m5stack_core | |
| 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: 3.3.7 | |
| board: m5stack_core | |
| 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: 3.3.7 | |
| board: m5stack_core | |
| 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: 3.3.7 | |
| board: m5stack_core | |
| 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: 3.3.7 | |
| board: m5stack_core | |
| 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: 3.3.7 | |
| board: m5stack_core | |
| 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: 3.3.7 | |
| board: m5stack_core | |
| 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: 3.3.7 | |
| board: m5stack_core | |
| 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: 3.3.7 | |
| board: m5stack_core | |
| 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: 3.3.7 | |
| board: m5stack_core | |
| 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: 3.3.7 | |
| board: m5stack_core | |
| 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: 3.3.7 | |
| board: m5stack_core | |
| 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: 3.3.7 | |
| board: m5stack_core | |
| 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: 3.3.7 | |
| board: m5stack_core | |
| 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: 3.3.7 | |
| board: m5stack_core | |
| 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: 3.3.7 | |
| board: m5stack_core | |
| build-properties: "-DUSING_UNIT_NFC" | |
| # CapCC1101 on Cardputer | |
| - sketch: Detect | |
| nfc: NFCA | |
| platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| platform: esp32 | |
| archi: esp32 | |
| platform-version: 3.3.7 | |
| board: m5stack_cardputer | |
| build-properties: "-DUSING_CAP_CC1101" | |
| - sketch: Detect | |
| nfc: NFCB | |
| platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| platform: esp32 | |
| archi: esp32 | |
| platform-version: 3.3.7 | |
| board: m5stack_cardputer | |
| build-properties: "-DUSING_CAP_CC1101" | |
| - sketch: Detect | |
| nfc: NFCF | |
| platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| platform: esp32 | |
| archi: esp32 | |
| platform-version: 3.3.7 | |
| board: m5stack_cardputer | |
| build-properties: "-DUSING_CAP_CC1101" | |
| - sketch: Detect | |
| nfc: NFCV | |
| platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| platform: esp32 | |
| archi: esp32 | |
| platform-version: 3.3.7 | |
| board: m5stack_cardputer | |
| build-properties: "-DUSING_CAP_CC1101" | |
| # CapCC1101 NFCA non-Detect sketches | |
| - sketch: Dump | |
| nfc: NFCA | |
| platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| platform: esp32 | |
| archi: esp32 | |
| platform-version: 3.3.7 | |
| board: m5stack_cardputer | |
| build-properties: "-DUSING_CAP_CC1101" | |
| - sketch: ReadWrite | |
| nfc: NFCA | |
| platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| platform: esp32 | |
| archi: esp32 | |
| platform-version: 3.3.7 | |
| board: m5stack_cardputer | |
| build-properties: "-DUSING_CAP_CC1101" | |
| - sketch: ValueBlock | |
| nfc: NFCA | |
| platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| platform: esp32 | |
| archi: esp32 | |
| platform-version: 3.3.7 | |
| board: m5stack_cardputer | |
| build-properties: "-DUSING_CAP_CC1101" | |
| - sketch: NDEF | |
| nfc: NFCA | |
| platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| platform: esp32 | |
| archi: esp32 | |
| platform-version: 3.3.7 | |
| board: m5stack_cardputer | |
| build-properties: "-DUSING_CAP_CC1101" | |
| - sketch: Emulation | |
| nfc: NFCA | |
| platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| platform: esp32 | |
| archi: esp32 | |
| platform-version: 3.3.7 | |
| board: m5stack_cardputer | |
| build-properties: "-DUSING_CAP_CC1101" | |
| # CapCC1101 NFCB non-Detect sketches | |
| - sketch: JapanIDCard | |
| nfc: NFCB | |
| platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| platform: esp32 | |
| archi: esp32 | |
| platform-version: 3.3.7 | |
| board: m5stack_cardputer | |
| build-properties: "-DUSING_CAP_CC1101" | |
| # CapCC1101 NFCF non-Detect sketches | |
| - sketch: Dump | |
| nfc: NFCF | |
| platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| platform: esp32 | |
| archi: esp32 | |
| platform-version: 3.3.7 | |
| board: m5stack_cardputer | |
| build-properties: "-DUSING_CAP_CC1101" | |
| - sketch: NDEF | |
| nfc: NFCF | |
| platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| platform: esp32 | |
| archi: esp32 | |
| platform-version: 3.3.7 | |
| board: m5stack_cardputer | |
| build-properties: "-DUSING_CAP_CC1101" | |
| - sketch: Subtract | |
| nfc: NFCF | |
| platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| platform: esp32 | |
| archi: esp32 | |
| platform-version: 3.3.7 | |
| board: m5stack_cardputer | |
| build-properties: "-DUSING_CAP_CC1101" | |
| - sketch: ReadWriteMAC | |
| nfc: NFCF | |
| platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| platform: esp32 | |
| archi: esp32 | |
| platform-version: 3.3.7 | |
| board: m5stack_cardputer | |
| build-properties: "-DUSING_CAP_CC1101" | |
| - sketch: JapanTransportationICCard | |
| nfc: NFCF | |
| platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| platform: esp32 | |
| archi: esp32 | |
| platform-version: 3.3.7 | |
| board: m5stack_cardputer | |
| build-properties: "-DUSING_CAP_CC1101" | |
| - sketch: Emulation | |
| nfc: NFCF | |
| platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| platform: esp32 | |
| archi: esp32 | |
| platform-version: 3.3.7 | |
| board: m5stack_cardputer | |
| build-properties: "-DUSING_CAP_CC1101" | |
| # CapCC1101 NFCV non-Detect sketches | |
| - sketch: Dump | |
| nfc: NFCV | |
| platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| platform: esp32 | |
| archi: esp32 | |
| platform-version: 3.3.7 | |
| board: m5stack_cardputer | |
| build-properties: "-DUSING_CAP_CC1101" | |
| - sketch: NDEF | |
| nfc: NFCV | |
| platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| platform: esp32 | |
| archi: esp32 | |
| platform-version: 3.3.7 | |
| board: m5stack_cardputer | |
| build-properties: "-DUSING_CAP_CC1101" | |
| 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 }} |