@@ -613,6 +613,117 @@ jobs:
613
613
wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.uf2
614
614
wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.bin
615
615
616
+ build-esp32-dev :
617
+ name : Build WipperSnapper ESP32/Cx DEV BUILDS
618
+ runs-on : ubuntu-latest
619
+ strategy :
620
+ fail-fast : false
621
+ matrix :
622
+ arduino-platform :
623
+ [
624
+ " wippersnapper_feather_esp32c6_debug" ,
625
+ ]
626
+ include :
627
+ - offset : " 0x1000"
628
+ - offset : " 0x0"
629
+ arduino-platform : " wippersnapper_feather_esp32c6_debug"
630
+ steps :
631
+ - uses : actions/setup-python@v4
632
+ with :
633
+ python-version : " 3.x"
634
+ - uses : actions/checkout@v4
635
+ - name : Get WipperSnapper version
636
+ run : |
637
+ git fetch --prune --unshallow --tags
638
+ git describe --dirty --tags
639
+ echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags)
640
+ - uses : actions/checkout@v4
641
+ with :
642
+ repository : adafruit/ci-arduino
643
+ path : ci
644
+ - name : Checkout Board Definitions
645
+ uses : actions/checkout@v4
646
+ with :
647
+ repository : adafruit/Wippersnapper_Boards
648
+ path : ws-boards
649
+ - name : Install CI-Arduino
650
+ run : bash ci/actions_install.sh
651
+ - name : Install extra Arduino libraries
652
+ run : |
653
+ git clone --quiet https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
654
+ git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
655
+ - name : Download and install stable Nanopb
656
+ run : |
657
+ # Download and extract nanopb
658
+ wget https://jpa.kapsi.fi/nanopb/download/nanopb-0.4.8.tar.gz
659
+ tar -xf nanopb-0.4.8.tar.gz
660
+ # Copy files to WipperSnapper's src/nanopb directory
661
+ cp nanopb/pb_common.* nanopb/pb_encode.* nanopb/pb_decode.* src/nanopb
662
+ mv nanopb/pb.h src/nanopb/nanopb.pb.h
663
+ - name : Install Dependencies
664
+ run : |
665
+ pip3 install esptool
666
+ - name : build ESP32 platforms
667
+ run : python3 ci/build_platform.py ${{ matrix.arduino-platform }} --build_timeout 48000
668
+ - name : Check artifacts
669
+ run : |
670
+ ls examples/wippersnapper_debug/build/*
671
+ - name : Rename build artifacts to reflect the platform name
672
+ run : |
673
+ mv examples/wippersnapper_debug/build/*/wippersnapper_debug.ino.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bin
674
+ mv examples/wippersnapper_debug/build/*/wippersnapper_debug.ino.elf wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.elf
675
+ mv examples/wippersnapper_debug/build/*/wippersnapper_debug.ino.map wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.map
676
+ mv examples/wippersnapper_debug/build/*/wippersnapper_debug.ino.bootloader.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bootloader.bin
677
+ mv examples/wippersnapper_debug/build/*/wippersnapper_debug.ino.partitions.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.partitions.bin
678
+ - name : Check boot_app0 file existence (esp32 built from core, not-source)
679
+ id : check_files
680
+ uses : andstor/file-existence-action@v2
681
+ with :
682
+ files : " /home/runner/.arduino15/packages/esp32/hardware/esp32/*/tools/partitions/boot_app0.bin"
683
+ - name : boot_app0 file from arduino-cli core
684
+ if : steps.check_files.outputs.files_exists == 'true'
685
+ run : mv /home/runner/.arduino15/packages/esp32/hardware/esp32/*/tools/partitions/boot_app0.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.boot_app0.bin
686
+ - name : boot_app0 file from esp32 source bsp
687
+ if : steps.check_files.outputs.files_exists == 'false'
688
+ run : mv /home/runner/Arduino/hardware/espressif/esp32/tools/partitions/boot_app0.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.boot_app0.bin
689
+ - name : Get Board Flash Parameters
690
+ id : get_board_json
691
+ run : |
692
+ board_name=${{ matrix.arduino-platform }}
693
+ # Remove '_noota' suffix if present
694
+ board_name=${board_name%_noota}
695
+ # Remove 'wippersnapper_' prefix if present
696
+ board_name=${board_name#wippersnapper_}
697
+ content=$(cat ws-boards/boards/${board_name//_/-}/definition.json)
698
+ {
699
+ echo 'boardJson<<EOF'
700
+ echo $content
701
+ echo EOF
702
+ } >> "$GITHUB_OUTPUT"
703
+ - name : Create combined binary using Esptool merge_bin
704
+ run : |
705
+ echo ${{ steps.get_board_json.outputs.boardJson }}
706
+ echo ${{ fromJson(steps.get_board_json.outputs.boardJson) }}
707
+ python3 -m esptool --chip ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.chip}} merge_bin \
708
+ --flash_mode ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashMode}} \
709
+ --flash_freq ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashFreq}} \
710
+ --flash_size ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashSize}} \
711
+ -o wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.combined.bin \
712
+ ${{ matrix.offset }} wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bootloader.bin \
713
+ 0x8000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.partitions.bin \
714
+ 0xe000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.boot_app0.bin \
715
+ 0x10000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bin
716
+ - name : Zip build artifacts
717
+ run : |
718
+ zip -r wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.zip wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.*
719
+ - name : upload build artifacts zip
720
+ uses : actions/upload-artifact@v3
721
+ with :
722
+ name : build-files-dev
723
+ path : |
724
+ wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.zip
725
+
726
+
616
727
clang_and_doxy :
617
728
runs-on : ubuntu-latest
618
729
needs :
0 commit comments