mirror of
https://github.com/mapbase-source/source-sdk-2013.git
synced 2025-01-19 02:07:56 +03:00
Change workflow to use .sln and consolidate artifact tasks
This commit is contained in:
parent
93d586a82e
commit
cfe649e0e0
135
.github/workflows/mapbase_build-base.yml
vendored
135
.github/workflows/mapbase_build-base.yml
vendored
@ -54,7 +54,7 @@ jobs:
|
|||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Add MSBuild to PATH
|
- name: Add MSBuild to PATH
|
||||||
uses: microsoft/setup-msbuild@v1.1
|
uses: compnerd/gha-setup-vsdevenv@v6
|
||||||
|
|
||||||
- name: Enable VS2022
|
- name: Enable VS2022
|
||||||
working-directory: '${{inputs.branch}}/src/vpc_scripts'
|
working-directory: '${{inputs.branch}}/src/vpc_scripts'
|
||||||
@ -77,108 +77,40 @@ jobs:
|
|||||||
|
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
|
|
||||||
# "I'm invoking msbuild for each project individually, which looks a bit odd considering there is a solution file which should be able to invoke the builds in their proper order automatically, but passing the solution to msbuild doesn't seem to work."
|
- name: Build
|
||||||
# https://github.com/mapbase-source/source-sdk-2013/pull/162
|
|
||||||
|
|
||||||
- name: Build mathlib
|
|
||||||
#if: steps.filter.outputs.game == 'true'
|
#if: steps.filter.outputs.game == 'true'
|
||||||
working-directory: '${{inputs.branch}}/src'
|
working-directory: '${{inputs.branch}}/src'
|
||||||
shell: cmd
|
shell: cmd
|
||||||
run: |
|
run: |
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} mathlib\mathlib.vcxproj || exit /b
|
devenv ${{inputs.solution-name}}.sln /upgrade
|
||||||
|
msbuild -m -t:Rebuild -p:Configuration=${{inputs.configuration}};Platform=x86 ${{inputs.solution-name}}.sln
|
||||||
- name: Build Base Libraries
|
|
||||||
if: inputs.project-group == 'all' || inputs.project-group == 'game' || inputs.project-group == 'maptools'
|
|
||||||
working-directory: '${{inputs.branch}}/src'
|
|
||||||
shell: cmd
|
|
||||||
run: |
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} raytrace\raytrace.vcxproj || exit /b
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} tier1\tier1.vcxproj || exit /b
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} vscript\vscript.vcxproj || exit /b
|
|
||||||
|
|
||||||
- name: Build Map Tools
|
|
||||||
if: inputs.project-group == 'all' || inputs.project-group == 'maptools'
|
|
||||||
working-directory: '${{inputs.branch}}/src'
|
|
||||||
shell: cmd
|
|
||||||
run: |
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} fgdlib\fgdlib.vcxproj || exit /b
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} utils\vbsp\vbsp.vcxproj || exit /b
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} utils\vvis\vvis_dll.vcxproj || exit /b
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} utils\vvis_launcher\vvis_launcher.vcxproj || exit /b
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} utils\vrad\vrad_dll.vcxproj || exit /b
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} utils\vrad_launcher\vrad_launcher.vcxproj || exit /b
|
|
||||||
|
|
||||||
- name: Build Shaders
|
|
||||||
if: inputs.project-group == 'shaders'
|
|
||||||
working-directory: '${{inputs.branch}}/src'
|
|
||||||
shell: cmd
|
|
||||||
run: |
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} materialsystem\stdshaders\game_shader_dx9_${{inputs.game}}.vcxproj || exit /b
|
|
||||||
|
|
||||||
- name: Build Game
|
|
||||||
if: inputs.project-group == 'game'
|
|
||||||
working-directory: '${{inputs.branch}}/src'
|
|
||||||
shell: cmd
|
|
||||||
run: |
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} vgui2\vgui_controls\vgui_controls.vcxproj || exit /b
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} responserules\runtime\responserules.vcxproj || exit /b
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} game\client\client_${{inputs.game}}.vcxproj || exit /b
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} game\server\server_${{inputs.game}}.vcxproj || exit /b
|
|
||||||
|
|
||||||
# TODO: Hook to game naming?
|
|
||||||
- name: Build everything
|
|
||||||
if: inputs.project-group == 'all'
|
|
||||||
working-directory: '${{inputs.branch}}/src'
|
|
||||||
shell: cmd
|
|
||||||
run: |
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} vgui2\vgui_controls\vgui_controls.vcxproj || exit /b
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} responserules\runtime\responserules.vcxproj || exit /b
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} materialsystem\stdshaders\game_shader_dx9_episodic.vcxproj || exit /b
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} materialsystem\stdshaders\game_shader_dx9_hl2.vcxproj || exit /b
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} game\client\client_episodic.vcxproj || exit /b
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} game\client\client_hl2.vcxproj || exit /b
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} game\server\server_episodic.vcxproj || exit /b
|
|
||||||
msbuild -m -p:Configuration=${{inputs.configuration}} game\server\server_hl2.vcxproj || exit /b
|
|
||||||
|
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
|
|
||||||
- name: Publish Windows game DLLs
|
- name: Publish game binaries
|
||||||
if: inputs.project-group == 'game'
|
if: inputs.project-group == 'game' || inputs.project-group == 'shaders'
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: 'Windows Game DLLs (server & client.dll) [${{ inputs.configuration }}]'
|
name: '${{inputs.project-group}}_${{inputs.game}}_win32_${{ inputs.configuration }}'
|
||||||
path: |
|
path: |
|
||||||
${{inputs.branch}}/game/mod_${{inputs.game}}/bin/client.dll
|
${{inputs.branch}}/game/mod_${{inputs.game}}/bin/*.dll
|
||||||
${{inputs.branch}}/game/mod_${{inputs.game}}/bin/server.dll
|
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
- name: Publish Windows shader DLL
|
- name: Publish map tools
|
||||||
if: inputs.project-group == 'shaders'
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: 'Windows Shader DLL (game_shader_dx9.dll) [${{ inputs.configuration }}]'
|
|
||||||
path: |
|
|
||||||
${{inputs.branch}}/game/mod_${{inputs.game}}/bin/game_shader_dx9.dll
|
|
||||||
if-no-files-found: error
|
|
||||||
|
|
||||||
- name: Publish Windows map tools
|
|
||||||
if: inputs.project-group == 'maptools'
|
if: inputs.project-group == 'maptools'
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: 'Windows Map Tools [${{ inputs.configuration }}]'
|
name: '${{inputs.project-group}}_win32_${{ inputs.configuration }}'
|
||||||
path: |
|
path: |
|
||||||
${{inputs.branch}}/game/bin/vbsp.exe
|
${{inputs.branch}}/game/bin/*.exe
|
||||||
${{inputs.branch}}/game/bin/vvis.exe
|
${{inputs.branch}}/game/bin/*.dll
|
||||||
${{inputs.branch}}/game/bin/vvis_dll.dll
|
|
||||||
${{inputs.branch}}/game/bin/vrad.exe
|
|
||||||
${{inputs.branch}}/game/bin/vrad_dll.dll
|
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
- name: Publish everything (Windows)
|
- name: Publish everything
|
||||||
if: inputs.project-group == 'all'
|
if: inputs.project-group == 'all'
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: 'Everything (Windows) [${{ inputs.configuration }}]'
|
name: 'everything_win32_${{ inputs.configuration }}'
|
||||||
path: |
|
path: |
|
||||||
${{inputs.branch}}/game/bin
|
${{inputs.branch}}/game/bin
|
||||||
${{inputs.branch}}/game/mod_*/bin
|
${{inputs.branch}}/game/mod_*/bin
|
||||||
@ -225,30 +157,21 @@ jobs:
|
|||||||
|
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
|
|
||||||
- name: Publish Linux game SOs
|
- name: Publish game binaries
|
||||||
if: inputs.project-group == 'game'
|
if: inputs.project-group == 'game' || inputs.project-group == 'shaders'
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: 'Linux Game SOs (server & client.so) [${{ inputs.configuration }}]'
|
name: '${{inputs.project-group}}_${{inputs.game}}_linux32_${{ inputs.configuration }}'
|
||||||
path: |
|
path: |
|
||||||
${{inputs.branch}}/game/mod_${{inputs.game}}/bin/client.so
|
${{inputs.branch}}/game/mod_${{inputs.game}}/bin/*.so
|
||||||
${{inputs.branch}}/game/mod_${{inputs.game}}/bin/server.so
|
!${{inputs.branch}}/game/mod_${{inputs.game}}/bin/*_srv.so
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
- name: Publish Linux shader SO
|
#- name: Publish map tools
|
||||||
if: inputs.project-group == 'shaders'
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: 'Linux Shader SO (game_shader_dx9.so) [${{ inputs.configuration }}]'
|
|
||||||
path: |
|
|
||||||
${{inputs.branch}}/game/mod_${{inputs.game}}/bin/game_shader_dx9.so
|
|
||||||
if-no-files-found: error
|
|
||||||
|
|
||||||
#- name: Publish Linux map tools
|
|
||||||
# if: inputs.project-group == 'maptools'
|
# if: inputs.project-group == 'maptools'
|
||||||
# uses: actions/upload-artifact@v3
|
# uses: actions/upload-artifact@v4
|
||||||
# with:
|
# with:
|
||||||
# name: 'Linux Map Tools [${{ inputs.configuration }}]'
|
# name: '${{inputs.project-group}}_linux32_${{ inputs.configuration }}'
|
||||||
# path: |
|
# path: |
|
||||||
# ${{inputs.branch}}/game/bin/vbsp
|
# ${{inputs.branch}}/game/bin/vbsp
|
||||||
# ${{inputs.branch}}/game/bin/vvis
|
# ${{inputs.branch}}/game/bin/vvis
|
||||||
@ -259,11 +182,11 @@ jobs:
|
|||||||
|
|
||||||
# For now, don't publish the .dbg files even though we publish .pdb files on Windows
|
# For now, don't publish the .dbg files even though we publish .pdb files on Windows
|
||||||
# (they're too big)
|
# (they're too big)
|
||||||
- name: Publish everything (Linux)
|
- name: Publish everything
|
||||||
if: inputs.project-group == 'all'
|
if: inputs.project-group == 'all'
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: 'Everything (Linux) [${{ inputs.configuration }}]'
|
name: 'everything_linux32_${{ inputs.configuration }}'
|
||||||
path: |
|
path: |
|
||||||
${{inputs.branch}}/game/bin/*.so
|
${{inputs.branch}}/game/bin/*.so
|
||||||
!${{inputs.branch}}/game/bin/*_srv.so
|
!${{inputs.branch}}/game/bin/*_srv.so
|
||||||
|
Loading…
x
Reference in New Issue
Block a user