Merge pull request #182 from lovyan03/develop #2
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: Arduino Build | |
| on: | |
| push: | |
| paths: | |
| - '**.ino' | |
| - '**.cpp' | |
| - '**.hpp' | |
| - '**.h' | |
| - '**.c' | |
| - '.github/workflows/ArduinoBuild.yml' | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| name: ${{ matrix.board }} (${{ matrix.esp32_version }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| # =================== | |
| # Espressif Board Manager | |
| # =================== | |
| # ESP32 | |
| - board: esp32:esp32:esp32 | |
| esp32_version: 2.0.17 | |
| board_manager_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| - board: esp32:esp32:esp32 | |
| esp32_version: 3.1.1 | |
| board_manager_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| # ESP32-S3 | |
| - board: esp32:esp32:esp32s3 | |
| esp32_version: 2.0.17 | |
| board_manager_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| - board: esp32:esp32:esp32s3 | |
| esp32_version: 3.1.1 | |
| board_manager_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| # ESP32-C3 | |
| - board: esp32:esp32:esp32c3 | |
| esp32_version: 2.0.17 | |
| board_manager_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| - board: esp32:esp32:esp32c3 | |
| esp32_version: 3.1.1 | |
| board_manager_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| # ESP32-C6 (v3 only) | |
| - board: esp32:esp32:esp32c6 | |
| esp32_version: 3.1.1 | |
| board_manager_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| # ESP32-P4 (v3 only) | |
| - board: esp32:esp32:esp32p4 | |
| esp32_version: 3.1.1 | |
| board_manager_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| # ESP32-H2 (v3 only) | |
| - board: esp32:esp32:esp32h2 | |
| esp32_version: 3.1.1 | |
| board_manager_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json | |
| # =================== | |
| # M5Stack Board Manager | |
| # =================== | |
| # M5Core (ESP32) | |
| - board: m5stack:esp32:m5stack_core | |
| esp32_version: 2.1.4 | |
| board_manager_url: https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json | |
| - board: m5stack:esp32:m5stack_core | |
| esp32_version: 3.2.5 | |
| board_manager_url: https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json | |
| # M5CoreS3 (ESP32-S3, v3 only) | |
| - board: m5stack:esp32:m5stack_cores3 | |
| esp32_version: 3.2.5 | |
| board_manager_url: https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install arduino-cli | |
| run: | | |
| curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh -s 1.1.1 | |
| echo "$PWD/bin" >> $GITHUB_PATH | |
| - name: Configure arduino-cli | |
| run: | | |
| arduino-cli config init | |
| arduino-cli config add board_manager.additional_urls ${{ matrix.board_manager_url }} | |
| - name: Install board package | |
| run: | | |
| arduino-cli core update-index | |
| # Extract core (package:architecture) from FQBN (package:architecture:board) | |
| CORE=$(echo "${{ matrix.board }}" | cut -d: -f1,2) | |
| arduino-cli core install "${CORE}@${{ matrix.esp32_version }}" | |
| - name: Install library | |
| run: | | |
| mkdir -p "$HOME/Arduino/libraries" | |
| ln -s "$GITHUB_WORKSPACE" "$HOME/Arduino/libraries/M5GFX" | |
| - name: Build | |
| run: | | |
| arduino-cli compile --fqbn ${{ matrix.board }} examples/Test/build_test/build_test.ino |