Skip to content

Commit 5bc22f8

Browse files
TEMPORARY TEST SCAFFOLDING: isolate Windows arm64 in create_release.yml
DO NOT MERGE THIS COMMIT. It exists only so this migration's Windows arm64 path can be exercised on its own, without paying for the full release matrix. Revert it (a single, self-contained commit) before this PR merges. Forces every release job's if: to false except the Windows path: all macOS jobs (release_macos_single_arch, release_macos_universal, release_macos_cli, build_macos_tui_binaries, release_macos_tui), all Linux jobs (build_linux_tui_binaries, release_linux_tui, release_linux_x86, release_linux_cli_x86, build_linux_arm_binaries, build_linux_cli_arm_binaries, release_linux_arm), and release_web. Within Windows, isolates the arm64 leg of build_windows_tui_binaries, release_windows_tui, and release_windows by commenting out the x64 entry in each job's matrix.include, rather than by adding a matrix condition to the job's if:. jobs.<job_id>.if only has access to the github, needs, vars, and inputs contexts (see the context availability table in GitHub's docs); matrix is not among them, so a job-level if: referencing matrix.arch silently evaluates to an empty-string comparison and is always false, which would have skipped both legs instead of isolating one. Pruning the matrix entry at expansion time avoids that trap entirely: each of those three jobs runs with a single arm64 leg and no partial-skip aggregation to reason about. build_windows_binaries is deliberately left running both legs: its x64 leg alone produces the canonical Windows settings schema artifact that the arm64 legs of release_windows and release_windows_tui download. send_slack_notif_if_unsuccessful, gate_tui_release_artifacts, and generate_changelogs need no change: they already gate on should_publish == 'true', which is false for a manual workflow_dispatch test run, so they no-op regardless of the above.
1 parent 65e32fa commit 5bc22f8

1 file changed

Lines changed: 42 additions & 20 deletions

File tree

.github/workflows/create_release.yml

Lines changed: 42 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,15 @@ env:
6262
CONFIG_FILE: ".github/workflows/release_configurations.json"
6363

6464
jobs:
65+
# ============================================================================
66+
# TEMPORARY TEST SCAFFOLDING (arm64-native-test) — DO NOT MERGE THIS COMMIT.
67+
# Every release job below except the Windows arm64 path (and the parts of
68+
# build_windows_binaries it depends on) has its `if:` forced to `false`, or
69+
# restricted to `matrix.arch == 'arm64'`, so a manual run of this workflow
70+
# exercises only the Windows arm64 build/release/TUI path. This is scoped to
71+
# a single, self-contained commit; revert that commit before this PR merges.
72+
# ============================================================================
73+
6574
# Perform all once-per-release steps. Dependent jobs will build release
6675
# assets and upload them as appropriate.
6776
prepare_release:
@@ -141,7 +150,7 @@ jobs:
141150
name: Build Release (macOS ${{ matrix.dmg_name_suffix }})
142151
runs-on: ${{ matrix.runner }}
143152
needs: prepare_release
144-
if: ${{ inputs.build_macos != false }}
153+
if: false # TEMPORARY TEST SCAFFOLDING (arm64-native-test): macOS build forced off to isolate the Windows arm64 job. MUST be removed before merge.
145154
timeout-minutes: 60
146155
strategy:
147156
fail-fast: false
@@ -278,7 +287,7 @@ jobs:
278287
name: Build Release (macOS Universal)
279288
runs-on: macos-26-xlarge
280289
needs: [prepare_release, release_macos_single_arch]
281-
if: ${{ inputs.build_macos != false }}
290+
if: false # TEMPORARY TEST SCAFFOLDING (arm64-native-test): macOS build forced off to isolate the Windows arm64 job. MUST be removed before merge.
282291
timeout-minutes: 60
283292
steps:
284293
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
@@ -439,7 +448,7 @@ jobs:
439448
name: Build Release (macOS CLI ${{ matrix.arch }})
440449
runs-on: macos-26-xlarge
441450
needs: [prepare_release, release_macos_single_arch]
442-
if: ${{ inputs.build_macos != false }}
451+
if: false # TEMPORARY TEST SCAFFOLDING (arm64-native-test): macOS build forced off to isolate the Windows arm64 job. MUST be removed before merge.
443452
timeout-minutes: 60
444453
strategy:
445454
fail-fast: false
@@ -556,7 +565,7 @@ jobs:
556565
name: Build Release Binary (macOS TUI ${{ matrix.arch }})
557566
runs-on: macos-26-xlarge
558567
needs: prepare_release
559-
if: ${{ inputs.build_macos != false }}
568+
if: false # TEMPORARY TEST SCAFFOLDING (arm64-native-test): macOS build forced off to isolate the Windows arm64 job. MUST be removed before merge.
560569
timeout-minutes: 60
561570
strategy:
562571
fail-fast: false
@@ -643,7 +652,7 @@ jobs:
643652
name: Build Release (macOS TUI ${{ matrix.arch }})
644653
runs-on: macos-26-xlarge
645654
needs: [prepare_release, release_macos_single_arch, build_macos_tui_binaries]
646-
if: ${{ inputs.build_macos != false }}
655+
if: false # TEMPORARY TEST SCAFFOLDING (arm64-native-test): macOS build forced off to isolate the Windows arm64 job. MUST be removed before merge.
647656
timeout-minutes: 60
648657
strategy:
649658
fail-fast: false
@@ -775,7 +784,7 @@ jobs:
775784
name: Build Release Binary (Linux TUI ${{ matrix.arch }})
776785
runs-on: ${{ matrix.runner }}
777786
needs: prepare_release
778-
if: ${{ inputs.build_linux != false }}
787+
if: false # TEMPORARY TEST SCAFFOLDING (arm64-native-test): Linux build forced off to isolate the Windows arm64 job. MUST be removed before merge.
779788
timeout-minutes: 180
780789
strategy:
781790
fail-fast: false
@@ -859,7 +868,7 @@ jobs:
859868
name: Build Release (Linux TUI ${{ matrix.arch }})
860869
runs-on: ${{ matrix.runner }}
861870
needs: [prepare_release, release_linux_x86, build_linux_tui_binaries]
862-
if: ${{ inputs.build_linux != false }}
871+
if: false # TEMPORARY TEST SCAFFOLDING (arm64-native-test): Linux build forced off to isolate the Windows arm64 job. MUST be removed before merge.
863872
timeout-minutes: 180
864873
strategy:
865874
fail-fast: false
@@ -984,7 +993,7 @@ jobs:
984993
name: Build Release (Linux x86_64)
985994
runs-on: namespace-profile-ubuntu-20-04
986995
needs: prepare_release
987-
if: ${{ inputs.build_linux != false }}
996+
if: false # TEMPORARY TEST SCAFFOLDING (arm64-native-test): Linux build forced off to isolate the Windows arm64 job. MUST be removed before merge.
988997
timeout-minutes: 90
989998
env:
990999
# Automatically extract AppImages before running them instead of mounting
@@ -1150,7 +1159,7 @@ jobs:
11501159
name: Build Release (Linux CLI x86_64)
11511160
runs-on: namespace-profile-ubuntu-22-04
11521161
needs: [prepare_release, release_linux_x86]
1153-
if: ${{ inputs.build_linux != false }}
1162+
if: false # TEMPORARY TEST SCAFFOLDING (arm64-native-test): Linux build forced off to isolate the Windows arm64 job. MUST be removed before merge.
11541163
timeout-minutes: 90
11551164
steps:
11561165
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
@@ -1332,7 +1341,7 @@ jobs:
13321341
name: Build Release (Linux ARM)
13331342
runs-on: namespace-profile-ubuntu-20-04-arm
13341343
needs: prepare_release
1335-
if: ${{ inputs.build_linux != false }}
1344+
if: false # TEMPORARY TEST SCAFFOLDING (arm64-native-test): Linux build forced off to isolate the Windows arm64 job. MUST be removed before merge.
13361345
timeout-minutes: 90
13371346
env:
13381347
# Automatically extract AppImages before running them instead of mounting
@@ -1428,7 +1437,7 @@ jobs:
14281437
name: Build Release (Linux CLI ARM)
14291438
runs-on: namespace-profile-ubuntu-22-04
14301439
needs: prepare_release
1431-
if: ${{ inputs.build_linux != false }}
1440+
if: false # TEMPORARY TEST SCAFFOLDING (arm64-native-test): Linux build forced off to isolate the Windows arm64 job. MUST be removed before merge.
14321441
timeout-minutes: 90
14331442
steps:
14341443
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
@@ -1510,7 +1519,7 @@ jobs:
15101519
name: Bundle Release (Linux ARM)
15111520
runs-on: namespace-profile-ubuntu-20-04
15121521
needs: [ prepare_release, release_linux_x86, build_linux_arm_binaries, build_linux_cli_arm_binaries ]
1513-
if: ${{ inputs.build_linux != false }}
1522+
if: false # TEMPORARY TEST SCAFFOLDING (arm64-native-test): Linux build forced off to isolate the Windows arm64 job. MUST be removed before merge.
15141523
timeout-minutes: 60
15151524
steps:
15161525
- name: Checkout sources
@@ -1777,7 +1786,7 @@ jobs:
17771786
name: Build Release (Web)
17781787
runs-on: namespace-profile-ubuntu-22-04
17791788
needs: prepare_release
1780-
if: ${{ inputs.build_web != false }}
1789+
if: false # TEMPORARY TEST SCAFFOLDING (arm64-native-test): Web build forced off to isolate the Windows arm64 job. MUST be removed before merge.
17811790
timeout-minutes: 60
17821791
steps:
17831792
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
@@ -1903,8 +1912,11 @@ jobs:
19031912
fail-fast: false
19041913
matrix:
19051914
include:
1906-
- arch: x64
1907-
runner: windows-latest-large
1915+
# TEMPORARY TEST SCAFFOLDING (arm64-native-test): the x64 entry is removed from this
1916+
# matrix (not gated by `if:`, which cannot see `matrix` at the job level) to isolate
1917+
# the Windows arm64 job. Restore this entry before merge.
1918+
# - arch: x64
1919+
# runner: windows-latest-large
19081920
- arch: arm64
19091921
runner: windows-11-arm
19101922
steps:
@@ -1953,9 +1965,12 @@ jobs:
19531965
fail-fast: false
19541966
matrix:
19551967
include:
1956-
- arch: x64
1957-
release_arch: x86_64
1958-
runner: windows-latest-large
1968+
# TEMPORARY TEST SCAFFOLDING (arm64-native-test): the x64 entry is removed from this
1969+
# matrix (not gated by `if:`, which cannot see `matrix` at the job level) to isolate
1970+
# the Windows arm64 job. Restore this entry before merge.
1971+
# - arch: x64
1972+
# release_arch: x86_64
1973+
# runner: windows-latest-large
19591974
- arch: arm64
19601975
release_arch: aarch64
19611976
runner: windows-11-arm
@@ -2094,6 +2109,10 @@ jobs:
20942109
name: Build Release Binary (Windows ${{ matrix.arch }})
20952110
runs-on: ${{ matrix.runner }}
20962111
needs: prepare_release
2112+
# Not restricted to arm64 by the TEMPORARY TEST SCAFFOLDING above: the x64
2113+
# leg still runs here because it alone produces the canonical Windows
2114+
# settings schema artifact that the arm64 release_windows/release_windows_tui
2115+
# legs download below.
20972116
if: ${{ inputs.build_windows != false }}
20982117
timeout-minutes: 150
20992118
strategy:
@@ -2169,8 +2188,11 @@ jobs:
21692188
strategy:
21702189
matrix:
21712190
include:
2172-
- arch: x64
2173-
runner: windows-latest-large
2191+
# TEMPORARY TEST SCAFFOLDING (arm64-native-test): the x64 entry is removed from this
2192+
# matrix (not gated by `if:`, which cannot see `matrix` at the job level) to isolate
2193+
# the Windows arm64 job. Restore this entry before merge.
2194+
# - arch: x64
2195+
# runner: windows-latest-large
21742196
- arch: arm64
21752197
runner: windows-11-arm
21762198
env:

0 commit comments

Comments
 (0)