Skip to content

ADD: new functions to xr_conditions #3700

ADD: new functions to xr_conditions

ADD: new functions to xr_conditions #3700

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/
build-compressor:
name: 'Build compressor'
strategy:
matrix:
system:
- windows-2022
- ubuntu-22.04
preset:
- Compressor
platform:
- x64
config:
- Debug
- RelWithDebInfo
- Release
runs-on: ${{ matrix.system }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Ninja
if: contains(matrix.system, 'ubuntu')
uses: imesense/[email protected]
- name: Configure compressor
run: |
cmake --preset ${{ matrix.preset }}-${{ matrix.platform }}-${{ runner.os }}
- name: Build compressor
run: |
cmake --build --preset ${{ matrix.preset }}-${{ matrix.platform }}-${{ runner.os }}-${{ matrix.config }}
- name: Upload binaries
uses: actions/upload-artifact@v4
with:
name: compressor-binaries-${{ matrix.system }}-${{ matrix.platform }}-${{ matrix.config }}-${{ github.sha }}
path: |
build/${{ matrix.platform }}/${{ matrix.preset }}-${{ runner.os }}/bin/${{ matrix.config }}/
!build/${{ matrix.platform }}/${{ matrix.preset }}-${{ runner.os }}/bin/${{ matrix.config }}/*.pdb
!build/${{ matrix.platform }}/${{ matrix.preset }}-${{ runner.os }}/bin/${{ matrix.config }}/*.debug
if-no-files-found: ignore
- name: Upload symbols
uses: actions/upload-artifact@v4
if: ${{ matrix.config != 'Release' }}
with:
name: compressor-symbols-${{ matrix.system }}-${{ matrix.platform }}-${{ matrix.config }}-${{ github.sha }}
path: |
build/${{ matrix.platform }}/${{ matrix.preset }}-${{ runner.os }}/bin/${{ matrix.config }}/*.pdb
build/${{ matrix.platform }}/${{ matrix.preset }}-${{ runner.os }}/bin/${{ matrix.config }}/*.debug
if-no-files-found: ignore
- name: Upload libraries
uses: actions/upload-artifact@v4
with:
name: compressor-libraries-${{ matrix.system }}-${{ matrix.platform }}-${{ matrix.config }}-${{ github.sha }}
path: |
build/${{ matrix.platform }}/${{ matrix.preset }}-${{ runner.os }}/lib/${{ matrix.config }}/
if-no-files-found: ignore
pack-assets:
name: 'Pack assets'
needs: build-compressor
strategy:
matrix:
system:
- windows-2022
preset:
- Compressor
platform:
- x64
config:
- Release
runs-on: ${{ matrix.system }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get compressor
uses: actions/download-artifact@v4
with:
name: compressor-binaries-${{ matrix.system }}-${{ matrix.platform }}-${{ matrix.config }}-${{ github.sha }}
path: build/${{ matrix.platform }}/${{ matrix.preset }}-${{ runner.os }}/bin/${{ matrix.config }}/
- name: Generate patch
run: |
${{ github.workspace }}/util/generate-patch.bat
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: compressor-assets-${{ github.sha }}
path: |
gamedata/
patches/xpatch_03.db
fsgame.ltx
.xrignore
publish-engine:
name: 'Publish engine'
needs:
- build-engine
- 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: compressor-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
fsgame.ltx
.xrignore