* FIX: [Render] Oops, forgot about constexpr #3626
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |