Skip to content

Commit e55fd8a

Browse files
TheLastRarlightningterror
authored andcommitted
CI: Use separate job for building Windows deps
1 parent 7dd1ccf commit e55fd8a

4 files changed

Lines changed: 59 additions & 11 deletions

File tree

.github/workflows/release_cut_new.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,16 @@ jobs:
120120
secrets: inherit
121121

122122
# Windows
123+
build_windows_deps:
124+
if: github.repository == 'PCSX2/pcsx2'
125+
name: "Windows Dependencies"
126+
uses: ./.github/workflows/windows_deps_build.yml
127+
123128
build_windows_qt:
124129
if: github.repository == 'PCSX2/pcsx2'
125130
needs:
126131
- cut-release
132+
- build_windows_deps
127133
name: "Windows"
128134
uses: ./.github/workflows/windows_build_qt.yml
129135
with:

.github/workflows/windows_build_matrix.yml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ on:
99
- master
1010

1111
jobs:
12+
build_qt_deps:
13+
name: "Dependencies"
14+
uses: ./.github/workflows/windows_deps_build.yml
15+
1216
# MSBUILD
1317
lint_vs_proj_files:
1418
name: Lint VS Project Files
@@ -21,7 +25,7 @@ jobs:
2125
run: .github\workflows\scripts\windows\validate-vs-filters.ps1
2226

2327
build_qt_sse4:
24-
needs: lint_vs_proj_files
28+
needs: [build_qt_deps, lint_vs_proj_files]
2529
name: "SSE4"
2630
if: github.repository != 'PCSX2/pcsx2' || github.event_name == 'pull_request'
2731
uses: ./.github/workflows/windows_build_qt.yml
@@ -33,7 +37,7 @@ jobs:
3337
secrets: inherit
3438

3539
build_qt_avx2:
36-
needs: lint_vs_proj_files
40+
needs: [build_qt_deps, lint_vs_proj_files]
3741
name: "AVX2"
3842
if: github.repository != 'PCSX2/pcsx2' || github.event_name == 'pull_request'
3943
uses: ./.github/workflows/windows_build_qt.yml
@@ -44,6 +48,7 @@ jobs:
4448
secrets: inherit
4549

4650
build_qt_cmake:
51+
needs: build_qt_deps
4752
name: "CMake"
4853
if: github.repository != 'PCSX2/pcsx2' || github.event_name == 'pull_request'
4954
uses: ./.github/workflows/windows_build_qt.yml
@@ -55,7 +60,7 @@ jobs:
5560
secrets: inherit
5661

5762
build_qt_clang_sse4:
58-
needs: lint_vs_proj_files
63+
needs: [build_qt_deps, lint_vs_proj_files]
5964
name: "SSE4"
6065
if: github.repository != 'PCSX2/pcsx2' || github.event_name == 'pull_request'
6166
uses: ./.github/workflows/windows_build_qt.yml
@@ -67,7 +72,7 @@ jobs:
6772
secrets: inherit
6873

6974
build_qt_clang_avx2:
70-
needs: lint_vs_proj_files
75+
needs: [build_qt_deps, lint_vs_proj_files]
7176
name: "AVX2"
7277
if: github.repository != 'PCSX2/pcsx2' || github.event_name == 'pull_request'
7378
uses: ./.github/workflows/windows_build_qt.yml
@@ -78,6 +83,7 @@ jobs:
7883
secrets: inherit
7984

8085
build_qt_cmake_clang:
86+
needs: build_qt_deps
8187
name: "CMake"
8288
if: github.repository != 'PCSX2/pcsx2' || github.event_name == 'pull_request'
8389
uses: ./.github/workflows/windows_build_qt.yml

.github/workflows/windows_build_qt.yml

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
name: ${{ inputs.jobName }}
5151
runs-on: ${{ inputs.os }}
5252
# Set some sort of timeout in the event of run-away builds. We are limited on concurrent jobs so, get rid of them.
53-
timeout-minutes: 90
53+
timeout-minutes: 30
5454
env:
5555
POWERSHELL_TELEMETRY_OPTOUT: 1
5656

@@ -124,15 +124,10 @@ jobs:
124124
id: cache-deps
125125
uses: actions/cache@v6
126126
with:
127+
fail-on-cache-miss: true
127128
path: deps
128129
key: ${{ inputs.os }} ${{ inputs.platform }} deps ${{ hashFiles('.github/workflows/scripts/windows/build-dependencies.bat', '.github/workflows/scripts/common/*.patch') }}
129130

130-
- name: Build Dependencies
131-
if: steps.cache-deps.outputs.cache-hit != 'true'
132-
env:
133-
DEBUG: 0
134-
BUILD_FFMPEG: 1
135-
run: .github/workflows/scripts/windows/build-dependencies.bat
136131

137132
- name: Generate CMake
138133
if: inputs.configuration == 'CMake'
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Windows Build Steps - Deps
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
os:
7+
required: false
8+
type: string
9+
default: windows-2025-vs2026
10+
platform:
11+
required: false
12+
type: string
13+
default: x64
14+
15+
jobs:
16+
build_windows_deps:
17+
name: "Cache Dependencies"
18+
runs-on: ${{ inputs.os }}
19+
# Set some sort of timeout in the event of run-away builds. We are limited on concurrent jobs so, get rid of them.
20+
timeout-minutes: 90
21+
env:
22+
POWERSHELL_TELEMETRY_OPTOUT: 1
23+
24+
steps:
25+
- name: Checkout Repository
26+
uses: actions/checkout@v7
27+
28+
- name: Check Dependencies
29+
id: cache-deps
30+
uses: actions/cache@v6
31+
with:
32+
lookup-only: true
33+
path: deps
34+
key: ${{ inputs.os }} ${{ inputs.platform }} deps ${{ hashFiles('.github/workflows/scripts/windows/build-dependencies.bat', '.github/workflows/scripts/common/*.patch') }}
35+
36+
- name: Build Dependencies
37+
if: steps.cache-deps.outputs.cache-hit != 'true'
38+
env:
39+
DEBUG: 0
40+
BUILD_FFMPEG: 1
41+
run: .github/workflows/scripts/windows/build-dependencies.bat

0 commit comments

Comments
 (0)