Skip to content

Commit 48af1de

Browse files
committed
github: generate package_index json
1 parent ca064ec commit 48af1de

File tree

3 files changed

+97
-0
lines changed

3 files changed

+97
-0
lines changed

Diff for: .github/workflows/package_core.yml

+18
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,8 @@ jobs:
166166
env:
167167
CORE_ARTIFACT: ${{ needs.package-core.outputs.CORE_ARTIFACT }}
168168
ARTIFACT_FILE: ${{ needs.package-core.outputs.CORE_ARTIFACT }}.tar.bz2
169+
CORE_TAG: ${{ needs.package-core.outputs.CORE_TAG }}
170+
PACKAGE_INDEX_JSON: zephyr-core-${{ needs.package-core.outputs.CORE_TAG }}.json
169171
steps:
170172
- uses: actions/download-artifact@v4
171173
with:
@@ -179,3 +181,19 @@ jobs:
179181

180182
- name: Upload artifact
181183
run: aws s3 cp ${{ env.ARTIFACT_FILE }} s3://${{ secrets.S3_BUCKET }}/
184+
185+
- uses: actions/checkout@v4
186+
with:
187+
sparse-checkout: |
188+
extra/gen_package_index_json.sh
189+
extra/zephyr-core-template.json
190+
191+
# uses: ARTIFACT_FILE CORE_TAG PACKAGE_INDEX_JSON
192+
- name: Prepare package index snippet
193+
run: ./extra/gen_package_index_json.sh
194+
195+
- name: Archive package index snippet
196+
uses: actions/upload-artifact@v4
197+
with:
198+
name: ${{ env.PACKAGE_INDEX_JSON }}
199+
path: ${{ env.PACKAGE_INDEX_JSON }}

Diff for: extra/gen_package_index_json.sh

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
3+
if [ -z "$CORE_TAG" ]; then
4+
echo "This script can be used in Github CI only."
5+
exit 1
6+
fi
7+
8+
cat extra/zephyr-core-template.json | env -i \
9+
CORE_TAG=$CORE_TAG \
10+
ARTIFACT_FILE=$ARTIFACT_FILE \
11+
ARTIFACT_HASH=$(sha256sum $ARTIFACT_FILE | awk '{print $1}') \
12+
ARTIFACT_SIZE=$(stat -c %s $ARTIFACT_FILE) \
13+
envsubst > $PACKAGE_INDEX_JSON

Diff for: extra/zephyr-core-template.json

+66
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
{
2+
"packages": [
3+
{
4+
"platforms": [
5+
{
6+
"name": "Arduino Zephyr Boards",
7+
"architecture": "zephyr",
8+
"version": "${CORE_TAG}",
9+
"category": "Arduino",
10+
"url": "https://downloads.arduino.cc/cores/zephyr/${ARTIFACT_FILE}",
11+
"archiveFileName": "${ARTIFACT_FILE}",
12+
"checksum": "SHA-256:${ARTIFACT_HASH}",
13+
"size": "${ARTIFACT_SIZE}",
14+
"help": {
15+
"online": "https://www.arduino.cc/en/Reference/HomePage"
16+
},
17+
"boards": [
18+
{
19+
"name": "Arduino Giga"
20+
},
21+
{
22+
"name": "Arduino Nano 33 BLE"
23+
},
24+
{
25+
"name": "Arduino Portenta H7"
26+
},
27+
{
28+
"name": "Arduino Portenta C33"
29+
},
30+
{
31+
"name": "Renesas EK_RA8D1"
32+
},
33+
{
34+
"name": "NXP FRDM MCXN947"
35+
},
36+
{
37+
"name": "NXP FRDM RW612"
38+
}
39+
],
40+
"toolsDependencies": [
41+
{
42+
"packager": "zephyr",
43+
"name": "arm-zephyr-eabi",
44+
"version": "0.16.8"
45+
},
46+
{
47+
"packager": "arduino",
48+
"name": "dfu-util",
49+
"version": "0.11.0-arduino5"
50+
},
51+
{
52+
"packager": "arduino",
53+
"name": "bossac",
54+
"version": "1.9.1-arduino2"
55+
},
56+
{
57+
"packager": "arduino",
58+
"name": "zephyr-post-build-tool",
59+
"version": "0.1.0"
60+
}
61+
]
62+
}
63+
]
64+
}
65+
]
66+
}

0 commit comments

Comments
 (0)