Skip to content

Commit a181599

Browse files
committed
Arduino CI Tests
1 parent 34db83d commit a181599

File tree

1 file changed

+18
-13
lines changed

1 file changed

+18
-13
lines changed

.github/workflows/ArduinoBuild.yml

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ jobs:
4848
env: ${{fromJSON(needs.set_env.outputs.env)}}
4949

5050
strategy:
51+
fail-fast: false
5152
matrix:
5253

5354
board:
@@ -98,7 +99,7 @@ jobs:
9899
- { board: esp32c3, platform-version: 2.0.0 }
99100

100101

101-
fail-fast: false
102+
102103

103104
steps:
104105
- name: Checkout
@@ -108,33 +109,38 @@ jobs:
108109

109110
- name: Prepare variables for arduino-test-compile
110111
run: |
112+
# prepare some associative arrays to receive matrix-specific env vars
111113
declare -A board_urls
112114
declare -A cli_args
113115
declare -A fbqn_extras
114116
117+
# assign package URLs (per platform)
115118
board_urls[esp32]=${{env.esp32_board_url}}
116119
board_urls[esp8266]=${{env.esp8266_board_url}}
117120
board_urls[Seeeduino]=${{env.Seeeduino_board_url}}
118121
board_urls[rp2040]=${{env.rp2040_board_url}}
119122
123+
# assign optional cli args (per platform)
120124
cli_args[rp2040]="${{env.rp2040_cli_args}}"
121125
126+
# assign optional extra FQBN info (per board)
122127
fbqn_extras[d1_mini]="${{env.d1_mini_fbqn_extra}}"
123128
124-
platform_name=${{matrix.platform}}
129+
# collect the index names that will be used to populate the associative array
125130
board_name=${{matrix.board}}
131+
platform_name=${{matrix.platform}}
126132
127-
board_url=${board_urls[$platform_name]}
128-
board_args=${cli_args[$platform_name]}
129-
fqbn_extra=${fbqn_extras[$board_name]}
130-
131-
platform=${{matrix.platform}}:${{matrix.archi}}@${{matrix.platform-version}}
132-
fbqn=${{matrix.platform}}:${{matrix.archi}}:${{matrix.board}}${fqbn_extra}
133+
# populate values for the next step
134+
arduino_platform_url=${board_urls[$platform_name]}
135+
arduino_cli_args=${cli_args[$platform_name]}
136+
arduino_board_fqbn=${{matrix.platform}}:${{matrix.archi}}:${{matrix.board}}${fbqn_extras[$board_name]}
137+
arduino_platform=${{matrix.platform}}:${{matrix.archi}}@${{matrix.platform-version}}
133138
134-
echo "ARDUINO_PLATFORM=$platform" >> $GITHUB_ENV
135-
echo "ARDUINO_PLATFORM_URL=$board_url" >> $GITHUB_ENV
136-
echo "ARDUINO_CLI_ARGS=$board_args" >> $GITHUB_ENV
137-
echo "ARDUINO_BOARD_FQBN=$fbqn" >> $GITHUB_ENV
139+
# export to env
140+
echo "ARDUINO_PLATFORM=$arduino_platform" >> $GITHUB_ENV
141+
echo "ARDUINO_PLATFORM_URL=$arduino_platform_url" >> $GITHUB_ENV
142+
echo "ARDUINO_CLI_ARGS=$arduino_cli_args" >> $GITHUB_ENV
143+
echo "ARDUINO_BOARD_FQBN=$arduino_board_fqbn" >> $GITHUB_ENV
138144
139145
140146
- name: Compile example
@@ -146,7 +152,6 @@ jobs:
146152
platform-url: ${{env.ARDUINO_PLATFORM_URL}}
147153
required-libraries: ArduinoJson
148154
extra-arduino-cli-args: ${{env.ARDUINO_CLI_ARGS}}
149-
#extra-arduino-cli-args: ${{ matrix.cli-args }}
150155
#build-properties: ${{ toJson(matrix.build-properties) }}
151156
sketch-names: ${{ env.SKETCH_NAME }}
152157
#sketches-exclude: ${{ matrix.sketches-exclude }}

0 commit comments

Comments
 (0)