Merge branch 'develop' #33
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(platformio) | |
| 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/platformio-build-check.yml' | |
| - 'platformio.ini' | |
| 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/platformio-build-check.yml' | |
| - 'platformio.ini' | |
| workflow_dispatch: | |
| defaults: | |
| run: | |
| shell: bash | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| name: ${{ matrix.example }}@${{ matrix.board }}:${{ matrix.framework }}:${{ matrix.espressif32 }} | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 12 | |
| strategy: | |
| fail-fast: false | |
| max-parallel: 20 | |
| matrix: | |
| # Cross design (skill m5-build-ci-matrix §3): the board axis is carried by one | |
| # representative per distinct code path. NFCA (WS1850S over I2C, addI2C) and UHF | |
| # (JRD4035 over UART, addUART) are different units on different transports, so both | |
| # stay on the board axis. NFCB is the same unit, bus and wiring helper as NFCA, so | |
| # one build on the representative board is enough to prove its stack compiles. | |
| example: | |
| - NFCA_Detect | |
| # - NFCB_Detect # via include (Core only): same unit/bus/wiring as NFCA | |
| - UHF_Detect | |
| # Build CI board axis = distinct compile config only (skill m5-build-ci-matrix). | |
| # I2C path is a runtime M5.getBoard() branch (same compile for all boards), so | |
| # only one board per compile config is kept; variant-header siblings are commented out. | |
| board: | |
| - Core # espressif32 x ESP32 (xtensa-esp32) | |
| - CoreS3 # espressif32 x ESP32-S3 (xtensa-esp32s3, separate GCC target) | |
| - NanoC6 # pioarduino x ESP32-C6 (rv32) | |
| - NanoH2 # pioarduino x ESP32-H2 (H2 image target / f_flash16M) | |
| - Tab5 # pioarduino x ESP32-P4 (rv32 single-float / 16MB partition) | |
| # - Core2 # ESP32: represented by Core | |
| # - Fire # ESP32: represented by Core | |
| # - StampS3 # ESP32-S3: represented by CoreS3 | |
| # - Dial # ESP32-S3: represented by CoreS3 | |
| # - Atom # ESP32: represented by Core | |
| # - AtomS3 # ESP32-S3: represented by CoreS3 | |
| # - AtomS3R # ESP32-S3: represented by CoreS3 | |
| # - StickCPlus # ESP32: represented by Core | |
| # - StickCPlus2 # ESP32: represented by Core | |
| # - StickS3 # ESP32-S3: represented by CoreS3 | |
| # - Paper # ESP32: represented by Core | |
| # - CoreInk # ESP32: represented by Core | |
| # - Cardputer # ESP32-S3: represented by CoreS3 | |
| # - NessoN1 # ESP32-C6: represented by NanoC6 | |
| framework: | |
| - Arduino | |
| espressif32: | |
| - latest | |
| include: | |
| # Detect (NFCB, Core only) - moved off the board axis above | |
| - example: NFCB_Detect | |
| board: Core | |
| framework: Arduino | |
| espressif32: latest | |
| # NFCA Specific sketches (Core only) | |
| - example: NFCA_Dump | |
| board: Core | |
| framework: Arduino | |
| espressif32: latest | |
| - example: NFCA_ValueBlock | |
| board: Core | |
| framework: Arduino | |
| espressif32: latest | |
| - example: NFCA_ReadWrite | |
| board: Core | |
| framework: Arduino | |
| espressif32: latest | |
| - example: NFCA_NDEF | |
| board: Core | |
| framework: Arduino | |
| espressif32: latest | |
| - example: NFCA_PolicyOverride | |
| board: Core | |
| framework: Arduino | |
| espressif32: latest | |
| # NFCA Detect on M5Dial with builtin WS1850S | |
| - example: NFCA_Detect | |
| board: Dial_Builtin | |
| framework: Arduino | |
| espressif32: latest | |
| # NFCB JapanIDCard (Core only) | |
| - example: NFCB_JapanIDCard | |
| board: Core | |
| framework: Arduino | |
| espressif32: latest | |
| # UHF sketches other than Detect (Core only). Detect carries the board axis above, | |
| # which is what covers the other compile configurations for this family | |
| - example: UHF_Dump | |
| board: Core | |
| framework: Arduino | |
| espressif32: latest | |
| - example: UHF_ReadWrite | |
| board: Core | |
| framework: Arduino | |
| espressif32: latest | |
| - example: UHF_ReaderSettings | |
| board: Core | |
| framework: Arduino | |
| espressif32: latest | |
| - example: UHF_Lock | |
| board: Core | |
| framework: Arduino | |
| espressif32: latest | |
| - example: UHF_Kill | |
| board: Core | |
| framework: Arduino | |
| espressif32: latest | |
| - example: UHF_WriteEPC | |
| board: Core | |
| framework: Arduino | |
| espressif32: latest | |
| - example: UHF_SleepIdle | |
| board: Core | |
| framework: Arduino | |
| espressif32: latest | |
| - example: UHF_MonzaQT | |
| board: Core | |
| framework: Arduino | |
| espressif32: latest | |
| - example: UHF_PermanentLock | |
| board: Core | |
| framework: Arduino | |
| espressif32: latest | |
| - example: UHF_NxpG2X | |
| board: Core | |
| framework: Arduino | |
| espressif32: latest | |
| - example: UHF_NxpReadProtect | |
| board: Core | |
| framework: Arduino | |
| espressif32: latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.10' | |
| - name: Install intelhex | |
| run: pip install intelhex | |
| - name: Build examples | |
| uses: karniv00l/platformio-run-action@v1 | |
| with: | |
| environments: ${{ format('{0}_{1}_{2}_{3}', matrix.example, matrix.board, matrix.framework, matrix.espressif32) }} | |
| project-dir: "./" | |
| project-conf: "./platformio.ini" |