From 1b4cc62bcc497bf95eec11e14a7be21f17bbb0a2 Mon Sep 17 00:00:00 2001 From: peelz Date: Mon, 8 May 2023 11:07:42 -0400 Subject: [PATCH 1/3] Simplify CI publish-release script --- .github/workflows/publish-release.yml | 39 ++++++++++++++------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index bbb90e953..d0490437c 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -8,6 +8,10 @@ on: env: ARTIFACTS_DIR: 2049ef39-42a2-46d2-b513-ee6d2e3a7b15 + RELEASES: | + windows:Barotrauma/bin/ReleaseWindows/net6.0/win-x64/publish + linux:Barotrauma/bin/ReleaseLinux/net6.0/linux-x64/publish + mac:Barotrauma/bin/ReleaseMac/net6.0/osx-x64/publish ARCHIVE_BASE_NAME: luacsforbarotrauma # XXX: these file names are subject to shell expansion. # Be careful when using special characters. @@ -77,28 +81,25 @@ jobs: shopt -s globstar nullglob shopt -u dotglob - IFS=$'\n' readarray -td $'\n' ARCHIVE_FILES_SHARED <<< "$ARCHIVE_FILES_SHARED" - IFS=$'\n' readarray -td $'\n' ARCHIVE_FILES_CLIENT <<< "$ARCHIVE_FILES_CLIENT" - IFS=$'\n' readarray -td $'\n' ARCHIVE_FILES_SERVER <<< "$ARCHIVE_FILES_SERVER" + # This converts a newline-separated (LF) list into a Bash array + # NOTE: this doesn't discard the trailing LF that GitHub actions + # append (which results in an extra entry in the array). + lines_to_array() { + IFS=$'\n' readarray -td $'\n' "$1" <<< "${!1}" + } - platforms=( - "windows" - "linux" - "mac" - ) - publish_dirs=( - "Barotrauma/bin/ReleaseWindows/net6.0/win-x64/publish" - "Barotrauma/bin/ReleaseLinux/net6.0/linux-x64/publish" - "Barotrauma/bin/ReleaseMac/net6.0/osx-x64/publish" - ) + lines_to_array ARCHIVE_FILES_SHARED + lines_to_array ARCHIVE_FILES_CLIENT + lines_to_array ARCHIVE_FILES_SERVER + lines_to_array RELEASES mkdir -p "$ARTIFACTS_DIR" artifacts_dir="$(realpath "$ARTIFACTS_DIR")" - for i in "${!platforms[@]}"; do + for i in "${!RELEASES[@]}"; do + [[ -z "${RELEASES[i]}" ]] && continue ( - platform="${platforms[i]}" - publish_dir="${publish_dirs[i]}" + IFS=':' read platform publish_dir _rest <<< "${RELEASES[i]}" cd "$publish_dir" echo "Creating build_${platform}.zip" zip -qr "${artifacts_dir}/${ARCHIVE_BASE_NAME}_build_${platform}.zip" * @@ -113,10 +114,10 @@ jobs: ) done - for i in "${!platforms[@]}"; do + for i in "${!RELEASES[@]}"; do + [[ -z "${RELEASES[i]}" ]] && continue ( - platform="${platforms[i]}" - publish_dir="${publish_dirs[i]}" + IFS=':' read platform publish_dir _rest <<< "${RELEASES[i]}" cd "$publish_dir" echo "Creating build_${platform}.tar.gz" tar -czf "${artifacts_dir}/${ARCHIVE_BASE_NAME}_build_${platform}.tar.gz" \ From 9974c33c897848ceb0ca121e4e2928153c99c2d7 Mon Sep 17 00:00:00 2001 From: peelz Date: Mon, 8 May 2023 11:07:42 -0400 Subject: [PATCH 2/3] Remove dotnet 3.1 from CI dependencies --- .github/workflows/publish-release.yml | 1 - .github/workflows/run-tests.yml | 1 - .github/workflows/update-docs.yml | 1 - 3 files changed, 3 deletions(-) diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index d0490437c..fd580ca4e 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -57,7 +57,6 @@ jobs: uses: actions/setup-dotnet@v2 with: dotnet-version: | - 3.1.x 6.0.x - name: "Build: WindowsServer" diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 558ed45ea..129256b6d 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -24,7 +24,6 @@ jobs: uses: actions/setup-dotnet@v2 with: dotnet-version: | - 3.1.x 6.0.x - name: Initialize environment diff --git a/.github/workflows/update-docs.yml b/.github/workflows/update-docs.yml index b70fb300d..0e0fe8136 100644 --- a/.github/workflows/update-docs.yml +++ b/.github/workflows/update-docs.yml @@ -25,7 +25,6 @@ jobs: uses: actions/setup-dotnet@v2 with: dotnet-version: | - 3.1.x 6.0.x - uses: leafo/gh-actions-lua@v8 From e9e0e852ba1632c1ab0aa1c3a49477d32ffb3712 Mon Sep 17 00:00:00 2001 From: peelz Date: Mon, 8 May 2023 11:07:42 -0400 Subject: [PATCH 3/3] Add server files to CI client patch archives --- .github/workflows/publish-release.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index fd580ca4e..a276e1c9c 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -23,6 +23,9 @@ env: Barotrauma.deps.json Barotrauma.dll Barotrauma.pdb + DedicatedServer.deps.json + DedicatedServer.dll + DedicatedServer.pdb ARCHIVE_FILES_SHARED: | 0Harmony.dll Sigil.dll