Skip to content

Commit 32bfca9

Browse files
committed
fix: route Mac resume through trusted CI event
1 parent 9884541 commit 32bfca9

1 file changed

Lines changed: 15 additions & 14 deletions

File tree

.github/workflows/candidate.yml

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ jobs:
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"
@@ -81,7 +82,7 @@ jobs:
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

Comments
 (0)