vphysics_jolt/.github/workflows/artifacts.yml

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