Skip to content

Commit 68b4b58

Browse files
authored
GitHub Actions: Use build matrix (PR #2481)
1 parent 1fc700f commit 68b4b58

File tree

1 file changed

+40
-68
lines changed

1 file changed

+40
-68
lines changed

.github/workflows/build.yaml

Lines changed: 40 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,11 @@ name: Build
44
on: [push, pull_request]
55

66
jobs:
7-
windows-release:
8-
name: windows-release
7+
windows:
8+
strategy:
9+
matrix:
10+
type: [release, debug]
11+
name: windows-${{ matrix.type }}
912
runs-on: windows-2022
1013
steps:
1114
- uses: actions/checkout@v2
@@ -32,51 +35,16 @@ jobs:
3235
- name: Install data files
3336
run: utils\premake5 install_data
3437

35-
- name: Run Build
38+
- name: Run Build [Release]
39+
if: ${{ matrix.type == 'release' }}
3640
run: win-build.bat
3741
shell: cmd
3842
env:
3943
DXSDK_DIR: './utils/DXFiles/'
4044
CI: 'true'
4145

42-
- name: Create build artifacts
43-
run: utils\premake5 compose_files
44-
45-
- uses: actions/upload-artifact@master
46-
with:
47-
name: InstallFiles
48-
path: InstallFiles/
49-
50-
51-
windows-debug:
52-
name: windows-debug
53-
runs-on: windows-2022
54-
steps:
55-
- uses: actions/checkout@v2
56-
57-
- uses: actions/cache@v1
58-
id: cache-dxfiles
59-
with:
60-
path: utils/DXFiles
61-
key: dxfiles-0001
62-
63-
- name: Download DirectX
64-
if: steps.cache-dxfiles.outputs.cache-hit != 'true'
65-
run: Invoke-WebRequest https://mirror.mtasa.com/bdata/DXFiles.zip -OutFile utils/DXFiles.zip
66-
shell: powershell
67-
68-
- name: Extract DirectX
69-
if: steps.cache-dxfiles.outputs.cache-hit != 'true'
70-
run: Expand-Archive -Path utils/DXFiles.zip -DestinationPath utils/DXFiles
71-
shell: powershell
72-
73-
- name: Install CEF
74-
run: utils\premake5 install_cef
75-
76-
- name: Install data files
77-
run: utils\premake5 install_data
78-
79-
- name: Run Build
46+
- name: Run Build [Debug]
47+
if: ${{ matrix.type == 'debug' }}
8048
run: win-build.bat Debug
8149
shell: cmd
8250
env:
@@ -87,52 +55,56 @@ jobs:
8755
run: utils\premake5 compose_files
8856

8957
- uses: actions/upload-artifact@master
58+
if: ${{ matrix.type == 'release' }}
59+
with:
60+
name: InstallFiles
61+
path: InstallFiles/
62+
63+
- uses: actions/upload-artifact@master
64+
if: ${{ matrix.type == 'debug' }}
9065
with:
9166
name: InstallFiles-debug
9267
path: InstallFiles/
9368

94-
macOS-release:
95-
name: macOS-release
69+
macOS:
70+
strategy:
71+
matrix:
72+
type: [release, debug]
73+
name: macOS-${{ matrix.type }}
9674
runs-on: macOS-latest
9775
steps:
98-
- name: Install MySQL
99-
run: brew install mysql
100-
continue-on-error: true
101-
- name: Link MySQL
102-
run: brew link --overwrite mysql
10376
- uses: actions/checkout@v2
104-
- name: Run Build
105-
run: ./linux-build.sh
10677

107-
macOS-debug:
108-
name: macOS-debug
109-
runs-on: macOS-latest
110-
steps:
11178
- name: Install MySQL
11279
run: brew install mysql
11380
continue-on-error: true
81+
11482
- name: Link MySQL
11583
run: brew link --overwrite mysql
116-
- uses: actions/checkout@v2
117-
- name: Run Build
84+
85+
- name: Run Build [Release]
86+
if: ${{ matrix.type == 'release' }}
87+
run: ./linux-build.sh
88+
89+
- name: Run Build [Debug]
90+
if: ${{ matrix.type == 'debug' }}
11891
run: ./linux-build.sh "" debug
11992

120-
linux-release:
121-
name: linux-release
93+
linux:
94+
strategy:
95+
matrix:
96+
type: [release, debug]
97+
name: linux-${{ matrix.type }}
12298
runs-on: ubuntu-latest
12399
container:
124100
image: docker://ghcr.io/multitheftauto/mtasa-blue-build:latest
125101
steps:
126102
- uses: actions/checkout@v2
127-
- name: Run Build
103+
104+
- name: Run Build [Release]
105+
if: ${{ matrix.type == 'release' }}
128106
run: ./linux-build.sh
129107

130-
linux-debug:
131-
name: linux-debug
132-
runs-on: ubuntu-latest
133-
container:
134-
image: docker://ghcr.io/multitheftauto/mtasa-blue-build:latest
135-
steps:
136-
- uses: actions/checkout@v2
137-
- name: Run Build
138-
run: ./linux-build.sh "" debug
108+
- name: Run Build [Debug]
109+
if: ${{ matrix.type == 'debug' }}
110+
run: ./linux-build.sh "" debug

0 commit comments

Comments
 (0)