name: Build Artifacts on: [push, pull_request, workflow_dispatch] jobs: windows: strategy: fail-fast: false matrix: source_branch: [sdk2013-sp, sdk2013-mp, asw, gmod] 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.source_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.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 uses: actions/upload-artifact@v3 with: name: vphysics_jolt_${{ matrix.source_branch }}_win32 path: ${{ matrix.source_branch }}/game if-no-files-found: error linux: strategy: fail-fast: false matrix: source_branch: [sdk2013-sp, sdk2013-mp, gmod] 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.source_branch }}/src/vphysics_jolt submodules: recursive - name: Build GCC x86 working-directory: ${{ matrix.source_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 make -f jolt.mak -j $(nproc) - name: Upload artifacts uses: actions/upload-artifact@v3 with: name: vphysics_jolt_${{ matrix.source_branch }}_linux32 path: ${{ matrix.source_branch }}/game if-no-files-found: error