Skip to content

Fix xrGameLA, part 8 #5036

Fix xrGameLA, part 8

Fix xrGameLA, part 8 #5036

Workflow file for this run

name: 'Build engine'
on:
push:
branches:
- '**'
paths:
- '.github/workflows/**'
- 'gamedata/**'
- 'sdk/**'
- 'src/**'
- '**/CMakeLists.txt'
- '**/*.ltx'
- '**/*.json'
pull_request:
branches:
- '**'
paths:
- '.github/workflows/**'
- 'gamedata/**'
- 'sdk/**'
- 'src/**'
- '**/CMakeLists.txt'
- '**/*.ltx'
- '**/*.json'
defaults:
run:
shell: pwsh
jobs:
build-engine:
name: 'Build engine'
strategy:
matrix:
system:
- windows-2022
preset:
- Engine
platform:
- x64
config:
- Debug
- RelWithDebInfo
- Release
runs-on: ${{ matrix.system }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Cache packages
uses: actions/cache@v4
with:
key: ${{ matrix.preset }}-NuGet-${{ hashFiles('**/Packages.config') }}
restore-keys: |
${{ matrix.preset }}-NuGet-${{ hashFiles('**/Packages.config') }}
${{ matrix.preset }}-NuGet-
path: |
~/.nuget/packages
- name: Configure engine
run: |
cmake `
--preset ${{ matrix.preset }}-${{ matrix.platform }}-${{ runner.os }}
- name: Build engine
run: |
cmake `
--build `
--preset ${{ matrix.preset }}-${{ matrix.platform }}-${{ runner.os }}-${{ matrix.config }}
- name: Upload binaries
uses: actions/upload-artifact@v4
with:
name: engine-binaries-${{ matrix.system }}-${{ matrix.platform }}-${{ matrix.config }}-${{ github.sha }}
path: |
build/${{ matrix.platform }}/${{ matrix.preset }}-${{ runner.os }}/bin/${{ matrix.config }}/*.exe
build/${{ matrix.platform }}/${{ matrix.preset }}-${{ runner.os }}/bin/${{ matrix.config }}/*.dll
- name: Upload symbols
uses: actions/upload-artifact@v4
if: ${{ matrix.config != 'Release' }}
with:
name: engine-symbols-${{ matrix.system }}-${{ matrix.platform }}-${{ matrix.config }}-${{ github.sha }}
path: |
build/${{ matrix.platform }}/${{ matrix.preset }}-${{ runner.os }}/bin/${{ matrix.config }}/*.pdb
- name: Upload libraries
uses: actions/upload-artifact@v4
with:
name: engine-libraries-${{ matrix.system }}-${{ matrix.platform }}-${{ matrix.config }}-${{ github.sha }}
path: |
build/${{ matrix.platform }}/${{ matrix.preset }}-${{ runner.os }}/lib/${{ matrix.config }}/
- name: Upload packages
uses: actions/upload-artifact@v4
if: ${{ (matrix.config == 'Debug' && matrix.platform == 'x64') }}
with:
name: engine-packages-${{ matrix.system }}-${{ github.sha }}
path: |
build/${{ matrix.platform }}/${{ matrix.preset }}-${{ runner.os }}/packages/
pack-assets:
name: 'Pack assets'
needs:
- build-engine
strategy:
matrix:
system:
- windows-2022
runs-on: ${{ matrix.system }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup compressor
uses: ixray-team/[email protected]
with:
codebase: '1.6-stcop'
- name: Generate patch
run: |
${{ github.workspace }}/util/generate-patch.bat `
xrCompress.exe
type `
*.log
move `
${{ github.workspace }}/gamedata `
${{ github.workspace }}/gamedata_full
move `
${{ github.workspace }}/patch `
${{ github.workspace }}/gamedata
- name: Upload assets
uses: actions/upload-artifact@v4
with:
name: engine-assets-${{ github.sha }}
path: |
gamedata/
patches/xpatch_03.db
.xrignore
fsgame.ltx
include-hidden-files: true
publish-engine:
name: 'Publish engine'
needs:
- pack-assets
strategy:
matrix:
system:
- windows-2022
platform:
- x64
preset:
- Engine
config:
- RelWithDebInfo
runs-on: ${{ matrix.system }}
steps:
- name: Get engine
uses: actions/download-artifact@v4
with:
name: engine-binaries-${{ matrix.system }}-${{ matrix.platform }}-${{ matrix.config }}-${{ github.sha }}
path: build/${{ matrix.platform }}/${{ matrix.preset }}-${{ runner.os }}/bin/${{ matrix.config }}/
- name: Get assets
uses: actions/download-artifact@v4
with:
name: engine-assets-${{ github.sha }}
path: ./
- name: Move files
run: |
mkdir `
${{ github.workspace }}/bin
move `
${{ github.workspace }}/build/${{ matrix.platform }}/${{ matrix.preset }}-${{ runner.os }}/bin/${{ matrix.config }}/*.* `
${{ github.workspace }}/bin
- name: Upload engine
uses: actions/upload-artifact@v4
with:
name: engine-publish-${{ matrix.system }}-${{ matrix.platform }}-${{ github.sha }}
path: |
bin/
gamedata/
patches/xpatch_03.db
.xrignore
fsgame.ltx
include-hidden-files: true