Skip to content

Bring public 64x support for GMod #141

Bring public 64x support for GMod

Bring public 64x support for GMod #141

Workflow file for this run

name: Build Artifacts
on: [push, pull_request, workflow_dispatch]
jobs:
windows:
strategy:
fail-fast: false
matrix:
name: [sdk2013-sp, sdk2013-mp, asw, gmod, gmod_64]
include:
- name: sdk2013-sp
branch: sdk2013-sp
arch: '32'
vscodeArch: 'x86'
- name: sdk2013-mp
branch: sdk2013-mp
arch: '32'
vscodeArch: 'x86'
- name: asw
branch: asw
arch: '32'
vscodeArch: 'x86'
- name: gmod
branch: gmod
arch: '32'
vscodeArch: 'x86'
- name: gmod_64
branch: gmod
arch: '64'
vscodeArch: 'x64'
runs-on: windows-2022
steps:
- name: Checkout Mini Source SDK
uses: actions/checkout@v3
with:
repository: Joshua-Ashton/mini-source-sdk
- name: Checkout VPhysics Jolt
uses: actions/checkout@v3
with:
path: ${{ matrix.branch }}/src/vphysics_jolt
submodules: recursive
- name: Find Visual Studio
run: |
$installationPath = Get-VSSetupInstance `
| Select-VSSetupInstance -Require Microsoft.VisualStudio.Workload.NativeDesktop -Latest `
| Select-Object -ExpandProperty InstallationPath
Write-Output "VSDEVCMD=${installationPath}\Common7\Tools\VsDevCmd.bat" `
| Out-File -FilePath "${Env:GITHUB_ENV}" -Append
- name: Build MSVC x86
working-directory: ${{ matrix.branch }}/src
run: |
& "${Env:COMSPEC}" /s /c "`"${Env:VSDEVCMD}`" -arch=x86 -host_arch=x64 -no_logo && set" `
| % { , ($_ -Split '=', 2) } `
| % { [System.Environment]::SetEnvironmentVariable($_[0], $_[1]) }
.\fix_registry.bat
.\createjoltprojects.bat ${{ matrix.arch }}
devenv jolt.sln /upgrade
msbuild jolt.sln /nodeReuse:false /t:Rebuild /p:Configuration=Release /p:Platform=${{ matrix.vscodeArch }} /m /v:minimal
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: vphysics_jolt_${{ matrix.branch }}_win${{ matrix.arch }}
path: ${{ matrix.branch }}/game
if-no-files-found: error
linux:
strategy:
fail-fast: false
matrix:
name: [sdk2013-sp, sdk2013-mp, gmod, gmod_64]
include:
- name: sdk2013-sp
branch: sdk2013-sp
arch: '32'
- name: sdk2013-mp
branch: sdk2013-mp
arch: '32'
- name: gmod
branch: gmod
arch: '32'
- name: gmod_64
branch: gmod
arch: '64'
runs-on: ubuntu-latest
container: debian:bullseye
steps:
- name: Install Dependencies
run: |
dpkg --add-architecture i386
apt update
apt install -y build-essential git libstdc++6:i386 gcc-multilib g++-multilib
- name: Checkout Mini Source SDK
uses: actions/checkout@v3
with:
repository: Joshua-Ashton/mini-source-sdk
- name: Checkout VPhysics Jolt
uses: actions/checkout@v3
with:
path: ${{ matrix.branch }}/src/vphysics_jolt
submodules: recursive
- name: Build GCC x86
working-directory: ${{ matrix.branch }}/src
run: |
chmod +x createjoltprojects.sh
chmod +x devtools/bin/vpc_linux
chmod +x devtools/bin/vpc
chmod +x devtools/gendbg.sh
./createjoltprojects.sh ${{ matrix.arch }}
if [ "${{ matrix.arch }}" = "64" ]; then
make -f jolt.mak ARCH_FLAGS="-march=x86-64 -mtune=generic" -j $(nproc)
else
make -f jolt.mak -j $(nproc)
fi
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: vphysics_jolt_${{ matrix.branch }}_linux${{ matrix.arch }}
path: ${{ matrix.branch }}/game