77 strategy :
88 fail-fast : false
99 matrix :
10- source_branch : [sdk2013-sp, sdk2013-mp, asw, gmod]
10+ name : [sdk2013-sp, sdk2013-mp, asw, gmod, gmod_64]
11+ include :
12+ - name : sdk2013-sp
13+ branch : sdk2013-sp
14+ arch : ' 32'
15+ vscodeArch : ' x86'
16+ - name : sdk2013-mp
17+ branch : sdk2013-mp
18+ arch : ' 32'
19+ vscodeArch : ' x86'
20+ - name : asw
21+ branch : asw
22+ arch : ' 32'
23+ vscodeArch : ' x86'
24+ - name : gmod
25+ branch : gmod
26+ arch : ' 32'
27+ vscodeArch : ' x86'
28+ - name : gmod_64
29+ branch : gmod
30+ arch : ' 64'
31+ vscodeArch : ' x64'
1132
1233 runs-on : windows-2022
1334
2041 - name : Checkout VPhysics Jolt
2142 uses : actions/checkout@v3
2243 with :
23- path : ${{ matrix.source_branch }}/src/vphysics_jolt
44+ path : ${{ matrix.branch }}/src/vphysics_jolt
2445 submodules : recursive
2546
2647 - name : Find Visual Studio
@@ -32,28 +53,41 @@ jobs:
3253 | Out-File -FilePath "${Env:GITHUB_ENV}" -Append
3354
3455 - name : Build MSVC x86
35- working-directory : ${{ matrix.source_branch }}/src
56+ working-directory : ${{ matrix.branch }}/src
3657 run : |
3758 & "${Env:COMSPEC}" /s /c "`"${Env:VSDEVCMD}`" -arch=x86 -host_arch=x64 -no_logo && set" `
3859 | % { , ($_ -Split '=', 2) } `
3960 | % { [System.Environment]::SetEnvironmentVariable($_[0], $_[1]) }
4061 .\fix_registry.bat
41- .\createjoltprojects.bat
62+ .\createjoltprojects.bat ${{ matrix.arch }}
4263 devenv jolt.sln /upgrade
43- msbuild jolt.sln /nodeReuse:false /t:Rebuild /p:Configuration=Release /p:Platform=x86 /m /v:minimal
64+ msbuild jolt.sln /nodeReuse:false /t:Rebuild /p:Configuration=Release /p:Platform=${{ matrix.vscodeArch }} /m /v:minimal
4465
4566 - name : Upload artifacts
4667 uses : actions/upload-artifact@v3
4768 with :
48- name : vphysics_jolt_${{ matrix.source_branch }}_win32
49- path : ${{ matrix.source_branch }}/game
69+ name : vphysics_jolt_${{ matrix.branch }}_win${{ matrix.arch }}
70+ path : ${{ matrix.branch }}/game
5071 if-no-files-found : error
5172
5273 linux :
5374 strategy :
5475 fail-fast : false
5576 matrix :
56- source_branch : [sdk2013-sp, sdk2013-mp, gmod]
77+ name : [sdk2013-sp, sdk2013-mp, gmod, gmod_64]
78+ include :
79+ - name : sdk2013-sp
80+ branch : sdk2013-sp
81+ arch : ' 32'
82+ - name : sdk2013-mp
83+ branch : sdk2013-mp
84+ arch : ' 32'
85+ - name : gmod
86+ branch : gmod
87+ arch : ' 32'
88+ - name : gmod_64
89+ branch : gmod
90+ arch : ' 64'
5791
5892 runs-on : ubuntu-latest
5993 container : debian:bullseye
@@ -73,22 +107,25 @@ jobs:
73107 - name : Checkout VPhysics Jolt
74108 uses : actions/checkout@v3
75109 with :
76- path : ${{ matrix.source_branch }}/src/vphysics_jolt
110+ path : ${{ matrix.branch }}/src/vphysics_jolt
77111 submodules : recursive
78112
79113 - name : Build GCC x86
80- working-directory : ${{ matrix.source_branch }}/src
114+ working-directory : ${{ matrix.branch }}/src
81115 run : |
82116 chmod +x createjoltprojects.sh
83117 chmod +x devtools/bin/vpc_linux
84118 chmod +x devtools/bin/vpc
85119 chmod +x devtools/gendbg.sh
86- ./createjoltprojects.sh
87- make -f jolt.mak -j $(nproc)
120+ ./createjoltprojects.sh ${{ matrix.arch }}
121+ if [ "${{ matrix.arch }}" = "64" ]; then
122+ make -f jolt.mak ARCH_FLAGS="-march=x86-64 -mtune=generic" -j $(nproc)
123+ else
124+ make -f jolt.mak -j $(nproc)
125+ fi
88126
89127 - name : Upload artifacts
90128 uses : actions/upload-artifact@v3
91129 with :
92- name : vphysics_jolt_${{ matrix.source_branch }}_linux32
93- path : ${{ matrix.source_branch }}/game
94- if-no-files-found : error
130+ name : vphysics_jolt_${{ matrix.branch }}_linux${{ matrix.arch }}
131+ path : ${{ matrix.branch }}/game
0 commit comments