@@ -13,12 +13,13 @@ jobs:
1313 CCACHE_IGNOREOPTIONS : -specs=*
1414 outputs :
1515 CORE_TAG : ${{ env.CORE_TAG }}
16- CORE_ARTIFACT : ${{ env.CORE_ARTIFACT }}
16+ CORE_HASH : ${{ env.CORE_HASH }}
1717 ALL_BOARD_DATA : ${{ env.ALL_BOARD_DATA }}
1818 steps :
1919 - name : Install OS dependencies
2020 working-directory : /opt
2121 run : |
22+ sudo apt-get remove --purge man-db -y # skips the mandb triggers
2223 sudo apt-get update
2324 sudo apt-get install -y --no-install-recommends git cmake wget python3-pip ninja-build ccache
2425
3233 - name : Initialize Zephyr environment
3334 run : |
3435 yes | ./extra/bootstrap.sh -o=--filter=tree:0
35- echo "CORE_TAG=$(git describe --tags --exact-match || git describe --always)" >> "$GITHUB_ENV"
36- echo "CORE_ARTIFACT=ArduinoCore-zephyr-$(git describe --always)" >> "$GITHUB_ENV"
37- echo "ALL_BOARD_DATA=$(extra/get_board_details.sh | jq -cr 'sort_by(.variant)')" >> "$GITHUB_ENV"
36+ echo "CORE_HASH=$(git describe --always)" >> "$GITHUB_ENV"
37+ echo "ALL_BOARD_DATA=$(extra/get_board_details.sh | jq -c 'sort_by(.variant)')" >> "$GITHUB_ENV"
38+
39+ - name : Map output packages
40+ # needs the above env vars to be usable
41+ run : |
42+ echo "CORE_TAG=$(git describe --tags --exact-match 2>/dev/null || echo $CORE_HASH)" >> "$GITHUB_ENV"
43+ echo "ARTIFACTS=$(jq -c '["zephyr"] + (map(.artifact) | unique)' <<< ${ALL_BOARD_DATA})" >> "$GITHUB_ENV"
44+ echo "SUB_ARCHES=$(jq -c 'map(.subarch) | unique' <<< ${ALL_BOARD_DATA})" >> "$GITHUB_ENV"
3845
3946 - name : ccache
4047 uses :
hendrikmuhs/[email protected] @@ -48,18 +55,21 @@ jobs:
4855
4956 - name : Package core
5057 run : |
58+ PACKAGE=zephyr
59+ CORE_ARTIFACT=ArduinoCore-$PACKAGE-${CORE_HASH}
5160 ./extra/package_core.sh ${CORE_TAG} distrib/${CORE_ARTIFACT}.tar.bz2
5261
5362 - name : Archive core
5463 uses : actions/upload-artifact@v4
5564 with :
56- name : ${{ env.CORE_ARTIFACT }}
57- path : distrib/${{ env.CORE_ARTIFACT }} .tar.bz2
65+ name : ArduinoCore-zephyr- ${{ env.CORE_HASH }}
66+ path : distrib/* .tar.bz2
5867
5968 test-core :
6069 name : Test on ${{ matrix.board }}
6170 runs-on : ubuntu-latest
62- needs : package-core
71+ needs :
72+ - package-core
6373 strategy :
6474 matrix :
6575 include :
@@ -68,15 +78,15 @@ jobs:
6878 env :
6979 PLAT : arduino:zephyr
7080 FQBN : arduino:zephyr:${{ matrix.board }}
71- CORE_ARTIFACT : ${{ needs.package-core.outputs.CORE_ARTIFACT }}
81+ CORE_ARTIFACT : ArduinoCore-zephyr- ${{ needs.package-core.outputs.CORE_HASH }}
7282 steps :
7383 - uses : actions/download-artifact@v4
7484 with :
7585 name : ${{ env.CORE_ARTIFACT }}
7686
7787 - name : Set up core
7888 run : |
79- tar xf ${CORE_ARTIFACT}.tar.bz2
89+ tar xf ${CORE_ARTIFACT}.tar.bz2 # will create ArduinoCore-zephyr/
8090 echo "REPORT_FILE=$(echo ${FQBN} | tr ':' '-').json" >> $GITHUB_ENV
8191
8292 - name : Create Blink sketch
@@ -209,8 +219,7 @@ jobs:
209219 id-token : write
210220 contents : read
211221 env :
212- CORE_ARTIFACT : ${{ needs.package-core.outputs.CORE_ARTIFACT }}
213- ARTIFACT_FILE : ${{ needs.package-core.outputs.CORE_ARTIFACT }}.tar.bz2
222+ CORE_ARTIFACT : ArduinoCore-zephyr-${{ needs.package-core.outputs.CORE_HASH }}
214223 steps :
215224 - uses : actions/download-artifact@v4
216225 with :
@@ -223,7 +232,7 @@ jobs:
223232 aws-region : ${{ secrets.AWS_REGION }}
224233
225234 - name : Upload artifact
226- run : aws s3 cp ${ARTIFACT_FILE} s3://${{ secrets.S3_BUCKET }}/
235+ run : aws s3 cp ArduinoCore-*.tar.bz2 s3://${{ secrets.S3_BUCKET }}/
227236
228237 publish-json :
229238 name : Publish json
@@ -232,12 +241,9 @@ jobs:
232241 needs :
233242 - package-core
234243 - test-core
235- - publish-core
236244 env :
237- CORE_ARTIFACT : ${{ needs.package-core.outputs.CORE_ARTIFACT }}
238- ARTIFACT_FILE : ${{ needs.package-core.outputs.CORE_ARTIFACT }}.tar.bz2
245+ CORE_ARTIFACT : ArduinoCore-zephyr-${{ needs.package-core.outputs.CORE_HASH }}
239246 CORE_TAG : ${{ needs.package-core.outputs.CORE_TAG }}
240- PACKAGE_INDEX_JSON : zephyr-core-${{ needs.package-core.outputs.CORE_TAG }}.json
241247 steps :
242248 - uses : actions/checkout@v4
243249 with :
@@ -251,12 +257,15 @@ jobs:
251257 with :
252258 name : ${{ env.CORE_ARTIFACT }}
253259
254- # uses: ARTIFACT_FILE CORE_TAG PACKAGE_INDEX_JSON
255260 - name : Prepare package index snippet
256- run : ./extra/gen_package_index_json.sh
261+ run : |
262+ PACKAGE=zephyr
263+ ARTIFACT_FILE=ArduinoCore-${PACKAGE}-${CORE_HASH}.tar.bz2
264+ PACKAGE_JSON=ArduinoCore-${PACKAGE}-${CORE_TAG}.json
265+ ./extra/gen_package_index_json.sh ${CORE_TAG} ${ARTIFACT_FILE} > ${PACKAGE_JSON}
257266
258267 - name : Archive package index snippet
259268 uses : actions/upload-artifact@v4
260269 with :
261- name : ${{ env.PACKAGE_INDEX_JSON }}
262- path : ${{ env.PACKAGE_INDEX_JSON }}
270+ name : ArduinoCore-zephyr- ${{ env.CORE_TAG }}-jsons
271+ path : ArduinoCore-*- ${{ env.CORE_TAG }}.json
0 commit comments