|
1 | 1 | name: Compile Examples |
| 2 | + |
2 | 3 | on: [push] |
| 4 | + |
3 | 5 | jobs: |
4 | 6 | build: |
5 | 7 | runs-on: ubuntu-latest |
@@ -31,32 +33,42 @@ jobs: |
31 | 33 | fqbn: soldered-inkplate-boards:esp32:Inkplate2 |
32 | 34 | additional-sketch-paths: | |
33 | 35 | - examples/Inkplate2 |
| 36 | +
|
34 | 37 | steps: |
35 | | - - name: Checkout |
36 | | - uses: actions/checkout@v3 |
37 | | - - name: Install ESP32 platform dependencies |
38 | | - run: pip3 install pyserial |
39 | | - - name: Debug toolchain path |
| 38 | + - name: Checkout repository |
| 39 | + uses: actions/checkout@v4 |
| 40 | + |
| 41 | + - name: Install Arduino CLI |
| 42 | + uses: arduino/setup-arduino-cli@v2 |
| 43 | + with: |
| 44 | + version: latest |
| 45 | + |
| 46 | + - name: Install ESP32 and Inkplate platforms |
40 | 47 | run: | |
41 | | - find ~/.arduino15/packages -type f -name "xtensa-esp32-elf-g++" || true |
42 | | - grep "compiler.path" ~/.arduino15/packages/soldered-inkplate-boards/hardware/esp32/2.0.0/platform.txt || true |
| 48 | + arduino-cli config init |
| 49 | + arduino-cli config add board_manager.additional_urls https://raw.githubusercontent.com/SolderedElectronics/Inkplate-Board-Definitions-for-Arduino-IDE/main/package_Inkplate_Boards_index.json |
| 50 | + arduino-cli core update-index |
| 51 | + arduino-cli core install soldered-inkplate-boards:esp32 |
| 52 | +
|
| 53 | + - name: Install dependencies |
| 54 | + run: | |
| 55 | + arduino-cli lib install ArduinoJson |
| 56 | + arduino-cli lib install Time |
| 57 | + arduino-cli lib install --git-url https://github.com/SolderedElectronics/Soldered-MFRC522-RFID-Reader-Arduino-Library.git |
| 58 | + arduino-cli lib install --git-url https://github.com/SolderedElectronics/Soldered-WS2812-Smart-Leds-Arduino-Library.git |
| 59 | + arduino-cli lib install --git-url https://github.com/SolderedElectronics/Soldered-BME280-BME680-Gas-Sensor-Arduino-Library.git |
| 60 | +
|
| 61 | + - name: Verify platform installation |
| 62 | + run: | |
| 63 | + echo "Installed platforms:" |
| 64 | + arduino-cli core list |
| 65 | + echo |
| 66 | + echo "Installed libraries:" |
| 67 | + arduino-cli lib list |
| 68 | +
|
43 | 69 | - name: Compile examples |
44 | | - uses: arduino/compile-sketches@v1 |
45 | | - with: |
46 | | - github-token: ${{ secrets.GITHUB_TOKEN }} |
47 | | - platforms: | |
48 | | - - source-url: https://raw.githubusercontent.com/SolderedElectronics/Inkplate-Board-Definitions-for-Arduino-IDE/main/package_Inkplate_Boards_index.json |
49 | | - name: soldered-inkplate-boards:esp32 |
50 | | -
|
51 | | - fqbn: ${{ matrix.board.fqbn }} |
52 | | - libraries: | |
53 | | - - source-path: ./ |
54 | | - - name: ArduinoJson |
55 | | - - name: Time |
56 | | - - source-url: https://github.com/SolderedElectronics/Soldered-MFRC522-RFID-Reader-Arduino-Library.git |
57 | | - - source-url: https://github.com/SolderedElectronics/Soldered-WS2812-Smart-Leds-Arduino-Library.git |
58 | | - - source-url: https://github.com/SolderedElectronics/Soldered-BME280-BME680-Gas-Sensor-Arduino-Library.git |
59 | | - sketch-paths: | |
60 | | - ${{ matrix.additional-sketch-paths }} |
61 | | - cli-compile-flags: | |
62 | | - - --warnings="default" |
| 70 | + run: | |
| 71 | + for sketch in ${{ matrix.additional-sketch-paths }}; do |
| 72 | + echo "Compiling $sketch for ${{ matrix.board.fqbn }}" |
| 73 | + arduino-cli compile --fqbn ${{ matrix.board.fqbn }} $sketch --warnings default |
| 74 | + done |
0 commit comments