103 lines
2.9 KiB
YAML
103 lines
2.9 KiB
YAML
name: Build Artifacts
|
|
|
|
on: [push, pull_request, workflow_dispatch]
|
|
|
|
jobs:
|
|
windows:
|
|
strategy:
|
|
matrix:
|
|
source_branch: [sdk2013-sp, sdk2013-mp, asw]
|
|
|
|
runs-on: windows-2022
|
|
|
|
steps:
|
|
- name: Checkout Mini Source SDK
|
|
id: checkout-minisdk
|
|
uses: actions/checkout@v3
|
|
with:
|
|
repository: 'Joshua-Ashton/mini-source-sdk'
|
|
|
|
- name: Checkout VPhysics Jolt
|
|
id: checkout-code
|
|
uses: actions/checkout@v3
|
|
with:
|
|
path: '${{ matrix.source_branch }}/src/vphysics_jolt'
|
|
submodules: recursive
|
|
|
|
- name: Find Visual Studio
|
|
id: find-vs
|
|
shell: pwsh
|
|
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
|
|
id: build
|
|
shell: pwsh
|
|
working-directory: '${{ matrix.source_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
|
|
devenv jolt.sln /upgrade
|
|
msbuild jolt.sln /nodeReuse:false /t:Rebuild /p:Configuration=Release /p:Platform=x86 /m /v:minimal
|
|
|
|
- name: Upload artifacts
|
|
id: upload-artifacts
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: vphysics_jolt_${{ matrix.source_branch }}_win32
|
|
path: ${{ matrix.source_branch }}/game
|
|
if-no-files-found: error
|
|
|
|
linux:
|
|
strategy:
|
|
matrix:
|
|
source_branch: [sdk2013-sp, sdk2013-mp]
|
|
|
|
runs-on: ubuntu-latest
|
|
container: debian:bullseye
|
|
|
|
steps:
|
|
- name: Install Dependencies
|
|
id: install-deps
|
|
shell: bash
|
|
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
|
|
id: checkout-minisdk
|
|
uses: actions/checkout@v3
|
|
with:
|
|
repository: 'Joshua-Ashton/mini-source-sdk'
|
|
|
|
- name: Checkout VPhysics Jolt
|
|
id: checkout-code
|
|
uses: actions/checkout@v3
|
|
with:
|
|
path: '${{ matrix.source_branch }}/src/vphysics_jolt'
|
|
submodules: recursive
|
|
|
|
- name: Build GCC x86
|
|
id: build
|
|
shell: bash
|
|
working-directory: '${{ matrix.source_branch }}/src'
|
|
run: |
|
|
./createjoltprojects.sh
|
|
make -f jolt.mak -j $(nproc)
|
|
|
|
- name: Upload artifacts
|
|
id: upload-artifacts
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: vphysics_jolt_${{ matrix.source_branch }}_linux32
|
|
path: ${{ matrix.source_branch }}/game
|
|
if-no-files-found: error
|