3333 github.event.workflow_run.event == 'push' &&
3434 github.event.workflow_run.head_branch == 'main' &&
3535 github.event.workflow_run.head_repository.full_name == github.repository &&
36- github.event.workflow_run.head_sha == vars.HELM_RELEASE_SHA)
36+ (github.event.workflow_run.head_sha == vars.HELM_RELEASE_SHA ||
37+ github.event.workflow_run.head_sha == vars.HELM_MAC_RESUME_HARNESS_SHA))
3738 runs-on : ubuntu-latest
3839 timeout-minutes : 5
3940 outputs :
@@ -43,14 +44,14 @@ jobs:
4344 steps :
4445 - uses : actions/checkout@v4
4546 with :
46- ref : ${{ github.event_name == 'workflow_dispatch' && inputs.commit || github.event.workflow_run.head_sha }}
47+ ref : ${{ ( github.event_name == 'workflow_dispatch' && inputs.commit) || (github.event.workflow_run.head_sha == vars.HELM_MAC_RESUME_HARNESS_SHA && vars.HELM_MAC_RESUME_SHA) || github.event.workflow_run.head_sha }}
4748 fetch-depth : 1
4849 persist-credentials : false
4950 - name : Create the empty draft
5051 id : release
5152 env :
52- GH_TOKEN : ${{ github.event_name == 'workflow_dispatch' && secrets.HELM_RELEASE_TOKEN || github.token }}
53- COMMIT : ${{ github.event_name == 'workflow_dispatch' && inputs.commit || github.event.workflow_run.head_sha }}
53+ GH_TOKEN : ${{ ( github.event_name == 'workflow_dispatch' || github.event.workflow_run.head_sha == vars.HELM_MAC_RESUME_HARNESS_SHA) && secrets.HELM_RELEASE_TOKEN || github.token }}
54+ COMMIT : ${{ ( github.event_name == 'workflow_dispatch' && inputs.commit) || (github.event.workflow_run.head_sha == vars.HELM_MAC_RESUME_HARNESS_SHA && vars.HELM_MAC_RESUME_SHA) || github.event.workflow_run.head_sha }}
5455 run : |
5556 set -euo pipefail
5657 test "$(git rev-parse HEAD)" = "$COMMIT"
8182 linux-build :
8283 name : Build the Linux release once
8384 needs : prepare
84- if : github.event_name != 'workflow_dispatch'
85+ if : github.event_name != 'workflow_dispatch' && github.event.workflow_run.head_sha != vars.HELM_MAC_RESUME_HARNESS_SHA
8586 runs-on : ubuntu-latest
8687 timeout-minutes : 45
8788 outputs :
@@ -127,7 +128,7 @@ jobs:
127128 accept-linux :
128129 name : Fresh install and start — Linux
129130 needs : [prepare, linux-build]
130- if : github.event_name != 'workflow_dispatch'
131+ if : github.event_name != 'workflow_dispatch' && github.event.workflow_run.head_sha != vars.HELM_MAC_RESUME_HARNESS_SHA
131132 runs-on : [1helm-linux-phase4]
132133 timeout-minutes : 30
133134 steps :
@@ -160,7 +161,7 @@ jobs:
160161 accept-windows :
161162 name : Fresh install and start — Windows
162163 needs : [prepare, linux-build]
163- if : github.event_name != 'workflow_dispatch'
164+ if : github.event_name != 'workflow_dispatch' && github.event.workflow_run.head_sha != vars.HELM_MAC_RESUME_HARNESS_SHA
164165 runs-on : [1helm-windows-phase4]
165166 timeout-minutes : 30
166167 steps :
@@ -206,9 +207,9 @@ jobs:
206207 ref : ${{ needs.prepare.outputs.commit }}
207208 fetch-depth : 1
208209 persist-credentials : false
209- clean : ${{ github.event_name != 'workflow_dispatch' }}
210+ clean : ${{ github.event_name != 'workflow_dispatch' && github.event.workflow_run.head_sha != vars.HELM_MAC_RESUME_HARNESS_SHA }}
210211 - name : Build, sign and notarize
211- if : github.event_name != 'workflow_dispatch'
212+ if : github.event_name != 'workflow_dispatch' && github.event.workflow_run.head_sha != vars.HELM_MAC_RESUME_HARNESS_SHA
212213 env :
213214 HELM_CLOUDFLARED_CACHE_DIR : ${{ runner.temp }}/../1helm-release-cache
214215 run : |
@@ -218,7 +219,7 @@ jobs:
218219 PUPPETEER_SKIP_DOWNLOAD=1 npm ci
219220 npm run package:dmg:release
220221 - name : Resume the exact retained Mac files
221- if : github.event_name == 'workflow_dispatch'
222+ if : github.event_name == 'workflow_dispatch' || github.event.workflow_run.head_sha == vars.HELM_MAC_RESUME_HARNESS_SHA
222223 env :
223224 VERSION : ${{ needs.prepare.outputs.version }}
224225 EXPECTED_DMG_SHA256 : 38531c1949b24e4c01882ebb18c75df9fea04b97f3deffe57d4e8e2090bc45ab
@@ -246,11 +247,11 @@ jobs:
246247 env :
247248 HELM_RELEASE_DIST : ${{ github.workspace }}/dist
248249 HELM_RELEASE_VERSION : ${{ needs.prepare.outputs.version }}
249- HARNESS_COMMIT : ${{ github.sha }}
250+ HARNESS_COMMIT : ${{ github.event_name == 'workflow_dispatch' && github. sha || github.event.workflow_run.head_sha }}
250251 GH_TOKEN : ${{ github.token }}
251252 run : |
252253 set -euo pipefail
253- if [[ "${{ github.event_name }}" == workflow_dispatch ]]; then
254+ if [[ "${{ github.event_name }}" == workflow_dispatch || "${{ github.event.workflow_run.head_sha }}" == "${{ vars.HELM_MAC_RESUME_HARNESS_SHA }}" ]]; then
254255 curl --fail --location \
255256 --header "Authorization: Bearer $GH_TOKEN" \
256257 --header 'Accept: application/vnd.github.raw+json' \
@@ -262,7 +263,7 @@ jobs:
262263 fi
263264 - name : Upload the exact tested Mac files
264265 env :
265- GH_TOKEN : ${{ github.event_name == 'workflow_dispatch' && secrets.HELM_RELEASE_TOKEN || github.token }}
266+ GH_TOKEN : ${{ ( github.event_name == 'workflow_dispatch' || github.event.workflow_run.head_sha == vars.HELM_MAC_RESUME_HARNESS_SHA) && secrets.HELM_RELEASE_TOKEN || github.token }}
266267 TAG : ${{ needs.prepare.outputs.tag }}
267268 VERSION : ${{ needs.prepare.outputs.version }}
268269 run : |
@@ -280,7 +281,7 @@ jobs:
280281 publish :
281282 name : Publish the three tested files
282283 needs : [prepare, linux-build, accept-linux, accept-windows, accept-macos]
283- if : github.event_name != 'workflow_dispatch'
284+ if : github.event_name != 'workflow_dispatch' && github.event.workflow_run.head_sha != vars.HELM_MAC_RESUME_HARNESS_SHA
284285 runs-on : ubuntu-latest
285286 timeout-minutes : 10
286287 steps :
0 commit comments