2424 name : Check if deploy is needed for ${{ inputs.idf_branch }}
2525 runs-on : ubuntu-latest
2626 outputs :
27+ idf_commit : ${{ steps.check.outputs.idf_commit }}
28+ ar_branch : ${{ steps.check.outputs.ar_branch }}
29+ ar_new_commit_message : ${{ steps.check.outputs.ar_new_commit_message }}
30+ ar_new_branch_name : ${{ steps.check.outputs.ar_new_branch_name }}
31+ ar_new_pr_title : ${{ steps.check.outputs.ar_new_pr_title }}
32+ ar_has_commit : ${{ steps.check.outputs.ar_has_commit }}
33+ ar_has_branch : ${{ steps.check.outputs.ar_has_branch }}
34+ ar_has_pr : ${{ steps.check.outputs.ar_has_pr }}
35+ libs_release_tag : ${{ steps.check.outputs.libs_release_tag }}
36+ libs_version : ${{ steps.check.outputs.libs_version }}
37+ libs_release_id : ${{ steps.check.outputs.libs_release_id }}
38+ libs_has_release : ${{ steps.check.outputs.libs_has_release }}
39+ libs_asset_id : ${{ steps.check.outputs.libs_asset_id }}
40+ libs_has_asset : ${{ steps.check.outputs.libs_has_asset }}
2741 deploy_needed : ${{ steps.check.outputs.deploy_needed }}
2842 targets_list : ${{ steps.check.outputs.targets_list }}
2943 steps :
@@ -39,13 +53,12 @@ jobs:
3953 source ./tools/check-deploy-needed.sh
4054 targets_list=$(echo "${{ inputs.targets }}" | sed 's/ *, */,/g' | sed 's/^/["/' | sed 's/$/"]/' | sed 's/,/","/g')
4155 echo "Targets list: $targets_list"
42- echo "deploy_needed=$DEPLOY_NEEDED" >> $GITHUB_OUTPUT
4356 echo "targets_list=$targets_list" >> $GITHUB_OUTPUT
4457
4558 build-libs :
4659 name : Build for ${{ matrix.target }} (${{ inputs.idf_branch }})
4760 runs-on : ubuntu-latest
48- if : needs.check-if-needed.outputs.deploy_needed == '1 '
61+ if : needs.check-if-needed.outputs.libs_has_asset == '0 '
4962 needs : check-if-needed
5063 strategy :
5164 fail-fast : false
@@ -87,47 +100,69 @@ jobs:
87100 path : dist
88101
89102 combine-artifacts :
90- name : Combine artifacts for IDF ${{ inputs.idf_branch }}
103+ name : Combine artifacts and push changes for IDF ${{ inputs.idf_branch }}
91104 runs-on : ubuntu-latest
92105 needs : [check-if-needed, build-libs]
93- if : needs.check-if-needed.outputs.deploy_needed == '1'
106+ if : |
107+ always() &&
108+ needs.check-if-needed.result == 'success' &&
109+ needs.check-if-needed.outputs.deploy_needed == '1'
94110 steps :
95111 - uses : actions/checkout@v4
96112 with :
97113 ref : ${{ inputs.lib_builder_branch }}
98114
99115 - name : Replace invalid characters in the artifact name
116+ if : needs.check-if-needed.outputs.libs_has_asset == '0'
100117 run : |
101118 branch=${{ inputs.idf_branch }}
102119 echo "libs_branch=${branch//\//_}" >> $GITHUB_ENV
103120
104121 - name : Download artifacts
122+ if : needs.check-if-needed.outputs.libs_has_asset == '0'
105123 uses : actions/download-artifact@v4
106124 with :
107125 path : dist
108126 pattern : libs-${{ env.libs_branch }}-*
109127 merge-multiple : true
110128
111129 - name : Combine artifacts
130+ if : needs.check-if-needed.outputs.libs_has_asset == '0'
112131 run : bash ./tools/combine-artifacts.sh
113132
114133 - name : Upload full esp32-arduino-libs archive
134+ if : needs.check-if-needed.outputs.libs_has_asset == '0'
115135 uses : actions/upload-artifact@v4
116136 with :
117137 name : esp32-arduino-libs-${{ env.libs_branch }}
118- path : dist/esp32-arduino-libs.tar.gz
119-
120- - name : Upload package_esp32_index.template.json
121- uses : actions/upload-artifact@v4
122- with :
123- name : package-esp32-index-json-${{ env.libs_branch }}
124- path : dist/package_esp32_index.template.json
138+ path : dist/esp32-arduino-libs.zip
139+ compression-level : 0
125140
126141 - name : Push changes
127142 if : github.repository == 'espressif/esp32-arduino-lib-builder'
128143 env :
129144 GITHUB_TOKEN : ${{ secrets.PUSH_TOKEN }}
130145 GIT_AUTHOR_EMAIL : ${{ secrets.PUSH_EMAIL }}
131146 GIT_COMMITTER_EMAIL : ${{ secrets.PUSH_EMAIL }}
147+ IDF_COMMIT : ${{ needs.check-if-needed.outputs.idf_commit }}
148+ AR_BRANCH : ${{ needs.check-if-needed.outputs.ar_branch }}
149+ AR_NEW_COMMIT_MESSAGE : ${{ needs.check-if-needed.outputs.ar_new_commit_message }}
150+ AR_NEW_BRANCH_NAME : ${{ needs.check-if-needed.outputs.ar_new_branch_name }}
151+ AR_NEW_PR_TITLE : ${{ needs.check-if-needed.outputs.ar_new_pr_title }}
152+ AR_HAS_COMMIT : ${{ needs.check-if-needed.outputs.ar_has_commit }}
153+ AR_HAS_BRANCH : ${{ needs.check-if-needed.outputs.ar_has_branch }}
154+ AR_HAS_PR : ${{ needs.check-if-needed.outputs.ar_has_pr }}
155+ LIBS_RELEASE_TAG : ${{ needs.check-if-needed.outputs.libs_release_tag }}
156+ LIBS_VERSION : ${{ needs.check-if-needed.outputs.libs_version }}
157+ LIBS_RELEASE_ID : ${{ needs.check-if-needed.outputs.libs_release_id }}
158+ LIBS_HAS_RELEASE : ${{ needs.check-if-needed.outputs.libs_has_release }}
159+ LIBS_ASSET_ID : ${{ needs.check-if-needed.outputs.libs_asset_id }}
160+ LIBS_HAS_ASSET : ${{ needs.check-if-needed.outputs.libs_has_asset }}
132161 run : |
133162 bash ./tools/push-to-arduino.sh
163+
164+ - name : Upload package_esp32_index.template.json
165+ uses : actions/upload-artifact@v4
166+ with :
167+ name : package-esp32-index-json-${{ env.libs_branch }}
168+ path : out/package_esp32_index.template.json
0 commit comments