@@ -12,48 +12,34 @@ jobs:
1212 steps :
1313 - name : Checkout repository
1414 uses : actions/checkout@v2
15- with :
16- path : core-repo
17-
18- - name : Checkout ArduinoCore-API
19- uses : actions/checkout@v2
20- with :
21- repository : arduino/ArduinoCore-API
22- path : ArduinoCore-API
2315
2416 - name : Set env
2517 run : echo "TAG_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
2618
2719 - name : Get repo name
2820 run : echo "REPOSITORY_NAME=$(echo ${{ github.repository }} | cut -d "/" -f2-)" >> $GITHUB_ENV
2921
30- - name : Rename core-repo path
31- run : |
32- mv core-repo ${REPOSITORY_NAME}
33-
3422 - name : Package the new core
3523 run : |
36- cd ${REPOSITORY_NAME}
37- echo $PWD
3824 extras/pack.release.bash $TAG_VERSION $REPOSITORY_NAME
3925 cd extras
4026 mkdir staging
4127 echo $PWD
4228 mv ../*.json staging/
4329 mv ../*.tar.bz2 staging/
44- cd ../..
30+ cd ..
4531
4632 - name : Get architecture name
4733 run : |
48- echo "ARCHITECTURE=$(cat ${REPOSITORY_NAME}/ extras/package_index.json.NewTag.template | jq ".packages[0].platforms[0].architecture" | sed 's/\"//g')" >> $GITHUB_ENV
34+ echo "ARCHITECTURE=$(cat extras/package_index.json.NewTag.template | jq ".packages[0].platforms[0].architecture" | sed 's/\"//g')" >> $GITHUB_ENV
4935
5036 - name : Upload package_*_index.json and *.tar.bz2 file to Arduino downloads servers
5137 env :
5238 AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
5339 AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
5440 run : |
55- aws s3 sync ${REPOSITORY_NAME}/ extras/staging/ s3://${{ secrets.ARDUINO_DOWNLOADS_BUCKET }}/packages/staging/ --exclude "*" --include *.json
56- aws s3 sync ${REPOSITORY_NAME}/ extras/staging/ s3://${{ secrets.ARDUINO_DOWNLOADS_BUCKET }}/cores/staging/ --exclude "*" --include *.tar.bz2
41+ aws s3 sync extras/staging/ s3://${{ secrets.ARDUINO_DOWNLOADS_BUCKET }}/packages/staging/ --exclude "*" --include *.json
42+ aws s3 sync extras/staging/ s3://${{ secrets.ARDUINO_DOWNLOADS_BUCKET }}/cores/staging/ --exclude "*" --include *.tar.bz2
5743
5844 - name : Checkout Basic examples
5945 uses : actions/checkout@v2
@@ -66,17 +52,35 @@ jobs:
6652 with :
6753 version : " 0.14.0"
6854
69- - name : Verify new core
55+ - name : Download new core
7056 run : |
7157 export PATH=$PATH:$PWD
7258 arduino-cli version
73- cp ${REPOSITORY_NAME}/ extras/staging/package_${REPOSITORY_NAME}_${TAG_VERSION}_index.json .
59+ cp extras/staging/package_${REPOSITORY_NAME}_${TAG_VERSION}_index.json .
7460 export ARDUINO_DIRECTORIES_DATA=$PWD
7561 export ARDUINO_BOARD_MANAGER_ADDITIONAL_URLS=file://$PWD/package_${REPOSITORY_NAME}_${TAG_VERSION}_index.json
7662 arduino-cli config init
7763 arduino-cli config dump -v
7864 arduino-cli core update-index -v
7965 arduino-cli core install arduino:${ARCHITECTURE}@${TAG_VERSION}
66+
67+ - name : Checkout ArduinoCore-API
68+ uses : actions/checkout@v2
69+ with :
70+ repository : arduino/ArduinoCore-API
71+ path : extras/ArduinoCore-API
72+
73+ - name : Check if API should be compiled in the core
74+ id : checkapi
75+ run : |
76+ if [[ $(grep -r api platform.txt) ]]; then echo "::set-output name=IS_API::true"; fi
77+
78+ - name : Integrate ArduinoCore-API
79+ run : mv "$GITHUB_WORKSPACE/extras/ArduinoCore-API/api" "$GITHUB_WORKSPACE/packages/arduino/hardware/${ARCHITECTURE}/${TAG_VERSION}/cores/arduino"
80+ if : steps.checkapi.outputs.IS_API == 'true'
81+
82+ - name : Verify new core
83+ run : |
8084 INDEX=0
8185 arduino-cli board listall --format=json > boardlist.json
8286 N=$(jq '.boards | length' boardlist.json)
0 commit comments