Change release workflow to create zip files for existing installs

This commit is contained in:
peelz
2022-08-11 19:06:02 -04:00
parent 582d6a5c26
commit 430dd9ae93

View File

@@ -6,6 +6,33 @@ on:
workflow_dispatch:
workflow_call:
env:
ZIP_BASE_NAME: luacsforbarotrauma
ZIP_FILES_SERVER: |
DedicatedServer.deps.json
DedicatedServer.dll
DedicatedServer.pdb
ZIP_FILES_CLIENT: |
Barotrauma.deps.json
Barotrauma.dll
Barotrauma.pdb
ZIP_FILES_SHARED: |
0Harmony.dll
MoonSharp.Interpreter.dll
MonoMod.Common.dll
Mono.Cecil.dll
Mono.Cecil.Mdb.dll
Mono.Cecil.Pdb.dll
Mono.Cecil.Rocks.dll
Microsoft.CodeAnalysis.CSharp.Scripting.dll
Microsoft.CodeAnalysis.CSharp.dll
Microsoft.CodeAnalysis.dll
Microsoft.CodeAnalysis.Scripting.dll
System.Collections.Immutable.dll
System.Reflection.Metadata.dll
System.Runtime.CompilerServices.Unsafe.dll
Lua
jobs:
build:
runs-on: ubuntu-latest
@@ -38,26 +65,63 @@ jobs:
- name: "Build: MacClient"
run: dotnet publish Barotrauma/BarotraumaClient/MacClient.csproj -c Release -clp:"ErrorsOnly;Summary" --self-contained -r osx-x64 \/p:Platform="x64"
- name: "Create zip file: windows"
uses: thedoctor0/zip-release@main
with:
type: zip
filename: barotrauma_lua_windows.zip
directory: Barotrauma/bin/ReleaseWindows/netcoreapp3.1/win-x64/publish
- name: Create zip files
run: |
IFS=$'\n' readarray -td $'\n' ZIP_FILES_SHARED <<< "$ZIP_FILES_SHARED"
IFS=$'\n' readarray -td $'\n' ZIP_FILES_CLIENT <<< "$ZIP_FILES_CLIENT"
IFS=$'\n' readarray -td $'\n' ZIP_FILES_SERVER <<< "$ZIP_FILES_SERVER"
- name: "Create zip file: linux"
uses: thedoctor0/zip-release@main
with:
type: zip
filename: barotrauma_lua_linux.zip
directory: Barotrauma/bin/ReleaseLinux/netcoreapp3.1/linux-x64/publish
for i in "${!ZIP_FILES_SHARED[@]}"; do
file="${ZIP_FILES_SHARED[i]}"
if [[ -z "$file" ]]; then
unset "ZIP_FILES_SHARED[$i]"
fi
done
- name: "Create zip file: mac"
uses: thedoctor0/zip-release@main
with:
type: zip
filename: barotrauma_lua_mac.zip
directory: Barotrauma/bin/ReleaseMac/netcoreapp3.1/osx-x64/publish
for i in "${!ZIP_FILES_CLIENT[@]}"; do
file="${ZIP_FILES_CLIENT[i]}"
if [[ -z "$file" ]]; then
unset "ZIP_FILES_CLIENT[$i]"
fi
done
for i in "${!ZIP_FILES_SERVER[@]}"; do
file="${ZIP_FILES_SERVER[i]}"
if [[ -z "$file" ]]; then
unset "ZIP_FILES_SERVER[$i]"
fi
done
platforms=(
"windows"
"linux"
"mac"
)
publish_dirs=(
"Barotrauma/bin/ReleaseWindows/netcoreapp3.1/win-x64/publish"
"Barotrauma/bin/ReleaseLinux/netcoreapp3.1/linux-x64/publish"
"Barotrauma/bin/ReleaseMac/netcoreapp3.1/osx-x64/publish"
)
for i in "${!platforms[@]}"; do
(
platform="${platforms[i]}"
publish_dir="${publish_dirs[i]}"
cd "$publish_dir"
echo "Creating build_${platform}.zip"
zip -x *.zip -r "${ZIP_BASE_NAME}_build_${platform}.zip" .
echo "Creating patch_${platform}_client.zip"
zip -x *.zip -r "${ZIP_BASE_NAME}_patch_${platform}_client.zip" \
"${ZIP_FILES_SHARED[@]}" \
mscordaccore_amd64_amd64_* \
"${ZIP_FILES_CLIENT[@]}"
echo "Creating patch_${platform}_server.zip"
zip -x *.zip -r "${ZIP_BASE_NAME}_patch_${platform}_server.zip" \
"${ZIP_FILES_SHARED[@]}" \
mscordaccore_amd64_amd64_* \
"${ZIP_FILES_SERVER[@]}"
)
done
- name: Publish release
uses: marvinpinto/action-automatic-releases@v1.2.1
@@ -67,6 +131,12 @@ jobs:
prerelease: false
title: Automatic Build
files: |
Barotrauma/bin/ReleaseWindows/netcoreapp3.1/win-x64/publish/barotrauma_lua_windows.zip
Barotrauma/bin/ReleaseLinux/netcoreapp3.1/linux-x64/publish/barotrauma_lua_linux.zip
Barotrauma/bin/ReleaseMac/netcoreapp3.1/osx-x64/publish/barotrauma_lua_mac.zip
Barotrauma/bin/ReleaseWindows/netcoreapp3.1/win-x64/publish/${{ env.ZIP_BASE_NAME }}_build_windows.zip
Barotrauma/bin/ReleaseWindows/netcoreapp3.1/win-x64/publish/${{ env.ZIP_BASE_NAME }}_patch_windows_client.zip
Barotrauma/bin/ReleaseWindows/netcoreapp3.1/win-x64/publish/${{ env.ZIP_BASE_NAME }}_patch_windows_server.zip
Barotrauma/bin/ReleaseLinux/netcoreapp3.1/linux-x64/publish/${{ env.ZIP_BASE_NAME }}_build_linux.zip
Barotrauma/bin/ReleaseLinux/netcoreapp3.1/linux-x64/publish/${{ env.ZIP_BASE_NAME }}_patch_linux_client.zip
Barotrauma/bin/ReleaseLinux/netcoreapp3.1/linux-x64/publish/${{ env.ZIP_BASE_NAME }}_patch_linux_server.zip
Barotrauma/bin/ReleaseMac/netcoreapp3.1/osx-x64/publish/${{ env.ZIP_BASE_NAME }}_build_mac.zip
Barotrauma/bin/ReleaseMac/netcoreapp3.1/osx-x64/publish/${{ env.ZIP_BASE_NAME }}_patch_mac_client.zip
Barotrauma/bin/ReleaseMac/netcoreapp3.1/osx-x64/publish/${{ env.ZIP_BASE_NAME }}_patch_mac_server.zip