From 681519d71c1da1b5dc20340806c79e6719466072 Mon Sep 17 00:00:00 2001 From: GOB Date: Thu, 17 Oct 2024 18:09:48 +0900 Subject: [PATCH] Add workflows --- .github/workflows/ArduinoBuild_2.yml | 100 ++++++++++++++++++++ .github/workflows/ArduinoBuild_3.yml | 107 ++++++++++++++++++++++ .github/workflows/PlatformioBuild.yml | 127 ++++++++++++++++++++++++++ platformio.ini | 69 +++++++------- 4 files changed, 369 insertions(+), 34 deletions(-) create mode 100644 .github/workflows/ArduinoBuild_2.yml create mode 100644 .github/workflows/ArduinoBuild_3.yml create mode 100644 .github/workflows/PlatformioBuild.yml diff --git a/.github/workflows/ArduinoBuild_2.yml b/.github/workflows/ArduinoBuild_2.yml new file mode 100644 index 0000000..200e22b --- /dev/null +++ b/.github/workflows/ArduinoBuild_2.yml @@ -0,0 +1,100 @@ +name: ArduinoBuild(platform-version 2.x) + +env: + SKETCH_NAMES_FIND_START: ./examples/UnitUnified + REQUIRED_LIBRARIES: M5Unified,M5UnitUnified + +on: + push: + tags-ignore: + - '*.*.*' + branches: + - '*' + paths: + - 'src/unit/**.cpp' + - 'src/unit/**.hpp' + - 'src/unit/**.h' + - 'src/unit/**.c' + - 'test/**.cpp' + - 'test/**.hpp' + - 'test/**.h' + - 'test/**.c' + - 'examples/UnitUnified/**.ino' + - 'examples/UnitUnified/**.cpp' + - 'examples/UnitUnified/**.hpp' + - 'examples/UnitUnified/**.h' + - 'examples/UnitUnified/**.c' + - '**ArduinoBuild_2.yml' + pull_request: + paths: + - 'src/unit/**.cpp' + - 'src/unit/**.hpp' + - 'src/unit/**.h' + - 'src/unit/**.c' + - 'test/**.cpp' + - 'test/**.hpp' + - 'test/**.h' + - 'test/**.c' + - 'examples/UnitUnified/**.ino' + - 'examples/UnitUnified/**.cpp' + - 'examples/UnitUnified/**.hpp' + - 'examples/UnitUnified/**.h' + - 'examples/UnitUnified/**.c' + - '**ArduinoBuild_2.yml' + workflow_dispatch: + +jobs: + build: + name: ${{ matrix.unit }}:${{ matrix.sketch }}:${{matrix.board}}@${{matrix.platform-version}} + runs-on: ubuntu-latest + + strategy: + fail-fast: false + #max-parallel: 1 + matrix: + platform-url: + - https://espressif.github.io/arduino-esp32/package_esp32_index.json + + unit: + - UnitWeightI2C +# - UnitMiniscale + + sketch: + - PlotToSerial + + board: + - m5stack-core-esp32 + - m5stack-core2 + - m5stack-atoms3 + - m5stack-cores3 + + platform-version: + #- 2.0.15 + #- 2.0.16 + - 2.0.17 + + platform: + - esp32 + + archi: + - esp32 + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha }} + + # 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: ${{ toJson(matrix.build-properties) }} + sketch-names: ${{ matrix.sketch }}.ino + sketch-names-find-start: ${{ env.SKETCH_NAMES_FIND_START }}/${{ matrix.unit }} + #sketches-exclude: ${{ matrix.sketches-exclude }} diff --git a/.github/workflows/ArduinoBuild_3.yml b/.github/workflows/ArduinoBuild_3.yml new file mode 100644 index 0000000..3b7219e --- /dev/null +++ b/.github/workflows/ArduinoBuild_3.yml @@ -0,0 +1,107 @@ +name: ArduinoBuild(platform-version 3.x) + +env: + SKETCH_NAMES_FIND_START: ./examples/UnitUnified + REQUIRED_LIBRARIES: M5Unified,M5UnitUnified + +on: + push: + tags-ignore: + - '*.*.*' + branches: + - '*' + paths: + - 'src/unit/**.cpp' + - 'src/unit/**.hpp' + - 'src/unit/**.h' + - 'src/unit/**.c' + - 'test/**.cpp' + - 'test/**.hpp' + - 'test/**.h' + - 'test/**.c' + - 'examples/UnitUnified/**.ino' + - 'examples/UnitUnified/**.cpp' + - 'examples/UnitUnified/**.hpp' + - 'examples/UnitUnified/**.h' + - 'examples/UnitUnified/**.c' + - '**ArduinoBuild_3.yml' + pull_request: + paths: + - 'src/unit/**.cpp' + - 'src/unit/**.hpp' + - 'src/unit/**.h' + - 'src/unit/**.c' + - 'test/**.cpp' + - 'test/**.hpp' + - 'test/**.h' + - 'test/**.c' + - 'examples/UnitUnified/**.ino' + - 'examples/UnitUnified/**.cpp' + - 'examples/UnitUnified/**.hpp' + - 'examples/UnitUnified/**.h' + - 'examples/UnitUnified/**.c' + - '**ArduinoBuild_3.yml' + workflow_dispatch: + +jobs: + build: + name: ${{ matrix.unit }}:${{ matrix.sketch }}:${{matrix.board}}@${{matrix.platform-version}} + runs-on: ubuntu-latest + + strategy: + fail-fast: false + #max-parallel: 1 + matrix: + platform-url: + - https://espressif.github.io/arduino-esp32/package_esp32_index.json + + unit: + - UnitWeightI2C +# - UnitMiniscale + + sketch: + - PlotToSerial + + board: + - m5stack_core + - m5stack_core2 + - m5stack_atoms3 + - m5stack_cores3 + - m5stack_dial + - m5stack_nanoc6 + - m5stack_paper + - m5stack_stickc_plus + + platform-version: + #- 3.0.0 + #- 3.0.1 + #- 3.0.2 + #- 3.0.3 + - 3.0.4 + + platform: + - esp32 + + archi: + - esp32 + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha }} + + # 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: ${{ toJson(matrix.build-properties) }} + sketch-names: ${{ matrix.sketch }}.ino + sketch-names-find-start: ${{ env.SKETCH_NAMES_FIND_START }}/${{ matrix.unit }} + #sketches-exclude: ${{ matrix.sketches-exclude }} + diff --git a/.github/workflows/PlatformioBuild.yml b/.github/workflows/PlatformioBuild.yml new file mode 100644 index 0000000..f0b3fe8 --- /dev/null +++ b/.github/workflows/PlatformioBuild.yml @@ -0,0 +1,127 @@ +name: PlatformIOBuild + +on: + push: + tags-ignore: + - '*.*.*' + branches: + - '*' + paths: + - 'src/unit/**.cpp' + - 'src/unit/**.hpp' + - 'src/unit/**.h' + - 'src/unit/**.c' + - 'test/**.cpp' + - 'test/**.hpp' + - 'test/**.h' + - 'test/**.c' + - 'examples/UnitUnified/**.ino' + - 'examples/UnitUnified/**.cpp' + - 'examples/UnitUnified/**.hpp' + - 'examples/UnitUnified/**.h' + - 'examples/UnitUnified/**.c' + - '**PlatformioBuild.yml' + - '**platformio.ini' + pull_request: + paths: + - 'src/unit/**.cpp' + - 'src/unit/**.hpp' + - 'src/unit/**.h' + - 'src/unit/**.c' + - 'test/**.cpp' + - 'test/**.hpp' + - 'test/**.h' + - 'test/**.c' + - 'examples/UnitUnified/**.ino' + - 'examples/UnitUnified/**.cpp' + - 'examples/UnitUnified/**.hpp' + - 'examples/UnitUnified/**.h' + - 'examples/UnitUnified/**.c' + - '**PlatformioBuild.yml' + - '**platformio.ini' + workflow_dispatch: + +jobs: + build: + name: ${{ matrix.unit }}:${{ matrix.example }}:${{ matrix.board }}:${{ matrix.framework }}@${{ matrix.espressif32 }} + runs-on: ubuntu-latest + + strategy: + fail-fast: false + #max-parallel: 1 + + matrix: + unit: + - UnitWeightI2C +# - UnitMiniscale + + example: + - PlotToSerial + + board: + - Core + - Core2 + - CoreS3 + - StampS3 + - AtomS3 + - Dial + - NanoC6 + - StickCPlus + - Paper + - Fire + + framework: + - Arduino + + espressif32: + - latest + - '5_4_0' + - '4_4_0' + + exclude: + - board: CoreS3 + espressif32: '5_4_0' + - board: CoreS3 + espressif32: '4_4_0' + - board: StampS3 + espressif32: '5_4_0' + - board: StampS3 + espressif32: '4_4_0' + - board: AtomS3 + espressif32: '5_4_0' + - board: AtomS3 + espressif32: '4_4_0' + - board: Dial + espressif32: '5_4_0' + - board: Dial + espressif32: '4_4_0' + - board: NanoC6 + espressif32: '5_4_0' + - board: NanoC6 + espressif32: '4_4_0' + - board: StickCPlus + espressif32: '5_4_0' + - board: StickCPlus + espressif32: '4_4_0' + - board: Paper + espressif32: '5_4_0' + - board: Paper + espressif32: '4_4_0' + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha }} + + - name: Build examples + uses: karniv00l/platformio-run-action@v1 + with: + environments: ${{ matrix.unit }}_${{ matrix.example }}_${{ matrix.board }}_${{ matrix.framework }}_${{ matrix.espressif32 }} + #targets: + project-dir: "./" + project-conf: "./platformio.ini" + #jobs: 6 + #silent: false + #verbose: true + #disable-auto-clean: false diff --git a/platformio.ini b/platformio.ini index 418804f..072ccce 100644 --- a/platformio.ini +++ b/platformio.ini @@ -4,7 +4,8 @@ ;----------------------------------------------------------------------- [platformio] ;default_envs = test_UnitWeightI2C_Core, test_UnitWeightI2C_Core2, test_UnitWeightI2C_CoreS3, test_UnitWeightI2C_Fire, test_UnitWeightI2C_StampS3, test_UnitWeightI2C_Dial, test_UnitWeightI2C_AtomS3, test_UnitWeightI2C_NanoC6, test_UnitWeightI2C_StickCPlus, test_UnitWeightI2C_Paper, test_UnitMiniscale_Core, test_UnitMiniscale_Core2, test_UnitMiniscale_CoreS3, test_UnitMiniscale_Fire, test_UnitMiniscale_StampS3, test_UnitMiniscale_Dial, test_UnitMiniscale_AtomS3, test_UnitMiniscale_NanoC6, test_UnitMiniscale_StickCPlus, test_UnitMiniscale_Paper -;default_envs = PlotToSerial_Core_Arduino_latest, PlotToSerial_Core_Arduino_5_4_0, PlotToSerial_Core_Arduino_4_4_0, PlotToSerial_Core2_Arduino_latest, PlotToSerial_Core2_Arduino_5_4_0, PlotToSerial_Core2_Arduino_4_4_0, PlotToSerial_CoreS3_Arduino_latest, PlotToSerial_Fire_Arduino_latest, PlotToSerial_Fire_Arduino_5_4_0, PlotToSerial_Fire_Arduino_4_4_0, PlotToSerial_StampS3_Arduino_latest, PlotToSerial_AtomS3_Arduino_latest, PlotToSerial_Dial_Arduino_latest, PlotToSerial_NanoC6_Arduino_latest, PlotToSerial_StickCPlus_Arduino_latest, PlotToSerial_Paper_Arduino_latest +;default_envs = UnitWeightI2C_PlotToSerial_Core_Arduino_latest, UnitWeightI2C_PlotToSerial_Core_Arduino_5_4_0, UnitWeightI2C_PlotToSerial_Core_Arduino_4_4_0, UnitWeightI2C_PlotToSerial_Core2_Arduino_latest, UnitWeightI2C_PlotToSerial_Core2_Arduino_5_4_0, UnitWeightI2C_PlotToSerial_Core2_Arduino_4_4_0, UnitWeightI2C_PlotToSerial_CoreS3_Arduino_latest, UnitWeightI2C_PlotToSerial_Fire_Arduino_latest, UnitWeightI2C_PlotToSerial_Fire_Arduino_5_4_0, UnitWeightI2C_PlotToSerial_Fire_Arduino_4_4_0, UnitWeightI2C_PlotToSerial_StampS3_Arduino_latest, UnitWeightI2C_PlotToSerial_AtomS3_Arduino_latest, UnitWeightI2C_PlotToSerial_Dial_Arduino_latest, UnitWeightI2C_PlotToSerial_NanoC6_Arduino_latest, UnitWeightI2C_PlotToSerial_StickCPlus_Arduino_latest, UnitWeightI2C_PlotToSerial_Paper_Arduino_latest + [env] build_flags =-Wall -Wextra -Wreturn-local-addr -Werror=format -Werror=return-local-addr @@ -287,67 +288,67 @@ test_filter= embedded/test_miniscale ; -------------------------------- ;Examples by M5UnitUnified ; -------------------------------- -;PlotToSerial -[env:PlotToSerial_Core_Arduino_latest] +;UnitWeightI2C +[env:UnitWeightI2C_PlotToSerial_Core_Arduino_latest] extends=Core, option_release, arduino_latest -build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/PlotToSerial> +build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/UnitWeightI2C/PlotToSerial> -[env:PlotToSerial_Core_Arduino_5_4_0] +[env:UnitWeightI2C_PlotToSerial_Core_Arduino_5_4_0] extends=Core, option_release, arduino_5_4_0 -build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/PlotToSerial> +build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/UnitWeightI2C/PlotToSerial> -[env:PlotToSerial_Core_Arduino_4_4_0] +[env:UnitWeightI2C_PlotToSerial_Core_Arduino_4_4_0] extends=Core, option_release, arduino_5_4_0 -build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/PlotToSerial> +build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/UnitWeightI2C/PlotToSerial> -[env:PlotToSerial_Core2_Arduino_latest] +[env:UnitWeightI2C_PlotToSerial_Core2_Arduino_latest] extends=Core2, option_release, arduino_latest -build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/PlotToSerial> +build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/UnitWeightI2C/PlotToSerial> -[env:PlotToSerial_Core2_Arduino_5_4_0] +[env:UnitWeightI2C_PlotToSerial_Core2_Arduino_5_4_0] extends=Core2, option_release, arduino_5_4_0 -build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/PlotToSerial> +build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/UnitWeightI2C/PlotToSerial> -[env:PlotToSerial_Core2_Arduino_4_4_0] +[env:UnitWeightI2C_PlotToSerial_Core2_Arduino_4_4_0] extends=Core2, option_release, arduino_4_4_0 -build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/PlotToSerial> +build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/UnitWeightI2C/PlotToSerial> -[env:PlotToSerial_CoreS3_Arduino_latest] +[env:UnitWeightI2C_PlotToSerial_CoreS3_Arduino_latest] extends=CoreS3, option_release, arduino_latest -build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/PlotToSerial> +build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/UnitWeightI2C/PlotToSerial> -[env:PlotToSerial_Fire_Arduino_latest] +[env:UnitWeightI2C_PlotToSerial_Fire_Arduino_latest] extends=Fire, option_release, arduino_latest -build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/PlotToSerial> +build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/UnitWeightI2C/PlotToSerial> -[env:PlotToSerial_Fire_Arduino_5_4_0] +[env:UnitWeightI2C_PlotToSerial_Fire_Arduino_5_4_0] extends=Fire, option_release, arduino_5_4_0 -build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/PlotToSerial> +build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/UnitWeightI2C/PlotToSerial> -[env:PlotToSerial_Fire_Arduino_4_4_0] +[env:UnitWeightI2C_PlotToSerial_Fire_Arduino_4_4_0] extends=Fire, option_release, arduino_4_4_0 -build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/PlotToSerial> +build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/UnitWeightI2C/PlotToSerial> -[env:PlotToSerial_StampS3_Arduino_latest] +[env:UnitWeightI2C_PlotToSerial_StampS3_Arduino_latest] extends=StampS3, option_release, arduino_latest -build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/PlotToSerial> +build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/UnitWeightI2C/PlotToSerial> -[env:PlotToSerial_AtomS3_Arduino_latest] +[env:UnitWeightI2C_PlotToSerial_AtomS3_Arduino_latest] extends=AtomS3, option_release, arduino_latest -build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/PlotToSerial> +build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/UnitWeightI2C/PlotToSerial> -[env:PlotToSerial_Dial_Arduino_latest] +[env:UnitWeightI2C_PlotToSerial_Dial_Arduino_latest] extends=Dial, option_release, arduino_latest -build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/PlotToSerial> +build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/UnitWeightI2C/PlotToSerial> -[env:PlotToSerial_NanoC6_Arduino_latest] +[env:UnitWeightI2C_PlotToSerial_NanoC6_Arduino_latest] extends=NanoC6, option_release, arduino_latest -build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/PlotToSerial> +build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/UnitWeightI2C/PlotToSerial> -[env:PlotToSerial_StickCPlus_Arduino_latest] +[env:UnitWeightI2C_PlotToSerial_StickCPlus_Arduino_latest] extends=StickCPlus, option_release, arduino_latest -build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/PlotToSerial> +build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/UnitWeightI2C/PlotToSerial> -[env:PlotToSerial_Paper_Arduino_latest] +[env:UnitWeightI2C_PlotToSerial_Paper_Arduino_latest] extends=Paper, option_release, arduino_latest -build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/PlotToSerial> +build_src_filter = +<*> -<.git/> -<.svn/> +<../examples/UnitUnified/UnitWeightI2C/PlotToSerial>