Merge pull request #419 from solidi/provide-storm #1338
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: Cold Ice Remastered Release | |
on: [push] | |
env: | |
# Configuration type to build. | |
# You can convert this to a build matrix if you need coverage of multiple configuration types. | |
# https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
BUILD_CONFIGURATION: Release | |
FOLDER_NAME: workspace | |
GAME_TITLE: Cold Ice Remastered | |
GAME_FOLDER: ice_beta5 | |
jobs: | |
windows_libs: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets.COLDICE_ADD_ONS_PAT }} | |
submodules: recursive | |
- name: Add MSBuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Write Config File | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
"`$Config = @{ 'projectName' = '${{env.GAME_TITLE}}'`r`n'defintions' = 'VEST;SILENCER;CLUSTER_GRENADES;CROWBAR;KNIFE;RPG;TRIPMINE;CHUMTOAD;SNIPER_RIFLE;BOLT_GUN;RAILGUN;CANNON;DECOY;MAG60;CHAINGUN;GLAUNCHER;SMG;USAS;FISTS;WRENCH;SNOWBALL;CHAINSAW;_12GAUGE;REVOLVER;EGON;M16;SHOTGUN;NUKE;GAUSS;HIVEHAND;SNARK;DEAGLE;DUALDEAGLE;DUALRPG;DUALSMG;DUALWRENCH;DUALUSAS;FREEZEGUN;DUALMAG60;ROCKETCROWBAR;DUALRAILGUN;GRAVITYGUN;FLAMETHROWER;DUALFLAMETHROWER;ASHPOD;SAWEDOFF;DUALSAWEDOFF;DUALCHAINGUN;DUALHIVEHAND;FINGERGUN;ZAPGUN;DUALGLOCK;VICE' }" | Add-Content .\${{env.FOLDER_NAME}}\Config.ps1 | |
- name: Compile windows dlls | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
.\${{env.FOLDER_NAME}}\Build-Windows.ps1 -ConfigFile Config | |
$zipFile = ".\dlls.zip" | |
[void](New-Item -Force -ItemType Directory $env:TEMP\${{env.BUILD_CONFIGURATION}}) | |
[void](New-Item -Force -ItemType Directory $env:TEMP\${{env.BUILD_CONFIGURATION}}\dlls) | |
[void](New-Item -Force -ItemType Directory $env:TEMP\${{env.BUILD_CONFIGURATION}}\cl_dlls) | |
Copy-Item -Recurse -Force ./grave-bot-src/dlls/${{env.BUILD_CONFIGURATION}}/grave_bot.dll $env:TEMP\${{env.BUILD_CONFIGURATION}}\dlls | |
Copy-Item -Recurse -Force ./grave-bot-src/dlls/${{env.BUILD_CONFIGURATION}}/grave_bot.pdb $env:TEMP\${{env.BUILD_CONFIGURATION}}\dlls | |
Copy-Item -Recurse -Force ./src/projects/vs2019/${{env.BUILD_CONFIGURATION}}/hldll/ice.dll $env:TEMP\${{env.BUILD_CONFIGURATION}}\dlls | |
Copy-Item -Recurse -Force ./src/projects/vs2019/${{env.BUILD_CONFIGURATION}}/hldll/ice.pdb $env:TEMP\${{env.BUILD_CONFIGURATION}}\dlls | |
Copy-Item -Recurse -Force ./src/projects/vs2019/${{env.BUILD_CONFIGURATION}}/hl_cdll/client.dll $env:TEMP\${{env.BUILD_CONFIGURATION}}\cl_dlls | |
Copy-Item -Recurse -Force ./src/projects/vs2019/${{env.BUILD_CONFIGURATION}}/hl_cdll/client.pdb $env:TEMP\${{env.BUILD_CONFIGURATION}}\cl_dlls | |
Compress-Archive -LiteralPath $env:TEMP\${{env.BUILD_CONFIGURATION}}\dlls -DestinationPath $zipFile -Force | |
Compress-Archive -LiteralPath $env:TEMP\${{env.BUILD_CONFIGURATION}}\cl_dlls -DestinationPath $zipFile -Update | |
- name: Upload windows dlls | |
uses: actions/upload-artifact@v4 | |
with: | |
name: windows_dlls | |
path: ./${{env.FOLDER_NAME}}/dlls.zip | |
linux_libs: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets.COLDICE_ADD_ONS_PAT }} | |
submodules: recursive | |
- name: Update sources to include xenial main | |
run: sudo su -c "echo 'deb http://us.archive.ubuntu.com/ubuntu/ xenial main' >> /etc/apt/sources.list" | |
- name: Update sources to include xenial universe | |
run: sudo su -c "echo 'deb http://us.archive.ubuntu.com/ubuntu/ xenial universe' >> /etc/apt/sources.list" | |
- name: Update packages | |
run: sudo apt update -y | |
- name: Install make | |
run: sudo apt-get install make | |
- name: Install g++-4.8 | |
run: sudo apt install g++-4.8 gcc-4.8 -y | |
- name: Install headers | |
run: sudo apt-get install gcc-4.8-multilib g++-4.8-multilib -y | |
- name: Install modern headers | |
run: sudo apt-get install gcc-multilib g++-multilib -y | |
- name: Install GL headers | |
run: sudo apt install libgl-dev -y | |
- name: Build linux so libs | |
run: ./${{env.FOLDER_NAME}}/build-linux.sh CFG=${{env.BUILD_CONFIGURATION}} | |
- name: Upload ice.so | |
uses: actions/upload-artifact@v4 | |
with: | |
name: linux_ice | |
path: ./${{env.FOLDER_NAME}}/libs/dlls/ice.so | |
- name: Upload gravebot.so | |
uses: actions/upload-artifact@v4 | |
with: | |
name: linux_gravebot | |
path: ./${{env.FOLDER_NAME}}/libs/dlls/gravebot.so | |
- name: Upload client.so | |
uses: actions/upload-artifact@v4 | |
with: | |
name: linux_client | |
path: ./${{env.FOLDER_NAME}}/libs/cl_dlls/client.so | |
macOS_libs: | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets.COLDICE_ADD_ONS_PAT }} | |
submodules: recursive | |
- uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: '14.3.1' | |
- name: Install MacOSX10.8.sdk | |
run: | | |
mkdir /tmp/sdk | |
cd /tmp/sdk | |
curl -sSL https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX10.8.sdk.tar.xz > sdk.tar | |
tar -xvf sdk.tar | |
sudo ln -s /tmp/sdk/MacOSX10.8.sdk $(/usr/bin/xcode-select -print-path)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk | |
rm sdk.tar | |
- name: Build macOS dylibs | |
run: ./${{env.FOLDER_NAME}}/build-mac.sh CFG=${{env.BUILD_CONFIGURATION}} | |
- name: Upload ice.dylib | |
uses: actions/upload-artifact@v4 | |
with: | |
name: macOS_ice | |
path: ./${{env.FOLDER_NAME}}/libs/dlls/ice.dylib | |
- name: Upload client.dylib | |
uses: actions/upload-artifact@v4 | |
with: | |
name: macOS_client | |
path: ./${{env.FOLDER_NAME}}/libs/cl_dlls/client.dylib | |
compile_tools: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets.COLDICE_ADD_ONS_PAT }} | |
submodules: recursive | |
- name: Add MSBuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Write Config File | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
"`$Config = @{ 'projectName' = '${{env.GAME_TITLE}}' }" | Add-Content .\${{env.FOLDER_NAME}}\Config.ps1 | |
- name: Compile tools | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
.\${{env.FOLDER_NAME}}\Build-Tools.ps1 -ConfigFile Config | |
[void](New-Item -Force -ItemType Directory $env:TEMP\bin) | |
Copy-Item -Recurse -Force .\bin $env:TEMP | |
Compress-Archive -LiteralPath $env:TEMP\bin -DestinationPath .\tools.zip -Force | |
- name: Upload tools | |
uses: actions/upload-artifact@v4 | |
with: | |
name: compiled_tools | |
path: ./${{env.FOLDER_NAME}}/tools.zip | |
compile_models: | |
runs-on: windows-latest | |
needs: [compile_tools] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download tools | |
uses: actions/download-artifact@v4 | |
with: | |
name: compiled_tools | |
path: ./${{env.FOLDER_NAME}} | |
- name: Unpack tools | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\tools.zip -DestinationPath $env:TEMP | |
Remove-Item .\${{env.FOLDER_NAME}}\bin\\* -Recurse -Force -ErrorAction Ignore | |
Remove-Item .\${{env.FOLDER_NAME}}\bin -Force -ErrorAction Ignore | |
Move-Item $env:TEMP\bin .\${{env.FOLDER_NAME}} | |
Remove-Item .\${{env.FOLDER_NAME}}\tools.zip -Recurse -Force -ErrorAction Ignore | |
- name: Write Config File | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
"`$Config = @{ 'projectName' = '${{env.GAME_TITLE}}' }" | Add-Content .\${{env.FOLDER_NAME}}\Config.ps1 | |
- name: Compile models | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
.\${{env.FOLDER_NAME}}\Build-Models.ps1 -Clean -ConfigFile Config | |
$zipFile = ".\models.zip" | |
[void](New-Item -Force -ItemType Directory $env:TEMP\${{env.BUILD_CONFIGURATION}}) | |
Copy-Item -Recurse -Force .\redist_hd\models $env:TEMP\${{env.BUILD_CONFIGURATION}} | |
Rename-Item $env:TEMP\${{env.BUILD_CONFIGURATION}}\models $env:TEMP\${{env.BUILD_CONFIGURATION}}\models_hd | |
Copy-Item -Recurse -Force .\redist\models $env:TEMP\${{env.BUILD_CONFIGURATION}} | |
Compress-Archive -LiteralPath $env:TEMP\${{env.BUILD_CONFIGURATION}}\models -DestinationPath $zipFile -Force | |
Compress-Archive -LiteralPath $env:TEMP\${{env.BUILD_CONFIGURATION}}\models_hd -DestinationPath $zipFile -Update | |
- name: Upload models | |
uses: actions/upload-artifact@v4 | |
with: | |
name: compiled_models | |
path: ./${{env.FOLDER_NAME}}/models.zip | |
compile_sounds: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Write Config File | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
"`$Config = @{ 'projectName' = '${{env.GAME_TITLE}}' }" | Add-Content .\${{env.FOLDER_NAME}}\Config.ps1 | |
- name: Compile sounds | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
.\${{env.FOLDER_NAME}}\Build-Sound.ps1 -ConfigFile Config -Clean | |
$zipFile = ".\sounds.zip" | |
[void](New-Item -Force -ItemType Directory $env:TEMP\${{env.BUILD_CONFIGURATION}}) | |
Copy-Item -Recurse -Force .\redist_hd\sound $env:TEMP\${{env.BUILD_CONFIGURATION}} | |
Rename-Item $env:TEMP\${{env.BUILD_CONFIGURATION}}\sound $env:TEMP\${{env.BUILD_CONFIGURATION}}\sound_hd | |
Copy-Item -Recurse -Force .\redist\sound $env:TEMP\${{env.BUILD_CONFIGURATION}} | |
Copy-Item -Recurse -Force .\redist\media $env:TEMP\${{env.BUILD_CONFIGURATION}} | |
Compress-Archive -LiteralPath $env:TEMP\${{env.BUILD_CONFIGURATION}}\sound -DestinationPath $zipFile -Force | |
Compress-Archive -LiteralPath $env:TEMP\${{env.BUILD_CONFIGURATION}}\sound_hd -DestinationPath $zipFile -Update | |
Compress-Archive -LiteralPath $env:TEMP\${{env.BUILD_CONFIGURATION}}\media -DestinationPath $zipFile -Update | |
- name: Upload sounds | |
uses: actions/upload-artifact@v4 | |
with: | |
name: compiled_sounds | |
path: ./${{env.FOLDER_NAME}}/sounds.zip | |
compile_sprites: | |
runs-on: windows-latest | |
needs: [compile_tools] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download tools | |
uses: actions/download-artifact@v4 | |
with: | |
name: compiled_tools | |
path: ./${{env.FOLDER_NAME}} | |
- name: Unpack tools | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\tools.zip -DestinationPath $env:TEMP | |
Remove-Item .\${{env.FOLDER_NAME}}\bin\\* -Recurse -Force -ErrorAction Ignore | |
Remove-Item .\${{env.FOLDER_NAME}}\bin -Force -ErrorAction Ignore | |
Move-Item $env:TEMP\bin .\${{env.FOLDER_NAME}} | |
Remove-Item .\${{env.FOLDER_NAME}}\tools.zip -Recurse -Force -ErrorAction Ignore | |
- name: Write Config File | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
"`$Config = @{ 'projectName' = '${{env.GAME_TITLE}}' }" | Add-Content .\${{env.FOLDER_NAME}}\Config.ps1 | |
- name: Compile sprites | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
.\${{env.FOLDER_NAME}}\Build-Sprites.ps1 -ConfigFile Config -Clean | |
$zipFile = ".\sprites.zip" | |
[void](New-Item -Force -ItemType Directory $env:TEMP\${{env.BUILD_CONFIGURATION}}) | |
Copy-Item -Recurse -Force .\redist_hd\sprites $env:TEMP\${{env.BUILD_CONFIGURATION}} | |
Rename-Item $env:TEMP\${{env.BUILD_CONFIGURATION}}\sprites $env:TEMP\${{env.BUILD_CONFIGURATION}}\sprites_hd | |
Copy-Item -Recurse -Force .\redist\sprites $env:TEMP\${{env.BUILD_CONFIGURATION}} | |
Compress-Archive -LiteralPath $env:TEMP\${{env.BUILD_CONFIGURATION}}\sprites -DestinationPath $zipFile -Force | |
Compress-Archive -LiteralPath $env:TEMP\${{env.BUILD_CONFIGURATION}}\sprites_hd -DestinationPath $zipFile -Update | |
- name: Upload sprites | |
uses: actions/upload-artifact@v4 | |
with: | |
name: compiled_sprites | |
path: ./${{env.FOLDER_NAME}}/sprites.zip | |
compile_wads: | |
runs-on: windows-latest | |
needs: [compile_tools] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets.COLDICE_ADD_ONS_PAT }} | |
submodules: recursive | |
- name: Download tools | |
uses: actions/download-artifact@v4 | |
with: | |
name: compiled_tools | |
path: ./${{env.FOLDER_NAME}} | |
- name: Unpack tools | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\tools.zip -DestinationPath $env:TEMP | |
Remove-Item .\${{env.FOLDER_NAME}}\bin\\* -Recurse -Force -ErrorAction Ignore | |
Remove-Item .\${{env.FOLDER_NAME}}\bin -Force -ErrorAction Ignore | |
Move-Item $env:TEMP\bin .\${{env.FOLDER_NAME}} | |
Remove-Item .\${{env.FOLDER_NAME}}\tools.zip -Recurse -Force -ErrorAction Ignore | |
- name: Write Config File | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
"`$Config = @{ 'projectName' = '${{env.GAME_TITLE}}' }" | Add-Content .\${{env.FOLDER_NAME}}\Config.ps1 | |
"`$Config = @{ 'projectName' = '${{env.GAME_TITLE}}'`r`n'addons' = @('quadfrost','defroster') }" | Add-Content .\${{env.FOLDER_NAME}}\add-ons\Config.ps1 | |
- name: Unpack Add-ons | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: .\${{env.FOLDER_NAME}}\add-ons\Copy-Addons.ps1 -ConfigFile Config | |
- name: Compile Wads | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
.\${{env.FOLDER_NAME}}\Build-Wads.ps1 -Clean -ConfigFile Config | |
Get-ChildItem -Path .\redist\ -Filter *.wad | Copy-Item -Destination $env:TEMP -Force -PassThru | |
Get-ChildItem -Path $env:TEMP -Filter *.wad | Compress-Archive -DestinationPath .\wads.zip -Force | |
- name: Upload Wads | |
uses: actions/upload-artifact@v4 | |
with: | |
name: compiled_wads | |
path: ./${{env.FOLDER_NAME}}/wads.zip | |
compile_maps: | |
runs-on: windows-latest | |
needs: [compile_tools, compile_wads] | |
strategy: | |
matrix: | |
map: [training,stalkyard2,snowyard,coldice,canyon,focus,furrow,training2,bounce2,catacombs,fences,depot,snowcross,frostfire,drift,snow_camp,ice_pit,frozen_bunker,snowtransit,doublefrost,themill,chillworks,frosty,overflow,frozenwarehouse,thechill,frostmill,glupshitto,cold_base,comet,datafloe,thetemple,glacialcore,latenightxmas,storm] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download tools | |
uses: actions/download-artifact@v4 | |
with: | |
name: compiled_tools | |
path: ./${{env.FOLDER_NAME}} | |
- name: Unpack tools | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\tools.zip -DestinationPath $env:TEMP | |
Remove-Item .\${{env.FOLDER_NAME}}\bin\\* -Recurse -Force -ErrorAction Ignore | |
Remove-Item .\${{env.FOLDER_NAME}}\bin -Force -ErrorAction Ignore | |
Move-Item $env:TEMP\bin .\${{env.FOLDER_NAME}} | |
Remove-Item .\${{env.FOLDER_NAME}}\tools.zip -Recurse -Force -ErrorAction Ignore | |
- name: Download wads | |
uses: actions/download-artifact@v4 | |
with: | |
name: compiled_wads | |
path: ./${{env.FOLDER_NAME}} | |
- name: Unpack wads | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\wads.zip -DestinationPath $env:TEMP | |
Get-ChildItem -Path $env:TEMP -Filter *.wad | Move-Item -Destination .\${{env.FOLDER_NAME}}\wads -Force -PassThru | |
Get-ChildItem -Path $env:TEMP -Filter *.wad | Move-Item -Destination .\${{env.FOLDER_NAME}}\redist -Force -PassThru | |
Remove-Item .\${{env.FOLDER_NAME}}\wads.zip -Recurse -Force -ErrorAction Ignore | |
- name: Write Config File | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
"`$Config = @{ 'projectName' = '${{env.GAME_TITLE}}' }" | Add-Content .\${{env.FOLDER_NAME}}\Config.ps1 | |
- name: Compile ${{matrix.map}} | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
.\${{env.FOLDER_NAME}}\Build-Maps.ps1 -Clean -ConfigFile Config -Fast -Map ${{matrix.map}} | |
[void](New-Item -Force -ItemType Directory $env:TEMP\maps) | |
Copy-Item -Recurse -Force .\redist\maps $env:TEMP | |
Compress-Archive -LiteralPath $env:TEMP\maps -DestinationPath .\${{matrix.map}}.zip -Force | |
- name: Upload ${{matrix.map}} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{matrix.map}} | |
path: ./${{env.FOLDER_NAME}}/${{matrix.map}}.zip | |
compile_addon_maps: | |
runs-on: windows-latest | |
needs: [compile_tools, compile_wads] | |
strategy: | |
matrix: | |
map: [quadfrost, defroster] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets.COLDICE_ADD_ONS_PAT }} | |
submodules: recursive | |
- name: Download tools | |
uses: actions/download-artifact@v4 | |
with: | |
name: compiled_tools | |
path: ./${{env.FOLDER_NAME}} | |
- name: Unpack tools | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\tools.zip -DestinationPath $env:TEMP | |
Remove-Item .\${{env.FOLDER_NAME}}\bin\\* -Recurse -Force -ErrorAction Ignore | |
Remove-Item .\${{env.FOLDER_NAME}}\bin -Force -ErrorAction Ignore | |
Move-Item $env:TEMP\bin .\${{env.FOLDER_NAME}} | |
Remove-Item .\${{env.FOLDER_NAME}}\tools.zip -Recurse -Force -ErrorAction Ignore | |
- name: Download wads | |
uses: actions/download-artifact@v4 | |
with: | |
name: compiled_wads | |
path: ./${{env.FOLDER_NAME}} | |
- name: Unpack wads | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\wads.zip -DestinationPath $env:TEMP | |
Get-ChildItem -Path $env:TEMP -Filter *.wad | Move-Item -Destination .\${{env.FOLDER_NAME}}\wads -Force -PassThru | |
Get-ChildItem -Path $env:TEMP -Filter *.wad | Move-Item -Destination .\${{env.FOLDER_NAME}}\redist -Force -PassThru | |
Remove-Item .\${{env.FOLDER_NAME}}\wads.zip -Recurse -Force -ErrorAction Ignore | |
- name: Write Config File | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
"`$Config = @{ 'projectName' = '${{env.GAME_TITLE}}' }" | Add-Content .\${{env.FOLDER_NAME}}\Config.ps1 | |
"`$Config = @{ 'projectName' = '${{env.GAME_TITLE}}'`r`n'addons' = @('quadfrost','defroster') }" | Add-Content .\${{env.FOLDER_NAME}}\add-ons\Config.ps1 | |
- name: Unpack Add-ons | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: .\${{env.FOLDER_NAME}}\add-ons\Copy-Addons.ps1 -ConfigFile Config | |
- name: Compile ${{matrix.map}} | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
.\${{env.FOLDER_NAME}}\Build-Maps.ps1 -Clean -ConfigFile Config -Fast -Map ${{matrix.map}} -NoWad | |
[void](New-Item -Force -ItemType Directory $env:TEMP\maps) | |
Copy-Item -Recurse -Force .\redist\maps $env:TEMP | |
Compress-Archive -LiteralPath $env:TEMP\maps -DestinationPath .\${{matrix.map}}.zip -Force | |
- name: Upload ${{matrix.map}} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{matrix.map}} | |
path: ./${{env.FOLDER_NAME}}/${{matrix.map}}.zip | |
combine_maps: | |
runs-on: windows-latest | |
needs: [compile_maps, compile_addon_maps] | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
path: ./${{env.FOLDER_NAME}} | |
- name: Combine Maps | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
[void](New-Item -Force -ItemType Directory $env:TEMP\maps) | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\training\training.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\stalkyard2\stalkyard2.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\snowyard\snowyard.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\coldice\coldice.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\canyon\canyon.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\focus\focus.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\furrow\furrow.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\training2\training2.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\bounce2\bounce2.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\catacombs\catacombs.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\fences\fences.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\depot\depot.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\snowcross\snowcross.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\frostfire\frostfire.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\drift\drift.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\snow_camp\snow_camp.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\ice_pit\ice_pit.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\frozen_bunker\frozen_bunker.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\snowtransit\snowtransit.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\doublefrost\doublefrost.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\themill\themill.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\chillworks\chillworks.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\frosty\frosty.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\overflow\overflow.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\frozenwarehouse\frozenwarehouse.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\thechill\thechill.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\frostmill\frostmill.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\quadfrost\quadfrost.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\defroster\defroster.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\glupshitto\glupshitto.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\cold_base\cold_base.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\comet\comet.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\datafloe\datafloe.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\thetemple\thetemple.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\glacialcore\glacialcore.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\latenightxmas\latenightxmas.zip -DestinationPath $env:TEMP | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\storm\storm.zip -DestinationPath $env:TEMP | |
Compress-Archive -LiteralPath $env:TEMP\maps -DestinationPath .\${{env.FOLDER_NAME}}\maps.zip -Force | |
- name: Upload Maps | |
uses: actions/upload-artifact@v4 | |
with: | |
name: compiled_maps | |
path: ./${{env.FOLDER_NAME}}/maps.zip | |
package_coldice: | |
runs-on: windows-latest | |
needs: [windows_libs, linux_libs, macOS_libs, compile_models, combine_maps, compile_sprites, compile_sounds] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets.COLDICE_ADD_ONS_PAT }} | |
submodules: recursive | |
- name: Download windows dlls | |
uses: actions/download-artifact@v4 | |
with: | |
name: windows_dlls | |
path: ./${{env.FOLDER_NAME}} | |
- name: Unpack windows dlls | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\dlls.zip -DestinationPath $env:TEMP | |
Remove-Item .\${{env.FOLDER_NAME}}\libs\\* -Recurse -Force -ErrorAction Ignore | |
Move-Item $env:TEMP\dlls .\${{env.FOLDER_NAME}}\libs\dlls | |
Move-Item $env:TEMP\cl_dlls .\${{env.FOLDER_NAME}}\libs\cl_dlls | |
Remove-Item .\${{env.FOLDER_NAME}}\dlls.zip -Recurse -Force -ErrorAction Ignore | |
- name: Download ice.so | |
uses: actions/download-artifact@v4 | |
with: | |
name: linux_ice | |
path: ./${{env.FOLDER_NAME}}/libs/dlls | |
- name: Download gravebot.so | |
uses: actions/download-artifact@v4 | |
with: | |
name: linux_gravebot | |
path: ./${{env.FOLDER_NAME}}/libs/dlls | |
- name: Download client.so | |
uses: actions/download-artifact@v4 | |
with: | |
name: linux_client | |
path: ./${{env.FOLDER_NAME}}/libs/cl_dlls | |
- name: Download ice.dylib | |
uses: actions/download-artifact@v4 | |
with: | |
name: macOS_ice | |
path: ./${{env.FOLDER_NAME}}/libs/dlls | |
- name: Download client.dylib | |
uses: actions/download-artifact@v4 | |
with: | |
name: macOS_client | |
path: ./${{env.FOLDER_NAME}}/libs/cl_dlls | |
- name: Download models | |
uses: actions/download-artifact@v4 | |
with: | |
name: compiled_models | |
path: ./${{env.FOLDER_NAME}} | |
- name: Unpack models | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\models.zip -DestinationPath $env:TEMP | |
Move-Item $env:TEMP\models .\${{env.FOLDER_NAME}}\redist\models | |
Move-Item $env:TEMP\models_hd .\${{env.FOLDER_NAME}}\redist_hd\models | |
Remove-Item .\${{env.FOLDER_NAME}}\models.zip -Recurse -Force -ErrorAction Ignore | |
- name: Download wads | |
uses: actions/download-artifact@v4 | |
with: | |
name: compiled_wads | |
path: ./${{env.FOLDER_NAME}} | |
- name: Unpack wads | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\wads.zip -DestinationPath $env:TEMP | |
Get-ChildItem -Path $env:TEMP -Filter *.wad | Move-Item -Destination .\${{env.FOLDER_NAME}}\redist -Force -PassThru | |
Remove-Item .\${{env.FOLDER_NAME}}\wads.zip -Recurse -Force -ErrorAction Ignore | |
- name: Download maps | |
uses: actions/download-artifact@v4 | |
with: | |
name: compiled_maps | |
path: ./${{env.FOLDER_NAME}} | |
- name: Unpack maps | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\maps.zip -DestinationPath $env:TEMP | |
Move-Item $env:TEMP\maps .\${{env.FOLDER_NAME}}\redist | |
Remove-Item .\${{env.FOLDER_NAME}}\maps.zip -Recurse -Force -ErrorAction Ignore | |
- name: Download sounds | |
uses: actions/download-artifact@v4 | |
with: | |
name: compiled_sounds | |
path: ./${{env.FOLDER_NAME}} | |
- name: Unpack sounds | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\sounds.zip -DestinationPath $env:TEMP | |
Move-Item $env:TEMP\sound .\${{env.FOLDER_NAME}}\redist\sound | |
Move-Item $env:TEMP\sound_hd .\${{env.FOLDER_NAME}}\redist_hd\sound | |
Move-Item $env:TEMP\media .\${{env.FOLDER_NAME}}\redist\media | |
Remove-Item .\${{env.FOLDER_NAME}}\sound.zip -Recurse -Force -ErrorAction Ignore | |
- name: Download sprites | |
uses: actions/download-artifact@v4 | |
with: | |
name: compiled_sprites | |
path: ./${{env.FOLDER_NAME}} | |
- name: Unpack sprites | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\sprites.zip -DestinationPath $env:TEMP | |
Move-Item $env:TEMP\sprites .\${{env.FOLDER_NAME}}\redist\sprites | |
Move-Item $env:TEMP\sprites_hd .\${{env.FOLDER_NAME}}\redist_hd\sprites | |
Remove-Item .\${{env.FOLDER_NAME}}\sprites.zip -Recurse -Force -ErrorAction Ignore | |
- name: Download tools | |
uses: actions/download-artifact@v4 | |
with: | |
name: compiled_tools | |
path: ./${{env.FOLDER_NAME}} | |
- name: Unpack tools | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
Expand-Archive -Path .\${{env.FOLDER_NAME}}\tools.zip -DestinationPath $env:TEMP | |
Remove-Item .\${{env.FOLDER_NAME}}\bin\\* -Recurse -Force -ErrorAction Ignore | |
Remove-Item .\${{env.FOLDER_NAME}}\bin -Force -ErrorAction Ignore | |
Move-Item $env:TEMP\bin .\${{env.FOLDER_NAME}} | |
Remove-Item .\${{env.FOLDER_NAME}}\tools.zip -Recurse -Force -ErrorAction Ignore | |
- name: Write Config File | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: | | |
"`$Config = @{ 'projectName' = '${{env.GAME_TITLE}}'`r`n'gameFolder' = '${{env.GAME_FOLDER}}' }" | Add-Content .\${{env.FOLDER_NAME}}\Config.ps1 | |
"`$Config = @{ 'projectName' = '${{env.GAME_TITLE}}'`r`n'gameFolder' = '${{env.GAME_FOLDER}}'`r`n'addons' = @('quadfrost','defroster') }" | Add-Content .\${{env.FOLDER_NAME}}\add-ons\Config.ps1 | |
# Assets found redist/ like map artifacts in overviews/ | |
- name: Unpack Add-ons | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: .\${{env.FOLDER_NAME}}\add-ons\Copy-Addons.ps1 -ConfigFile Config | |
- name: Package and verify Cold Ice | |
working-directory: ${{env.GITHUB_WORKSPACE}} | |
run: .\${{env.FOLDER_NAME}}\Build-${{env.BUILD_CONFIGURATION}}.ps1 -ConfigFile Config | |
- name: Archive Cold Ice ${{env.BUILD_CONFIGURATION}} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coldice-build | |
path: .\${{env.FOLDER_NAME}}\cold-ice-remastered-git-*.7z | |
if-no-files-found: error |