From 2d465fbaebb78eaaf4656454940a710f589fc638 Mon Sep 17 00:00:00 2001 From: GOB Date: Fri, 6 Feb 2026 16:18:34 +0900 Subject: [PATCH] Add workflow --- .../workflows/arduino-esp-v2-build-check.yml | 27 ++- .../workflows/arduino-esp-v3-build-check.yml | 229 ++++++++++++++++++ 2 files changed, 243 insertions(+), 13 deletions(-) create mode 100644 .github/workflows/arduino-esp-v3-build-check.yml diff --git a/.github/workflows/arduino-esp-v2-build-check.yml b/.github/workflows/arduino-esp-v2-build-check.yml index 722b602..35fb165 100644 --- a/.github/workflows/arduino-esp-v2-build-check.yml +++ b/.github/workflows/arduino-esp-v2-build-check.yml @@ -48,7 +48,7 @@ jobs: build: name: ${{ matrix.unit }}:${{matrix.nfc}}:${{ matrix.sketch }}:${{matrix.board}}@${{matrix.platform-version}}:${{matrix.build-properties}} runs-on: ubuntu-latest - timeout-minutes: 5 + timeout-minutes: 12 strategy: fail-fast: false @@ -79,6 +79,19 @@ jobs: build-properties: - "-DUSING_UNIT_NFC" + unit: + - '' + + platform-version: + - 2.0.17 + + platform: + - esp32 + + archi: + - esp32 + + include: # Specific sketches - sketch: Dump @@ -189,18 +202,6 @@ jobs: build-properties: "-DUSING_UNIT_NFC" - unit: - - '' - - platform-version: - - 2.0.17 - - platform: - - esp32 - - archi: - - esp32 - steps: - name: Install dependencies (act only) if: ${{ env.ACT }} diff --git a/.github/workflows/arduino-esp-v3-build-check.yml b/.github/workflows/arduino-esp-v3-build-check.yml new file mode 100644 index 0000000..d58c368 --- /dev/null +++ b/.github/workflows/arduino-esp-v3-build-check.yml @@ -0,0 +1,229 @@ +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/unit/**.cpp' + - 'src/unit/**.hpp' + - 'src/unit/**.h' + - 'src/unit/**.c' + - 'examples/UnitUnified/**.ino' + - 'examples/UnitUnified/**.cpp' + - 'examples/UnitUnified/**.hpp' + - 'examples/UnitUnified/**.h' + - 'examples/UnitUnified/**.c' + - '**arduino-esp-v3-build-check.yml' + pull_request: + paths: + - 'src/unit/**.cpp' + - 'src/unit/**.hpp' + - 'src/unit/**.h' + - 'src/unit/**.c' + - 'examples/UnitUnified/**.ino' + - 'examples/UnitUnified/**.cpp' + - 'examples/UnitUnified/**.hpp' + - 'examples/UnitUnified/**.h' + - 'examples/UnitUnified/**.c' + - '**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.unit }}:${{matrix.nfc}}:${{ matrix.sketch }}:${{matrix.board}}@${{matrix.platform-version}}:${{matrix.build-properties}} + 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 + + nfc: + - NFCA + - NFCB + - NFCF + - NFCV + + unit: + - '' + + board: + - m5stack_atom + - m5stack_atoms3 + - m5stack_capsule +# - m5stack_cardputer + - m5stack_core + - m5stack_core2 + - m5stack_coreink + - m5stack_cores3 + - m5stack_dial + - m5stack_fire + - m5stack_nanoc6 + - m5stack_paper +# - m5stack_poe_cam +# - m5stack_stamp_c3 +# - m5stack_stamp_pico + - m5stack_stamp_s3 +# - m5stack_station +# - m5stack_stickc + - m5stack_stickc_plus + - m5stack_stickc_plus2 +# - m5stack_timer_cam +# - m5stack_tough +# - m5stack_unit_cam +# - m5stack_unit_cams3 + + platform-version: + - 3.1.3 + + platform: + - esp32 + + archi: + - esp32 + + build-properties: + - "-DUSING_UNIT_NFC" + + include: + # NFCA Specific sketches + - sketch: Dump + nfc: NFCA + platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json + platform-version: 3.0.4 + platform: esp32 + archi: esp32 + board: m5stack_core + - sketch: ValueBlock + nfc: NFCA + platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json + platform-version: 3.0.4 + platform: esp32 + archi: esp32 + board: m5stack_core + - sketch: ReadWrite + nfc: NFCA + platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json + platform-version: 3.0.4 + platform: esp32 + archi: esp32 + board: m5stack_core + - sketch: NDEF + nfc: NFCA + platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json + platform-version: 3.0.4 + platform: esp32 + archi: esp32 + board: m5stack_core + - sketch: Emulation + nfc: NFCA + platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json + platform-version: 3.0.4 + platform: esp32 + archi: esp32 + board: m5stack_core + + # NFCF Specific sketches + - sketch: Dump + nfc: NFCF + platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json + platform-version: 3.0.4 + platform: esp32 + archi: esp32 + board: m5stack_core + - sketch: NDEF + nfc: NFCF + platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json + platform-version: 3.0.4 + platform: esp32 + archi: esp32 + board: m5stack_core + - sketch: Subtract + nfc: NFCF + platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json + platform-version: 3.0.4 + platform: esp32 + archi: esp32 + board: m5stack_core + - sketch: ReadWriteMAC + nfc: NFCF + platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json + platform-version: 3.0.4 + platform: esp32 + archi: esp32 + board: m5stack_core + - sketch: JapanTransportationICCard + nfc: NFCF + platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json + platform-version: 3.0.4 + platform: esp32 + archi: esp32 + board: m5stack_core + - sketch: Emulation + nfc: NFCF + platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json + platform-version: 3.0.4 + platform: esp32 + archi: esp32 + board: m5stack_core + + # NFCV Specific sketches + - sketch: Dump + nfc: NFCV + platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json + platform-version: 3.0.4 + platform: esp32 + archi: esp32 + board: m5stack_core + - sketch: NDEF + nfc: NFCV + platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json + platform-version: 3.0.4 + platform: esp32 + archi: esp32 + board: m5stack_core + + steps: + - name: Install dependencies (act only) + if: ${{ env.ACT }} + run: apt-get update && apt-get install -y python3-serial + + - name: Checkout + uses: actions/checkout@v4 + + # Build + - name: Compile examples + uses: ArminJo/arduino-test-compile@master + with: + arduino-board-fqbn: ${{ matrix.platform }}:${{ matrix.archi }}:${{ matrix.board }} + arduino-platform: ${{ matrix.platform }}:${{ matrix.archi }}@${{ matrix.platform-version }} + platform-url: ${{ matrix.platform-url }} + required-libraries: ${{ env.REQUIRED_LIBRARIES }} + extra-arduino-cli-args: ${{ matrix.cli-args }} + build-properties: ${{ matrix.build-properties }} + sketch-names: ${{ matrix.sketch }}.ino + sketch-names-find-start: ${{ env.SKETCH_NAMES_FIND_START }}/${{matrix.nfc}}/ + #sketches-exclude: ${{ matrix.sketches-exclude }}