Skip to content

Commit 86a82db

Browse files
committed
ci/package_core: refactor to prepare platform independence
Rename BOARD_VARIANTS to ALL_BOARD_DATA to reflect that it contains more than just board variants. Define PLAT environment variable so that it can be easily changed to build other platforms than arduino:zephyr. Signed-off-by: Luca Burelli <[email protected]>
1 parent 8aa7acb commit 86a82db

File tree

1 file changed

+16
-14
lines changed

1 file changed

+16
-14
lines changed

.github/workflows/package_core.yml

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
outputs:
1515
CORE_TAG: ${{ env.CORE_TAG }}
1616
CORE_ARTIFACT: ${{ env.CORE_ARTIFACT }}
17-
BOARD_VARIANTS: ${{ env.BOARD_VARIANTS }}
17+
ALL_BOARD_DATA: ${{ env.ALL_BOARD_DATA }}
1818
steps:
1919
- name: Install OS dependencies
2020
working-directory: /opt
@@ -34,7 +34,7 @@ jobs:
3434
yes | ./extra/bootstrap.sh -o=--filter=tree:0
3535
echo "CORE_TAG=$(git describe --tags --exact-match || git describe --always)" >> "$GITHUB_ENV"
3636
echo "CORE_ARTIFACT=ArduinoCore-zephyr-$(git describe --always)" >> "$GITHUB_ENV"
37-
echo "BOARD_VARIANTS=$(extra/get_board_details.sh | jq -cr 'sort_by(.variant)')" >> "$GITHUB_ENV"
37+
echo "ALL_BOARD_DATA=$(extra/get_board_details.sh | jq -cr 'sort_by(.variant)')" >> "$GITHUB_ENV"
3838
3939
- name: ccache
4040
uses: hendrikmuhs/[email protected]
@@ -48,7 +48,7 @@ jobs:
4848
4949
- name: Package core
5050
run: |
51-
./extra/package_core.sh ${{ env.CORE_TAG }} distrib/${{ env.CORE_ARTIFACT }}.tar.bz2
51+
./extra/package_core.sh ${CORE_TAG} distrib/${CORE_ARTIFACT}.tar.bz2
5252
5353
- name: Archive core
5454
uses: actions/upload-artifact@v4
@@ -63,19 +63,21 @@ jobs:
6363
strategy:
6464
matrix:
6565
include:
66-
${{ fromJSON( needs.package-core.outputs.BOARD_VARIANTS ) }}
66+
${{ fromJSON( needs.package-core.outputs.ALL_BOARD_DATA ) }}
6767
fail-fast: false
6868
env:
69+
PLAT: arduino:zephyr
6970
FQBN: arduino:zephyr:${{ matrix.board }}
70-
REPORT_FILE: arduino-zephyr-${{ matrix.board }}.json
71+
CORE_ARTIFACT: ${{ needs.package-core.outputs.CORE_ARTIFACT }}
7172
steps:
7273
- uses: actions/download-artifact@v4
7374
with:
74-
name: ${{ needs.package-core.outputs.CORE_ARTIFACT }}
75+
name: ${{ env.CORE_ARTIFACT }}
7576

7677
- name: Set up core
7778
run: |
78-
tar xf ${{ needs.package-core.outputs.CORE_ARTIFACT }}.tar.bz2
79+
tar xf ${CORE_ARTIFACT}.tar.bz2
80+
echo "REPORT_FILE=$(echo ${FQBN} | tr ':' '-').json" >> $GITHUB_ENV
7981
8082
- name: Create Blink sketch
8183
run: |
@@ -90,7 +92,7 @@ jobs:
9092
# Use Board Manager to install the latest release of Arduino Zephyr Boards to get the toolchain
9193
- name: "arduino:zephyr"
9294
source-url: "https://downloads.arduino.cc/packages/package_zephyr_index.json"
93-
- name: "arduino:zephyr"
95+
- name: ${{ env.PLAT }}
9496
source-path: "ArduinoCore-zephyr"
9597
sketch-paths: Blink
9698
cli-compile-flags: |
@@ -137,7 +139,7 @@ jobs:
137139
- test-core
138140
if: ${{ !cancelled() && needs.package-core.result == 'success' }}
139141
env:
140-
BOARD_VARIANTS: ${{ needs.package-core.outputs.BOARD_VARIANTS }}
142+
ALL_BOARD_DATA: ${{ needs.package-core.outputs.ALL_BOARD_DATA }}
141143
steps:
142144
- uses: actions/download-artifact@v4
143145
with:
@@ -147,11 +149,11 @@ jobs:
147149

148150
- run: |
149151
echo "### Core test results:" >> "$GITHUB_STEP_SUMMARY"
150-
jq -c '.[]' <<< "$BOARD_VARIANTS" | while read -r BOARD_VARIANT; do
151-
BOARD=$(echo $BOARD_VARIANT | jq -cr '.board')
152-
VARIANT=$(echo $BOARD_VARIANT | jq -cr '.variant')
152+
jq -c '.[]' <<< "$ALL_BOARD_DATA" | while read -r BOARD_DATA; do
153+
BOARD=$(echo $BOARD_DATA | jq -cr '.board')
154+
VARIANT=$(echo $BOARD_DATA | jq -cr '.variant')
153155
FQBN="arduino:zephyr:$BOARD"
154-
REPORT_FILE="arduino-zephyr-$BOARD.json"
156+
REPORT_FILE="$(echo $FQBN | tr ':' '-').json"
155157
if [ ! -f $REPORT_FILE ]; then
156158
echo "* :x: $BOARD (`$VARIANT`) - No report found?" >> "$GITHUB_STEP_SUMMARY"
157159
else
@@ -221,7 +223,7 @@ jobs:
221223
aws-region: ${{ secrets.AWS_REGION }}
222224

223225
- name: Upload artifact
224-
run: aws s3 cp ${{ env.ARTIFACT_FILE }} s3://${{ secrets.S3_BUCKET }}/
226+
run: aws s3 cp ${ARTIFACT_FILE} s3://${{ secrets.S3_BUCKET }}/
225227

226228
publish-json:
227229
name: Publish json

0 commit comments

Comments
 (0)