% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 9131 100 9131 0 0 44011 0 --:--:-- --:--:-- --:--:-- 44325 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 35147 100 35147 0 0 182k 0 --:--:-- --:--:-- --:--:-- 184k % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 235 100 235 0 0 1872 0 --:--:-- --:--:-- --:--:-- 1895 compressed data: 6685184 to 2913478 Successfully packaged file compressed data: 6057472 to 2633332 Successfully packaged file compressed data: 7204376 to 3024834 Successfully packaged file Done packaging update files Done packing Linux version Done packing Windows versions Done moving files to web directory Done updating changelogs Errors and uncaught output from package.sh: set -e + set -e success=0 + success=0 on_exit() { if [[ $success -eq 0 ]]; then outputFolder="https://starcatcher.us/TPT/$webDirectory/Output" if [[ $vanillaRelease -eq 1 ]]; then outputFolder="https://starcatcher.us/TPT/$webDirectory/" fi echo "msg #powder-dev Package script failed, details at $outputFolder" | $packDirectory/nc.exe -w 1 localhost 9876 fi } trap on_exit 0 + trap on_exit 0 pushd `dirname $0` >/dev/null ++ dirname 'C:\Starcatcher\Github-Action-Releases\updatepackager\package.sh' + pushd 'C:\Starcatcher\Github-Action-Releases\updatepackager' packDirectory=$PWD + packDirectory=/c/Starcatcher/Github-Action-Releases/updatepackager workingDirectory=$1 + workingDirectory=D:/TPT-releases/mods/tpt1d/ releaseType=$2 + releaseType=stable packageName=$3 + packageName=tpt1d webDirectory=$4 + webDirectory=mods/tpt1d githubUrl=$5 + githubUrl=Bowserinator/TPT1D githubBranch=$6 + githubBranch=master versionNum=$7 + versionNum=1.0 buildId=$8 + buildId=0 commitSha=$9 + commitSha=24c7fe47e914fccd9de0a7eb943b84433252338a win64=${10} + win64=powder-v1.0.0-x86_64-win-msvc-static.exe win32=${11} + win32=powder-v1.0.0-i686-win-msvc-static.exe mac=${12} + mac=powder-v1.0.0-x86_64-mac-gcc-static.dmg macArm=${13} + macArm=powder-v1.0.0-arm64-mac-gcc-static.dmg lin64=${14} + lin64=powder-v1.0.0-x86_64-lin-gcc-static wasm=${15} + wasm=powder-v1.0.0-wasm32-ems-static.tar if [[ $packageName == "powder" || $packageName == "powder-beta" ]]; then vanillaRelease=1 else vanillaRelease=0 fi + [[ tpt1d == \p\o\w\d\e\r ]] + [[ tpt1d == \p\o\w\d\e\r\-\b\e\t\a ]] + vanillaRelease=0 if [[ $releaseType == "snapshot" ]]; then fullVersionNum="Snapshot $buildId" else fullVersionNum="$versionNum (build $buildId)" fi + [[ stable == \s\n\a\p\s\h\o\t ]] + fullVersionNum='1.0 (build 0)' if [[ ! -d $workingDirectory ]]; then echo "Working directory does not exist" exit 1 fi + [[ ! -d D:/TPT-releases/mods/tpt1d/ ]] if [[ ! -d /c/StarHTTP/TPT/$webDirectory ]]; then if [[ $vanillaRelease -eq 1 ]]; then # Vanilla releases use a different folder per build id, create it automatically mkdir /c/StarHTTP/TPT/"$webDirectory" else echo "Web directory does not exist" exit 1 fi fi + [[ ! -d /c/StarHTTP/TPT/mods/tpt1d ]] pushd $workingDirectory >/dev/null + pushd D:/TPT-releases/mods/tpt1d/ has_mac_arm=0 + has_mac_arm=0 if [[ -f "$macArm" ]]; then has_mac_arm=1 fi + [[ -f powder-v1.0.0-arm64-mac-gcc-static.dmg ]] + has_mac_arm=1 # Check for wasm, if unsupported type then delete it has_wasm=0 + has_wasm=0 if [[ -f "$wasm" && ( $releaseType == "snapshot" || $vanillaRelease -eq 1 ) ]]; then has_wasm=1 else rm -f $wasm fi + [[ -f powder-v1.0.0-wasm32-ems-static.tar ]] + [[ stable == \s\n\a\p\s\h\o\t ]] + [[ 0 -eq 1 ]] + rm -f powder-v1.0.0-wasm32-ems-static.tar # Android builds not supported right now rm -f *.apk + rm -f powder-v1.0.0-arm-and-gcc-static.apk powder-v1.0.0-arm64-and-gcc-static.apk powder-v1.0.0-i686-and-gcc-static.apk powder-v1.0.0-x86_64-and-gcc-static.apk rm -rf binaryArchive + rm -rf binaryArchive mkdir binaryArchive + mkdir binaryArchive cp $win64 $win32 $mac $lin64 binaryArchive + cp powder-v1.0.0-x86_64-win-msvc-static.exe powder-v1.0.0-i686-win-msvc-static.exe powder-v1.0.0-x86_64-mac-gcc-static.dmg powder-v1.0.0-x86_64-lin-gcc-static binaryArchive if [[ $has_mac_arm -eq 1 ]]; then cp $macArm binaryArchive fi + [[ 1 -eq 1 ]] + cp powder-v1.0.0-arm64-mac-gcc-static.dmg binaryArchive if [[ $has_wasm -eq 1 ]]; then cp $wasm binaryArchive fi + [[ 0 -eq 1 ]] curl https://raw.githubusercontent.com/$githubUrl/$githubBranch/README.md -o README.md 2>>package-output.txt + curl https://raw.githubusercontent.com/Bowserinator/TPT1D/master/README.md -o README.md curl https://raw.githubusercontent.com/$githubUrl/$githubBranch/LICENSE -o LICENSE 2>>package-output.txt + curl https://raw.githubusercontent.com/Bowserinator/TPT1D/master/LICENSE -o LICENSE # Download or generate changelog.txt if [[ $releaseType == "stable" || $releaseType == "beta" ]]; then if [[ ! $vanillaRelease -eq 1 ]]; then if [[ -f changelog.txt ]]; then mv changelog.txt changelog-old.txt fi curl https://raw.githubusercontent.com/$githubUrl/$githubBranch/changelog.txt -o changelog.txt 2>>package-output.txt if [[ -f changelog-old.txt ]]; then if diff -q changelog.txt changelog-old.txt >/dev/null; then echo "Please update changelog.txt before releasing a build on the Starcatcher update server." rm changelog-old.txt exit 1 fi rm changelog-old.txt fi fi elif [[ $releaseType == "snapshot" ]]; then # Snapshots curl https://api.github.com/repos/The-Powder-Toy/The-Powder-Toy/commits >commits.json 2>>package-output.txt python $packDirectory/parsecommits.py $(cat /c/StarHTTP/TPT/"$webDirectory"/Output/latest_commit.log) rm commits.json else echo "Only stable and snapshot release types supported" exit 1 fi + [[ stable == \s\t\a\b\l\e ]] + [[ ! 0 -eq 1 ]] + [[ -f changelog.txt ]] + curl https://raw.githubusercontent.com/Bowserinator/TPT1D/master/changelog.txt -o changelog.txt + [[ -f changelog-old.txt ]] # Package files for usage in-game $packDirectory/packager.exe "$win64" WIN64.ptu >>package-output.txt + /c/Starcatcher/Github-Action-Releases/updatepackager/packager.exe powder-v1.0.0-x86_64-win-msvc-static.exe WIN64.ptu $packDirectory/packager.exe "$win32" WIN32.ptu >>package-output.txt + /c/Starcatcher/Github-Action-Releases/updatepackager/packager.exe powder-v1.0.0-i686-win-msvc-static.exe WIN32.ptu #$packDirectory/packager.exe "$mac" MACOS.ptu >>package-output.txt #if [[ $has_mac_arm -eq 1 ]]; then # $packDirectory/packager.exe "$macArm" MACOSARM.ptu >>package-output.txt #fi $packDirectory/packager.exe "$lin64" LIN64.ptu >>package-output.txt + /c/Starcatcher/Github-Action-Releases/updatepackager/packager.exe powder-v1.0.0-x86_64-lin-gcc-static LIN64.ptu echo "Done packaging update files" >>package-output.txt + echo 'Done packaging update files' # Linux 64 bit mv "$lin64" powder + mv powder-v1.0.0-x86_64-lin-gcc-static powder python $packDirectory/zip.py "$packageName" linux64 + python /c/Starcatcher/Github-Action-Releases/updatepackager/zip.py tpt1d linux64 rm powder + rm powder echo "Done packing Linux version" >>package-output.txt + echo 'Done packing Linux version' # Mac OS macAppFolderIn= + macAppFolderIn= macAppFolder= + macAppFolder= if [[ $packageName == "Snapshot" ]]; then macAppFolderIn="Powder Snapshot.app" macAppFolderOut=$macAppFolderIn macAppFolderM1Out="Powder Snapshot M1.app" macDmgOut="Snapshot.dmg" macDmgM1Out="Snapshot M1.dmg" elif [[ $packageName == "powder" ]]; then macAppFolderIn=Powder.app macAppFolderOut=$macAppFolderIn macAppFolderM1Out="Powder M1.app" macDmgOut="Powder.dmg" macDmgM1Out="Powder M1.dmg" else macAppFolderIn="Powder mods.app" macAppFolderOut="$packageName.app" macAppFolderM1Out="$packageName M1.app" macDmgOut="$packageName.dmg" macDmgM1Out="$packageName M1.dmg" fi + [[ tpt1d == \S\n\a\p\s\h\o\t ]] + [[ tpt1d == \p\o\w\d\e\r ]] + macAppFolderIn='Powder mods.app' + macAppFolderOut=tpt1d.app + macAppFolderM1Out='tpt1d M1.app' + macDmgOut=tpt1d.dmg + macDmgM1Out='tpt1d M1.dmg' test -d $packDirectory/"$macAppFolderIn" + test -d '/c/Starcatcher/Github-Action-Releases/updatepackager/Powder mods.app' pack_mac() { local filename=$1 local appFolderIn=$2 local appFolderOut=$3 local dmgOut=$4 mv "$filename" powder-x #$packDirectory/rcodesign sign --pem-source $packDirectory/macsigningkey.crt --code-signature-flags runtime --team-name "The Powder Toy" powder-x mkdir MacDMG cp -r $packDirectory/"$appFolderIn" MacDMG/"$appFolderOut" cp powder-x MacDMG/"$appFolderOut"/Contents/MacOS cp README.md MacDMG cp LICENSE MacDMG sed -i -e "s/MAJOR_VERSION/$versionNum/" MacDMG/"$appFolderOut"/Contents/Info.plist sed -i -e "s/FULL_VERSION/$fullVersionNum/" MacDMG/"$appFolderOut"/Contents/Info.plist #$packDirectory/rcodesign sign --pem-source $packDirectory/macsigningkey.crt --code-signature-flags runtime --team-name "The Powder Toy" MacDMG/"$appFolderOut"/ #/c/Starcatcher/Ubuntu2/ubuntu2004.exe run genisoimage -D -V "The-Powder-Toy Snapshots" -no-pad -r -apple -o powder-osx-uncompressed.dmg "MacDMG" >/d/test22.txt 2>&1 #/c/Starcatcher/Ubuntu2/ubuntu2004.exe run dmg dmg powder-osx-uncompressed.dmg Snapshot.dmg >/d/test3.txt 2>&1 echo "dmg $appFolderOut $workingDirectory $dmgOut" | $packDirectory/nc.exe -w 5 localhost 9876 >>package-output.txt rm -r MacDMG powder-osx-uncompressed.dmg powder-x #$packDirectory/rcodesign sign --pem-source $packDirectory/macsigningkey.crt --code-signature-flags runtime --team-name "The Powder Toy" "$dmgOut" #$packDirectory/rcodesign notarize --api-issuer 68911d4c-110c-4172-b9f7-b7efa30f9680 --api-key DEADBEEF "$dmgOut" } if [[ "$mac" == *.dmg ]]; then mv "$mac" "$macDmgOut" if [[ $has_mac_arm -eq 1 ]]; then mv "$macArm" "$macDmgM1Out" fi else pack_mac "$mac" "$macAppFolderIn" "$macAppFolderOut" "$macDmgOut" if [[ $has_mac_arm -eq 1 ]]; then pack_mac "$macArm" "$macAppFolderIn" "$macAppFolderM1Out" "$macDmgM1Out" fi fi + [[ powder-v1.0.0-x86_64-mac-gcc-static.dmg == *.dmg ]] + mv powder-v1.0.0-x86_64-mac-gcc-static.dmg tpt1d.dmg + [[ 1 -eq 1 ]] + mv powder-v1.0.0-arm64-mac-gcc-static.dmg 'tpt1d M1.dmg' # Windows 64 and 32 bit mv "$win64" Powder.exe + mv powder-v1.0.0-x86_64-win-msvc-static.exe Powder.exe mv "$win32" Powder32.exe + mv powder-v1.0.0-i686-win-msvc-static.exe Powder32.exe mv README.md readme.txt + mv README.md readme.txt mv LICENSE license.txt + mv LICENSE license.txt python $packDirectory/zip.py "$packageName" win64 + python /c/Starcatcher/Github-Action-Releases/updatepackager/zip.py tpt1d win64 python $packDirectory/zip.py "$packageName" win32 + python /c/Starcatcher/Github-Action-Releases/updatepackager/zip.py tpt1d win32 rm Powder.exe Powder32.exe + rm Powder.exe Powder32.exe rm readme.txt license.txt + rm readme.txt license.txt echo "Done packing Windows versions" >>package-output.txt + echo 'Done packing Windows versions' # Move files into appropriate directories on server # Note: This relies on Window's case-insensitive filenames for official releases mv WIN64.ptu WIN32.ptu LIN64.ptu /c/StarHTTP/TPT/"$webDirectory" + mv WIN64.ptu WIN32.ptu LIN64.ptu /c/StarHTTP/TPT/mods/tpt1d if [[ ! $vanillaRelease -eq 1 ]]; then # For everything but vanilla releases, copy into Output/ and Older/ folders cp "$packageName.zip" "/c/StarHTTP/TPT/$webDirectory/Older/$packageName $buildId.zip" cp "$packageName win32.zip" "/c/StarHTTP/TPT/$webDirectory/Older/$packageName $buildId win32.zip" cp "$packageName.dmg" "/c/StarHTTP/TPT/$webDirectory/Older/$packageName $buildId.dmg" cp "$packageName linux64.zip" "/c/StarHTTP/TPT/$webDirectory/Older/$packageName $buildId linux64.zip" fi + [[ ! 0 -eq 1 ]] + cp tpt1d.zip '/c/StarHTTP/TPT/mods/tpt1d/Older/tpt1d 0.zip' + cp 'tpt1d win32.zip' '/c/StarHTTP/TPT/mods/tpt1d/Older/tpt1d 0 win32.zip' + cp tpt1d.dmg '/c/StarHTTP/TPT/mods/tpt1d/Older/tpt1d 0.dmg' + cp 'tpt1d linux64.zip' '/c/StarHTTP/TPT/mods/tpt1d/Older/tpt1d 0 linux64.zip' mv "$packageName.zip" "$packageName win32.zip" "$packageName.dmg" "$packageName linux64.zip" /c/StarHTTP/TPT/"$webDirectory" + mv tpt1d.zip 'tpt1d win32.zip' tpt1d.dmg 'tpt1d linux64.zip' /c/StarHTTP/TPT/mods/tpt1d if [[ $has_mac_arm -eq 1 ]]; then echo "Moving MacOS M1 files" #mv MACOSARM.ptu /c/StarHTTP/TPT/"$webDirectory" if [[ ! $vanillaRelease -eq 1 ]]; then cp "$packageName M1.dmg" "/c/StarHTTP/TPT/$webDirectory/Older/$packageName $buildId M1.dmg" fi mv "$packageName M1.dmg" /c/StarHTTP/TPT/"$webDirectory" fi + [[ 1 -eq 1 ]] + echo 'Moving MacOS M1 files' Moving MacOS M1 files + [[ ! 0 -eq 1 ]] + cp 'tpt1d M1.dmg' '/c/StarHTTP/TPT/mods/tpt1d/Older/tpt1d 0 M1.dmg' + mv 'tpt1d M1.dmg' /c/StarHTTP/TPT/mods/tpt1d if [[ $has_wasm -eq 1 ]]; then #if [[ $releaseType == "snapshot" ]]; then # tar -xf $wasm -C /c/Starcatcher/TPT-Website/wasm # mv /c/Starcatcher/TPT-Website/wasm/powdersnapshot.js /c/Starcatcher/TPT-Website/wasm/powder.js # mv /c/Starcatcher/TPT-Website/wasm/powdersnapshot.wasm /c/Starcatcher/TPT-Website/wasm/powder.wasm # mv /c/Starcatcher/TPT-Website/wasm/powdersnapshot.worker.js /c/Starcatcher/TPT-Website/wasm/powder.worker.js #fi cp $wasm /c/StarHTTP/TPT/"$webDirectory"/ if [[ ! $vanillaRelease -eq 1 ]]; then mv $wasm /c/StarHTTP/TPT/"$webDirectory"/Older/"$packageName $buildId wasm.tar" fi fi + [[ 0 -eq 1 ]] echo "Done moving files to web directory" >>package-output.txt + echo 'Done moving files to web directory' # Update changelogs if [[ ! $vanillaRelease -eq 1 ]]; then echo $commitSha > /c/StarHTTP/TPT/"$webDirectory"/Output/latest_commit.log cat changelog.txt | grep -ve "^#" | grep -ve "^[[:space:]]*$" | sed -e "s/^/$buildId\t/" >>/c/StarHTTP/TPT/"$webDirectory"/WIN64.info cat changelog.txt | grep -ve "^#" | grep -ve "^[[:space:]]*$" | sed -e "s/^/$buildId\t/" >>/c/StarHTTP/TPT/"$webDirectory"/WIN32.info cat changelog.txt | grep -ve "^#" | grep -ve "^[[:space:]]*$" | sed -e "s/^/$buildId\t/" >>/c/StarHTTP/TPT/"$webDirectory"/MACOS.info cat changelog.txt | grep -ve "^#" | grep -ve "^[[:space:]]*$" | sed -e "s/^/$buildId\t/" >>/c/StarHTTP/TPT/"$webDirectory"/MACOSARM.info cat changelog.txt | grep -ve "^#" | grep -ve "^[[:space:]]*$" | sed -e "s/^/$buildId\t/" >>/c/StarHTTP/TPT/"$webDirectory"/LIN64.info echo "Done updating changelogs" >>package-output.txt if [[ $releaseType == "snapshot" ]]; then rm changelog.txt fi fi + [[ ! 0 -eq 1 ]] + echo 24c7fe47e914fccd9de0a7eb943b84433252338a + cat changelog.txt + grep -ve '^#' + grep -ve '^[[:space:]]*$' + sed -e 's/^/0\t/' + cat changelog.txt + grep -ve '^#' + grep -ve '^[[:space:]]*$' + sed -e 's/^/0\t/' + cat changelog.txt + grep -ve '^#' + grep -ve '^[[:space:]]*$' + sed -e 's/^/0\t/' + cat changelog.txt + grep -ve '^#' + grep -ve '^[[:space:]]*$' + sed -e 's/^/0\t/' + cat changelog.txt + grep -ve '^#' + grep -ve '^[[:space:]]*$' + sed -e 's/^/0\t/' + echo 'Done updating changelogs' + [[ stable == \s\n\a\p\s\h\o\t ]] echo "Archiving source code" + echo 'Archiving source code' Archiving source code curl -L https://github.com/$githubUrl/archive/refs/heads/$githubBranch.zip -o /c/StarHTTP/TPT/"$webDirectory"/"$packageName-src.zip" + curl -L https://github.com/Bowserinator/TPT1D/archive/refs/heads/master.zip -o /c/StarHTTP/TPT/mods/tpt1d/tpt1d-src.zip % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 739k 0 739k 0 0 1027k 0 --:--:-- --:--:-- --:--:-- 1027k 100 1090k 0 1090k 0 0 1503k 0 --:--:-- --:--:-- --:--:-- 68.5M if [[ ! $vanillaRelease -eq 1 ]]; then cp /c/StarHTTP/TPT/"$webDirectory"/"$packageName-src.zip" /c/StarHTTP/TPT/"$webDirectory"/Older/"$packageName $buildId-src.zip" fi + [[ ! 0 -eq 1 ]] + cp /c/StarHTTP/TPT/mods/tpt1d/tpt1d-src.zip '/c/StarHTTP/TPT/mods/tpt1d/Older/tpt1d 0-src.zip' echo "Source code archived" + echo 'Source code archived' Source code archived success=1 + success=1 echo "Release complete" + echo 'Release complete' Release complete if [[ $vanillaRelease -eq 1 ]]; then echo "msg #powder-dev $fullVersionNum finished packaging" | $packDirectory/nc.exe -w 1 localhost 9876 elif [[ $releaseType == "snapshot" ]]; then echo "msg #powder-dev $fullVersionNum released!" | $packDirectory/nc.exe -w 1 localhost 9876 else echo "msg #powder-dev $packageName $fullVersionNum released!" | $packDirectory/nc.exe -w 1 localhost 9876 fi + [[ 0 -eq 1 ]] + [[ stable == \s\n\a\p\s\h\o\t ]] + echo 'msg #powder-dev tpt1d 1.0 (build 0) released!' + /c/Starcatcher/Github-Action-Releases/updatepackager/nc.exe -w 1 localhost 9876 exit 0 + exit 0 on_exit + on_exit + [[ 1 -eq 0 ]]