Skip to content

Merge pull request #389 from solidi/keyboard-help #1247

Merge pull request #389 from solidi/keyboard-help

Merge pull request #389 from solidi/keyboard-help #1247

Workflow file for this run

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' }" | 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-12
steps:
- uses: actions/checkout@v4
with:
token: ${{ secrets.COLDICE_ADD_ONS_PAT }}
submodules: recursive
- 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]
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
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