mirror of
https://github.com/mapbase-source/source-sdk-2013.git
synced 2024-12-25 06:15:30 +03:00
GitHub build workflows (#204)
This commit is contained in:
parent
03fffae585
commit
3f5807f1fd
24
.github/CONTRIBUTING.md
vendored
24
.github/CONTRIBUTING.md
vendored
@ -23,12 +23,12 @@ All contributions must follow the following rules:
|
||||
is usually not fit for Mapbase.
|
||||
|
||||
* All content in a contribution must be either already legally open-source or done with the
|
||||
full permission of the content's original creator(s). If licensing is involved, the contribution
|
||||
must ensure Mapbase follows said licensing.
|
||||
full permission of the content's original creator(s). If a license is involved, the contributor
|
||||
should ensure Mapbase conforms to its terms.
|
||||
* **NOTE:** Due to concerns with mods which do not wish to be open-source, content using GPL licenses (or any
|
||||
license with similar open-source requirements) are currently not allowed to be distributed with Mapbase.
|
||||
Contributions which can draw from them without actually distributing the licensed content may theoretically
|
||||
be excepted from this rule.
|
||||
Contributions which can draw from them without actually distributing the licensed content may be excepted
|
||||
from this rule.
|
||||
|
||||
* Contributions must not break existing maps/content or interfere with them in a negative or non-objective way.
|
||||
|
||||
@ -41,13 +41,19 @@ All contributions must follow the following rules:
|
||||
|
||||
* Do not modify the README to add attribution for your contribution. That is handled by Mapbase's maintainers.
|
||||
|
||||
Contributions which do not follow these guidelines cannot be accepted into Mapbase.
|
||||
|
||||
Attempting to contribute content which seriously violates the rules above can lead to being blocked from contributing,
|
||||
especially if done repeatedly.
|
||||
Contributions which do not follow these guidelines cannot be accepted into Mapbase. Attempting to contribute content
|
||||
which seriously violates the rules above can lead to being blocked from contributing, especially if done repeatedly.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Mapbase uses GitHub Actions to help manage issues and pull requests. Some of these workflows build the code of incoming
|
||||
contributions to make sure they compile properly. The code is compiled separately for Visual Studio 2022 and GCC/G++ 9 (Linux)
|
||||
and on both Debug and Release configurations.
|
||||
|
||||
If these workflows fail, don't freak out! Accidents can happen frequently due to compiler syntax differences and conflicts
|
||||
from other contributions. You can look at a failed workflow's log by clicking "Details", which will include the build's output.
|
||||
Any errors must be resolved by you and/or by code reviewers before a pull request can be merged.
|
||||
|
||||
If your contribution is accepted, you may be listed in Mapbase's credits and the README's external content list:
|
||||
https://github.com/mapbase-source/source-sdk-2013/wiki/Mapbase-Credits#Contributors
|
||||
https://github.com/mapbase-source/source-sdk-2013/blob/master/README
|
||||
|
27
.github/labeler.yml
vendored
Normal file
27
.github/labeler.yml
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
#
|
||||
# MAPBASE REPO AUTOMATION
|
||||
#
|
||||
# Automatically labels pull requests according to changed file paths.
|
||||
# See mapbase_pr.yml for more information.
|
||||
#
|
||||
Repo:
|
||||
- '*'
|
||||
- '.github/**'
|
||||
|
||||
Project Generation:
|
||||
- '**/src/vpc_scripts/**'
|
||||
- '**/src/devtools/**'
|
||||
- '**/src/create*'
|
||||
|
||||
Entities:
|
||||
- '**/src/game/**/**logic**'
|
||||
- '**/src/game/**/**point**'
|
||||
|
||||
Shaders:
|
||||
- '**/src/materialsystem/**'
|
||||
|
||||
VScript:
|
||||
- '**vscript**'
|
||||
|
||||
Tools:
|
||||
- '**utils**'
|
68
.github/workflows/mapbase_build-base-dispatch.yml
vendored
Normal file
68
.github/workflows/mapbase_build-base-dispatch.yml
vendored
Normal file
@ -0,0 +1,68 @@
|
||||
#
|
||||
# MAPBASE SOURCE 2013 CI
|
||||
#
|
||||
# This can be used to manually build the codebase.
|
||||
#
|
||||
# See mapbase_build-base.yml for more information on how this works.
|
||||
|
||||
name: Build Projects (Manual)
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
configuration:
|
||||
description: 'Which configuration to build with'
|
||||
default: 'Release'
|
||||
required: true
|
||||
type: choice
|
||||
options:
|
||||
- Release
|
||||
- Debug
|
||||
branch:
|
||||
description: 'Which Source 2013 engine branch to compile for'
|
||||
default: 'sp'
|
||||
required: true
|
||||
type: choice
|
||||
options:
|
||||
- sp
|
||||
- mp
|
||||
game:
|
||||
description: 'Name of the game to build (if relevant)'
|
||||
default: 'episodic'
|
||||
required: false
|
||||
type: choice
|
||||
options:
|
||||
- episodic
|
||||
- hl2
|
||||
project-group:
|
||||
description: 'Which group of projects to compile'
|
||||
required: true
|
||||
type: choice
|
||||
options:
|
||||
- all
|
||||
- game
|
||||
- shaders
|
||||
- maptools
|
||||
solution-name:
|
||||
description: 'Name of the solution/makefile'
|
||||
required: true
|
||||
type: choice
|
||||
options:
|
||||
- everything
|
||||
- games
|
||||
- shaders
|
||||
- maptools
|
||||
build-on-linux:
|
||||
description: 'Build on Ubuntu/Linux?'
|
||||
default: true
|
||||
required: false
|
||||
type: boolean
|
||||
|
||||
jobs:
|
||||
build_manual:
|
||||
uses: mapbase-source/source-sdk-2013/.github/workflows/mapbase_build-base.yml@feature/github-workflows
|
||||
with:
|
||||
configuration: '${{ github.event.inputs.configuration }}'
|
||||
branch: '${{ github.event.inputs.branch }}'
|
||||
project-group: '${{ github.event.inputs.project-group }}'
|
||||
solution-name: '${{ github.event.inputs.solution-name }}'
|
265
.github/workflows/mapbase_build-base.yml
vendored
Normal file
265
.github/workflows/mapbase_build-base.yml
vendored
Normal file
@ -0,0 +1,265 @@
|
||||
#
|
||||
# MAPBASE SOURCE 2013 CI
|
||||
#
|
||||
# This workflow script automatically builds the Source SDK 2013 codebase on Windows and Linux using GitHub Actions.
|
||||
#
|
||||
# This is useful in a number of ways:
|
||||
#
|
||||
# 1. It ensures pull requests compile correctly on multiple platforms and provides binaries that can be used to test them.
|
||||
# 2. It can be used to compile code for releases without having to pull and prepare a local development environment.
|
||||
# 3. It opens potential for scripts that can employ more principles of CI/CD. (e.g. automatically publishing a release)
|
||||
#
|
||||
# This is based on a workflow originally created by z33ky.
|
||||
|
||||
name: Build Projects
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
configuration:
|
||||
description: 'Which configuration to build with'
|
||||
default: 'Release'
|
||||
required: true
|
||||
type: string
|
||||
branch:
|
||||
description: 'Which Source 2013 engine branch to compile for'
|
||||
default: 'sp'
|
||||
required: true
|
||||
type: string
|
||||
game:
|
||||
description: 'The name of the game to build (if relevant)'
|
||||
default: 'episodic'
|
||||
required: false
|
||||
type: string
|
||||
project-group:
|
||||
description: 'Which group of projects to compile'
|
||||
required: true
|
||||
type: string
|
||||
solution-name:
|
||||
description: 'The name of the solution/makefile'
|
||||
required: true
|
||||
type: string
|
||||
build-on-linux:
|
||||
description: 'Build on Ubuntu/Linux?'
|
||||
default: true
|
||||
required: false
|
||||
type: boolean
|
||||
|
||||
jobs:
|
||||
build_windows:
|
||||
name: Windows (VS2022)
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Add MSBuild to PATH
|
||||
uses: microsoft/setup-msbuild@v1.1
|
||||
|
||||
- name: Enable VS2022
|
||||
working-directory: '${{inputs.branch}}/src/vpc_scripts'
|
||||
shell: bash
|
||||
run: sed -i 's/^\($Conditional[ ]\+VS2022[ ]\+\).*/\1"1"/' newer_vs_toolsets.vpc
|
||||
|
||||
- name: Pick game
|
||||
if: inputs.project-group == 'game' || inputs.project-group == 'shaders'
|
||||
working-directory: '${{inputs.branch}}/src'
|
||||
shell: bash
|
||||
run: sed -i 's/\/hl2 \/episodic/\/${{inputs.game}}/' create${{inputs.project-group}}projects.bat
|
||||
|
||||
- name: Create project files
|
||||
working-directory: '${{inputs.branch}}/src'
|
||||
shell: cmd
|
||||
# https://github.com/ValveSoftware/source-sdk-2013/issues/72
|
||||
run: |
|
||||
reg add "HKLM\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\10.0\Projects\{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}" /v DefaultProjectExtension /t REG_SZ /d vcproj /f
|
||||
create${{inputs.project-group}}projects.bat
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
# "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."
|
||||
# https://github.com/mapbase-source/source-sdk-2013/pull/162
|
||||
|
||||
- name: Build mathlib
|
||||
#if: steps.filter.outputs.game == 'true'
|
||||
working-directory: '${{inputs.branch}}/src'
|
||||
shell: cmd
|
||||
run: |
|
||||
msbuild -m -p:Configuration=${{inputs.configuration}} mathlib\mathlib.vcxproj
|
||||
|
||||
- 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
|
||||
msbuild -m -p:Configuration=${{inputs.configuration}} tier1\tier1.vcxproj
|
||||
msbuild -m -p:Configuration=${{inputs.configuration}} vgui2\vgui_controls\vgui_controls.vcxproj
|
||||
msbuild -m -p:Configuration=${{inputs.configuration}} vscript\vscript.vcxproj
|
||||
|
||||
- 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
|
||||
msbuild -m -p:Configuration=${{inputs.configuration}} utils\vbsp\vbsp.vcxproj
|
||||
msbuild -m -p:Configuration=${{inputs.configuration}} utils\vvis\vvis_dll.vcxproj
|
||||
msbuild -m -p:Configuration=${{inputs.configuration}} utils\vvis_launcher\vvis_launcher.vcxproj
|
||||
msbuild -m -p:Configuration=${{inputs.configuration}} utils\vrad\vrad_dll.vcxproj
|
||||
msbuild -m -p:Configuration=${{inputs.configuration}} utils\vrad_launcher\vrad_launcher.vcxproj
|
||||
|
||||
- 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
|
||||
|
||||
- name: Build Game
|
||||
if: inputs.project-group == 'game'
|
||||
working-directory: '${{inputs.branch}}/src'
|
||||
shell: cmd
|
||||
run: |
|
||||
msbuild -m -p:Configuration=${{inputs.configuration}} responserules\runtime\responserules.vcxproj
|
||||
msbuild -m -p:Configuration=${{inputs.configuration}} game\client\client_${{inputs.game}}.vcxproj
|
||||
msbuild -m -p:Configuration=${{inputs.configuration}} game\server\server_${{inputs.game}}.vcxproj
|
||||
|
||||
# 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}} responserules\runtime\responserules.vcxproj
|
||||
msbuild -m -p:Configuration=${{inputs.configuration}} materialsystem\stdshaders\game_shader_dx9_episodic.vcxproj
|
||||
msbuild -m -p:Configuration=${{inputs.configuration}} materialsystem\stdshaders\game_shader_dx9_hl2.vcxproj
|
||||
msbuild -m -p:Configuration=${{inputs.configuration}} game\client\client_episodic.vcxproj
|
||||
msbuild -m -p:Configuration=${{inputs.configuration}} game\client\client_hl2.vcxproj
|
||||
msbuild -m -p:Configuration=${{inputs.configuration}} game\server\server_episodic.vcxproj
|
||||
msbuild -m -p:Configuration=${{inputs.configuration}} game\server\server_hl2.vcxproj
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
- name: Publish Windows game DLLs
|
||||
if: inputs.project-group == 'all' || inputs.project-group == 'game'
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: 'Windows Game DLLs (server & client.dll) [${{ inputs.configuration }}]'
|
||||
path: |
|
||||
${{inputs.branch}}/game/mod_${{inputs.game}}/bin/client.dll
|
||||
${{inputs.branch}}/game/mod_${{inputs.game}}/bin/server.dll
|
||||
if-no-files-found: error
|
||||
|
||||
- name: Publish Windows shader DLL
|
||||
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'
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: 'Windows Map Tools [${{ inputs.configuration }}]'
|
||||
path: |
|
||||
${{inputs.branch}}/game/bin/vbsp.exe
|
||||
${{inputs.branch}}/game/bin/vvis.exe
|
||||
${{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
|
||||
|
||||
- name: Publish everything (Windows)
|
||||
if: inputs.project-group == 'all'
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: 'Everything (Windows) [${{ inputs.configuration }}]'
|
||||
path: |
|
||||
${{inputs.branch}}/game/bin
|
||||
${{inputs.branch}}/game/mod_*/bin
|
||||
if-no-files-found: error
|
||||
|
||||
build_ubuntu:
|
||||
if: inputs.build-on-linux == true && inputs.project-group != 'maptools' # No Linux map tools for now
|
||||
name: Ubuntu (GCC/G++)
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
config: ${{ inputs.configuration }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Install GCC/G++ multilib
|
||||
run: sudo apt-get install gcc-multilib g++-multilib
|
||||
|
||||
- name: Pick game
|
||||
if: inputs.project-group == 'game' || inputs.project-group == 'shaders'
|
||||
working-directory: '${{inputs.branch}}/src'
|
||||
shell: bash
|
||||
run: sed -i 's/\/hl2 \/episodic/\/${{inputs.game}}/' create${{inputs.project-group}}projects
|
||||
|
||||
- name: Set configuration
|
||||
working-directory: '${{inputs.branch}}/src'
|
||||
shell: bash
|
||||
run: |
|
||||
config=${{inputs.configuration}}
|
||||
export CFG=${config,,}
|
||||
echo "config=${CFG}" >> $GITHUB_ENV
|
||||
|
||||
- name: Create project files
|
||||
working-directory: '${{inputs.branch}}/src'
|
||||
run: sudo ./create${{inputs.project-group}}projects
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
- name: Build
|
||||
working-directory: '${{inputs.branch}}/src'
|
||||
run: make CFG=${{env.config}} -f ${{inputs.solution-name}}.mak
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
- name: Publish Linux game SOs
|
||||
if: inputs.project-group == 'game'
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: 'Linux Game SOs (server & client.so) [${{ inputs.configuration }}]'
|
||||
path: |
|
||||
${{inputs.branch}}/game/mod_${{inputs.game}}/bin/client.so
|
||||
${{inputs.branch}}/game/mod_${{inputs.game}}/bin/server.so
|
||||
if-no-files-found: error
|
||||
|
||||
- name: Publish Linux shader SO
|
||||
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'
|
||||
# uses: actions/upload-artifact@v3
|
||||
# with:
|
||||
# name: 'Linux Map Tools [${{ inputs.configuration }}]'
|
||||
# path: |
|
||||
# ${{inputs.branch}}/game/bin/vbsp
|
||||
# ${{inputs.branch}}/game/bin/vvis
|
||||
# ${{inputs.branch}}/game/bin/vvis_dll.so
|
||||
# ${{inputs.branch}}/game/bin/vrad
|
||||
# ${{inputs.branch}}/game/bin/vrad_dll.so
|
||||
# if-no-files-found: error
|
||||
|
||||
- name: Publish everything (Linux)
|
||||
if: inputs.project-group == 'all'
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: 'Everything (Linux) [${{ inputs.configuration }}]'
|
||||
path: |
|
||||
${{inputs.branch}}/game/bin
|
||||
${{inputs.branch}}/game/mod_*/bin
|
||||
if-no-files-found: error
|
37
.github/workflows/mapbase_build-sp-games.yml
vendored
Normal file
37
.github/workflows/mapbase_build-sp-games.yml
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
#
|
||||
# MAPBASE SOURCE 2013 CI
|
||||
#
|
||||
# Builds game projects every time a pull request which modifies the game code is opened.
|
||||
# If you're using a fork of Mapbase, feel free to configure this to meet your repository's needs.
|
||||
#
|
||||
# See mapbase_build-base.yml for more information on how this works.
|
||||
|
||||
name: Build Game Projects #(SP Release)
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- develop
|
||||
paths:
|
||||
- '.github/workflows/mapbase_build-sp-rel-games.yml'
|
||||
- 'sp/src/vpc_scripts/**'
|
||||
- 'sp/src/game/**'
|
||||
- 'sp/src/mathlib/**'
|
||||
- 'sp/src/responserules/runtime/**'
|
||||
- 'sp/src/tier1/**'
|
||||
- 'sp/src/vgui2/vgui_controls/**'
|
||||
- 'sp/src/vscript/**'
|
||||
|
||||
jobs:
|
||||
games:
|
||||
strategy:
|
||||
matrix:
|
||||
configuration: [Release, Debug]
|
||||
uses: ./.github/workflows/mapbase_build-base.yml
|
||||
with:
|
||||
configuration: ${{ matrix.configuration }}
|
||||
branch: 'sp'
|
||||
game: 'episodic' # Change this if your mod is not using HL2/Episodic game projects
|
||||
project-group: 'game'
|
||||
solution-name: 'games'
|
||||
build-on-linux: true # Disable this if you don't want to compile for Linux
|
38
.github/workflows/mapbase_build-sp-maptools.yml
vendored
Normal file
38
.github/workflows/mapbase_build-sp-maptools.yml
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
#
|
||||
# MAPBASE SOURCE 2013 CI
|
||||
#
|
||||
# Builds map tool projects every time a pull request which modifies the map tool code is opened.
|
||||
# If you're using a fork of Mapbase, feel free to configure this to meet your repository's needs.
|
||||
#
|
||||
# See mapbase_build-base.yml for more information on how this works.
|
||||
|
||||
name: Build Map Tool Projects #(SP Release)
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- develop
|
||||
paths:
|
||||
- '.github/workflows/mapbase_build-sp-rel-maptools.yml'
|
||||
- 'sp/src/vpc_scripts/**'
|
||||
- 'sp/src/utils/vbsp/**'
|
||||
- 'sp/src/utils/vvis/**'
|
||||
- 'sp/src/utils/vvis_launcher/**'
|
||||
- 'sp/src/utils/vrad/**'
|
||||
- 'sp/src/utils/vrad_launcher/**'
|
||||
- 'sp/src/mathlib/**'
|
||||
- 'sp/src/tier1/**'
|
||||
- 'sp/src/vgui2/vgui_controls/**'
|
||||
- 'sp/src/vscript/**'
|
||||
|
||||
jobs:
|
||||
maptools:
|
||||
strategy:
|
||||
matrix:
|
||||
configuration: [Release, Debug]
|
||||
uses: ./.github/workflows/mapbase_build-base.yml
|
||||
with:
|
||||
configuration: ${{ matrix.configuration }}
|
||||
branch: 'sp'
|
||||
project-group: 'maptools'
|
||||
solution-name: 'maptools'
|
33
.github/workflows/mapbase_build-sp-shaders.yml
vendored
Normal file
33
.github/workflows/mapbase_build-sp-shaders.yml
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
#
|
||||
# MAPBASE SOURCE 2013 CI
|
||||
#
|
||||
# Builds shader projects every time a pull request which modifies the shader code is opened.
|
||||
# If you're using a fork of Mapbase, feel free to configure this to meet your repository's needs.
|
||||
#
|
||||
# See mapbase_build-base.yml for more information on how this works.
|
||||
|
||||
name: Build Shader Projects #(SP Release)
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- develop
|
||||
paths:
|
||||
- '.github/workflows/mapbase_build-sp-rel-shaders.yml'
|
||||
- 'sp/src/vpc_scripts/**'
|
||||
- 'sp/src/materialsystem/**'
|
||||
- 'sp/src/mathlib/**'
|
||||
|
||||
jobs:
|
||||
shaders:
|
||||
strategy:
|
||||
matrix:
|
||||
configuration: [Release, Debug]
|
||||
uses: ./.github/workflows/mapbase_build-base.yml
|
||||
with:
|
||||
configuration: ${{ matrix.configuration }}
|
||||
branch: 'sp'
|
||||
game: 'episodic' # Change this if your mod is not using HL2/Episodic game projects
|
||||
project-group: 'shaders'
|
||||
solution-name: 'shaders'
|
||||
build-on-linux: true # Disable this if you don't want to compile for Linux
|
23
.github/workflows/mapbase_pr.yml
vendored
Normal file
23
.github/workflows/mapbase_pr.yml
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
#
|
||||
# MAPBASE REPO AUTOMATION
|
||||
#
|
||||
# Automatically labels pull requests according to changed file paths.
|
||||
# See mapbase_triage-pr.yml for more information.
|
||||
#
|
||||
# https://github.com/actions/labeler
|
||||
|
||||
name: Pull Request Automation
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
label:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- uses: actions/labeler@v4
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
5
sp/src/createmaptoolsprojects
Executable file
5
sp/src/createmaptoolsprojects
Executable file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
pushd `dirname $0`
|
||||
devtools/bin/vpc /hl2 /episodic +maptools /mksln maptools
|
||||
popd
|
1
sp/src/createmaptoolsprojects.bat
Normal file
1
sp/src/createmaptoolsprojects.bat
Normal file
@ -0,0 +1 @@
|
||||
devtools\bin\vpc.exe +maptools /mksln maptools.sln
|
5
sp/src/createshadersprojects
Executable file
5
sp/src/createshadersprojects
Executable file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
pushd `dirname $0`
|
||||
devtools/bin/vpc /hl2 /episodic +shaders /mksln shaders
|
||||
popd
|
1
sp/src/createshadersprojects.bat
Normal file
1
sp/src/createshadersprojects.bat
Normal file
@ -0,0 +1 @@
|
||||
devtools\bin\vpc.exe /hl2 /episodic +shaders /mksln shaders.sln
|
@ -26,9 +26,15 @@ $Group "game"
|
||||
"responserules"
|
||||
}
|
||||
|
||||
$Group "shaderdlls"
|
||||
{
|
||||
"game_shader_dx9"
|
||||
}
|
||||
|
||||
$Group "shaders"
|
||||
{
|
||||
"game_shader_dx9"
|
||||
"mathlib"
|
||||
}
|
||||
|
||||
$Group "everything"
|
||||
|
@ -67,8 +67,9 @@ $Configuration
|
||||
|
||||
$PostBuildEvent [!$ANALYZE]
|
||||
{
|
||||
$CommandLine "if not exist $QUOTE$OUTBINDIR$QUOTE mkdir $QUOTE$OUTBINDIR$QUOTE" "\n" [($VS2015||$VS2017||$VS2019||$VS2022)]
|
||||
$CommandLine "$BASE" "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetFileName) $SRCDIR" "\n" [!$SOURCESDK && ($VS2015||$VS2017||$VS2019||$VS2022)]
|
||||
$CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetFileName) $SRCDIR" "\n" [!$SOURCESDK && !($VS2015||$VS2017||$VS2019||$VS2022)]
|
||||
$CommandLine "if not exist $QUOTE$OUTBINDIR$QUOTE mkdir $QUOTE$OUTBINDIR$QUOTE" "\n" [!$SOURCESDK && ($VS2015||$VS2017||$VS2019||$VS2022)]
|
||||
$CommandLine "$BASE" "copy $QUOTE$(TargetDir)$QUOTE$(TargetFileName) $OUTBINDIR\$(TargetFileName) >nul" "\n" \
|
||||
"if ERRORLEVEL 1 goto BuildEventFailed" "\n" \
|
||||
"if exist $QUOTE$(TargetDir)$QUOTE$(TargetName).map copy $QUOTE$(TargetDir)$QUOTE$(TargetName).map $OUTBINDIR\$(TargetName).map >nul" "\n"
|
||||
|
Loading…
Reference in New Issue
Block a user