Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/scripts/gitlab-ci
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/gitlab-ci')
-rw-r--r--scripts/gitlab-ci/assemble.sh98
-rw-r--r--scripts/gitlab-ci/linux/build.sh22
-rw-r--r--scripts/gitlab-ci/linux/run-client.sh5
-rw-r--r--scripts/gitlab-ci/linux/run-server.sh22
-rw-r--r--scripts/gitlab-ci/linux/sbinit.config8
-rw-r--r--scripts/gitlab-ci/linux/test.sh8
-rw-r--r--scripts/gitlab-ci/macos/Starbound.app/Contents/Info.plist27
-rw-r--r--scripts/gitlab-ci/macos/Starbound.app/Contents/Resources/starbound.icnsbin0 -> 47576 bytes
-rw-r--r--scripts/gitlab-ci/macos/build.sh25
-rw-r--r--scripts/gitlab-ci/macos/run-server.sh11
-rw-r--r--scripts/gitlab-ci/macos/sbinit.config8
-rw-r--r--scripts/gitlab-ci/macos/test.sh9
-rw-r--r--scripts/gitlab-ci/repack_steamfree.sh43
-rw-r--r--scripts/gitlab-ci/windows32/build.bat25
-rw-r--r--scripts/gitlab-ci/windows32/sbinit.config14
-rw-r--r--scripts/gitlab-ci/windows32/test.bat8
-rw-r--r--scripts/gitlab-ci/windows64/build.bat30
-rw-r--r--scripts/gitlab-ci/windows64/sbinit.config14
-rw-r--r--scripts/gitlab-ci/windows64/test.bat8
19 files changed, 385 insertions, 0 deletions
diff --git a/scripts/gitlab-ci/assemble.sh b/scripts/gitlab-ci/assemble.sh
new file mode 100644
index 0000000..95d18cd
--- /dev/null
+++ b/scripts/gitlab-ci/assemble.sh
@@ -0,0 +1,98 @@
+#!/bin/sh -e
+
+mkdir client_distribution
+mkdir client_distribution/assets
+mkdir client_distribution/tiled
+
+./linux_binaries/asset_packer -c scripts/packing.config assets/packed client_distribution/assets/packed.pak
+cp -r assets/user client_distribution/assets/
+
+cp -r tiled/packed client_distribution/tiled/
+
+cp -r doc client_distribution/doc
+
+mkdir client_distribution/mods
+touch client_distribution/mods/mods_go_here
+
+mkdir client_distribution/win64
+cp -r \
+ windows64_binaries/starbound.exe \
+ windows64_binaries/starbound.pdb \
+ windows64_binaries/starbound_server.exe \
+ windows64_binaries/mod_uploader.exe \
+ windows64_binaries/*.dll \
+ windows64_binaries/iconengines \
+ windows64_binaries/imageformats \
+ windows64_binaries/platforms \
+ windows64_binaries/translations \
+ scripts/gitlab-ci/windows64/sbinit.config \
+ client_distribution/win64/
+
+mkdir client_distribution/win32
+cp \
+ windows32_binaries/starbound.exe \
+ windows32_binaries/starbound.pdb \
+ windows32_binaries/starbound_server.exe \
+ windows32_binaries/asset_packer.exe \
+ windows32_binaries/asset_unpacker.exe \
+ windows32_binaries/dump_versioned_json.exe \
+ windows32_binaries/make_versioned_json.exe \
+ windows32_binaries/planet_mapgen.exe \
+ windows32_binaries/*.dll \
+ scripts/gitlab-ci/windows32/sbinit.config \
+ client_distribution/win32/
+
+mkdir client_distribution/osx
+cp -LR scripts/gitlab-ci/macos/Starbound.app client_distribution/osx/
+mkdir client_distribution/osx/Starbound.app/Contents/MacOS
+cp macos_binaries/starbound client_distribution/osx/Starbound.app/Contents/MacOS/
+cp macos_binaries/*.dylib client_distribution/osx/Starbound.app/Contents/MacOS/
+cp \
+ macos_binaries/starbound_server \
+ macos_binaries/asset_packer \
+ macos_binaries/asset_unpacker \
+ macos_binaries/dump_versioned_json \
+ macos_binaries/make_versioned_json \
+ macos_binaries/planet_mapgen \
+ scripts/gitlab-ci/macos/sbinit.config \
+ scripts/gitlab-ci/macos/run-server.sh \
+ client_distribution/osx/
+
+mkdir client_distribution/linux
+cp \
+ linux_binaries/starbound \
+ linux_binaries/starbound_server \
+ linux_binaries/asset_packer \
+ linux_binaries/asset_unpacker \
+ linux_binaries/dump_versioned_json \
+ linux_binaries/make_versioned_json \
+ linux_binaries/planet_mapgen \
+ linux_binaries/*.so \
+ scripts/gitlab-ci/linux/sbinit.config \
+ scripts/gitlab-ci/linux/run-client.sh \
+ scripts/gitlab-ci/linux/run-server.sh \
+ client_distribution/linux/
+
+mkdir server_distribution
+mkdir server_distribution/assets
+
+mkdir server_distribution/mods
+touch server_distribution/mods/mods_go_here
+
+./linux_binaries/asset_packer -c scripts/packing.config -s assets/packed server_distribution/assets/packed.pak
+
+mkdir server_distribution/win64
+mkdir server_distribution/linux
+
+cp \
+ linux_binaries/starbound_server \
+ linux_binaries/*.so \
+ scripts/gitlab-ci/linux/run-server.sh \
+ scripts/gitlab-ci/linux/sbinit.config \
+ server_distribution/linux/
+
+cp \
+ windows64_binaries/starbound_server.exe \
+ windows64_binaries/*.dll \
+ scripts/gitlab-ci/windows64/sbinit.config \
+ server_distribution/win64/
diff --git a/scripts/gitlab-ci/linux/build.sh b/scripts/gitlab-ci/linux/build.sh
new file mode 100644
index 0000000..b70f6de
--- /dev/null
+++ b/scripts/gitlab-ci/linux/build.sh
@@ -0,0 +1,22 @@
+#!/bin/sh -e
+
+mkdir -p build
+
+cd build
+rm -f CMakeCache.txt
+
+cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DSTAR_ENABLE_STATIC_LIBGCC_LIBSTDCXX=ON \
+ -DSTAR_USE_JEMALLOC=ON \
+ -DSTAR_ENABLE_STEAM_INTEGRATION=ON \
+ -DCMAKE_INCLUDE_PATH=../lib/linux/include \
+ -DCMAKE_LIBRARY_PATH=../lib/linux \
+ ../source
+
+make -j2
+
+cd ..
+
+mv dist linux_binaries
+cp lib/linux/*.so linux_binaries/
diff --git a/scripts/gitlab-ci/linux/run-client.sh b/scripts/gitlab-ci/linux/run-client.sh
new file mode 100644
index 0000000..b7cb8ba
--- /dev/null
+++ b/scripts/gitlab-ci/linux/run-client.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+cd "`dirname \"$0\"`"
+
+LD_LIBRARY_PATH="$LD_LIBRARY_PATH:./" ./starbound "$@"
diff --git a/scripts/gitlab-ci/linux/run-server.sh b/scripts/gitlab-ci/linux/run-server.sh
new file mode 100644
index 0000000..79b02fd
--- /dev/null
+++ b/scripts/gitlab-ci/linux/run-server.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+cd "`dirname \"$0\"`"
+
+terms="
+x-terminal-emulator
+konsole
+gnome-terminal.wrapper
+xfce4-terminal.wrapper
+koi8rxterm
+lxterm
+uxterm
+xterm"
+
+for term in $terms; do
+ $term -e ./starbound_server $@
+ if [ $? -eq 0 ]; then
+ exit 0;
+ fi
+done
+
+exit 1
diff --git a/scripts/gitlab-ci/linux/sbinit.config b/scripts/gitlab-ci/linux/sbinit.config
new file mode 100644
index 0000000..0be7e7c
--- /dev/null
+++ b/scripts/gitlab-ci/linux/sbinit.config
@@ -0,0 +1,8 @@
+{
+ "assetDirectories" : [
+ "../assets/",
+ "../mods/"
+ ],
+
+ "storageDirectory" : "../storage/"
+}
diff --git a/scripts/gitlab-ci/linux/test.sh b/scripts/gitlab-ci/linux/test.sh
new file mode 100644
index 0000000..0bc8e7c
--- /dev/null
+++ b/scripts/gitlab-ci/linux/test.sh
@@ -0,0 +1,8 @@
+#!/bin/sh -e
+
+cd linux_binaries
+
+cp ../scripts/linux/sbinit.config .
+
+./core_tests
+./game_tests
diff --git a/scripts/gitlab-ci/macos/Starbound.app/Contents/Info.plist b/scripts/gitlab-ci/macos/Starbound.app/Contents/Info.plist
new file mode 100644
index 0000000..44fcdca
--- /dev/null
+++ b/scripts/gitlab-ci/macos/Starbound.app/Contents/Info.plist
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleGetInfoString</key>
+ <string>Starbound</string>
+ <key>CFBundleExecutable</key>
+ <string>starbound</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.chucklefish</string>
+ <key>CFBundleName</key>
+ <string>starbound</string>
+ <key>CFBundleIconFile</key>
+ <string>starbound</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>LSEnvironment</key>
+ <dict>
+ <key>MinimumSystemVersion</key>
+ <string>10.9.0</string>
+ </dict>
+ <key>SDL_FILESYSTEM_BASE_DIR_TYPE</key>
+ <string>parent</string>
+</dict>
+</plist>
diff --git a/scripts/gitlab-ci/macos/Starbound.app/Contents/Resources/starbound.icns b/scripts/gitlab-ci/macos/Starbound.app/Contents/Resources/starbound.icns
new file mode 100644
index 0000000..d6c93ff
--- /dev/null
+++ b/scripts/gitlab-ci/macos/Starbound.app/Contents/Resources/starbound.icns
Binary files differ
diff --git a/scripts/gitlab-ci/macos/build.sh b/scripts/gitlab-ci/macos/build.sh
new file mode 100644
index 0000000..7517843
--- /dev/null
+++ b/scripts/gitlab-ci/macos/build.sh
@@ -0,0 +1,25 @@
+#!/bin/sh -e
+
+mkdir -p build
+cd build
+
+rm -f CMakeCache.txt
+
+cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DSTAR_ENABLE_STATIC_LIBGCC_LIBSTDCXX=ON \
+ -DSTAR_USE_JEMALLOC=OFF \
+ -DSTAR_ENABLE_STEAM_INTEGRATION=ON \
+ -DSTAR_ENABLE_DISCORD_INTEGRATION=ON \
+ -DCMAKE_INCLUDE_PATH=../lib/osx/include \
+ -DCMAKE_LIBRARY_PATH=../lib/osx \
+ -DCMAKE_OSX_SYSROOT=/ \
+ -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 \
+ ../source
+
+make -j2
+
+cd ..
+
+mv dist macos_binaries
+cp lib/osx/*.dylib macos_binaries/
diff --git a/scripts/gitlab-ci/macos/run-server.sh b/scripts/gitlab-ci/macos/run-server.sh
new file mode 100644
index 0000000..e043263
--- /dev/null
+++ b/scripts/gitlab-ci/macos/run-server.sh
@@ -0,0 +1,11 @@
+#!/bin/sh -e
+
+cd "`dirname \"$0\"`"
+
+osascript <<END
+
+tell application "Terminal"
+ do script "cd \"`pwd`\";./starbound_server $@;exit"
+end tell
+
+END
diff --git a/scripts/gitlab-ci/macos/sbinit.config b/scripts/gitlab-ci/macos/sbinit.config
new file mode 100644
index 0000000..0be7e7c
--- /dev/null
+++ b/scripts/gitlab-ci/macos/sbinit.config
@@ -0,0 +1,8 @@
+{
+ "assetDirectories" : [
+ "../assets/",
+ "../mods/"
+ ],
+
+ "storageDirectory" : "../storage/"
+}
diff --git a/scripts/gitlab-ci/macos/test.sh b/scripts/gitlab-ci/macos/test.sh
new file mode 100644
index 0000000..3843325
--- /dev/null
+++ b/scripts/gitlab-ci/macos/test.sh
@@ -0,0 +1,9 @@
+#!/bin/sh -e
+
+cd macos_binaries
+
+cp ../scripts/osx/sbinit.config .
+
+./core_tests
+./game_tests
+
diff --git a/scripts/gitlab-ci/repack_steamfree.sh b/scripts/gitlab-ci/repack_steamfree.sh
new file mode 100644
index 0000000..0287760
--- /dev/null
+++ b/scripts/gitlab-ci/repack_steamfree.sh
@@ -0,0 +1,43 @@
+#!/bin/sh -e
+
+mkdir client_win32_win64
+cp -r \
+ client_distribution/assets \
+ client_distribution/doc \
+ client_distribution/mods \
+ client_distribution/tiled \
+ client_distribution/win32 \
+ client_distribution/win64 \
+ client_win32_win64
+
+mkdir client_linux
+cp -r \
+ client_distribution/assets \
+ client_distribution/doc \
+ client_distribution/mods \
+ client_distribution/tiled \
+ client_distribution/linux \
+ client_linux
+
+mkdir client_macos
+cp -r \
+ client_distribution/assets \
+ client_distribution/doc \
+ client_distribution/mods \
+ client_distribution/tiled \
+ client_distribution/osx \
+ client_macos
+
+mkdir server_win64
+cp -r \
+ server_distribution/assets \
+ server_distribution/mods \
+ server_distribution/win64 \
+ server_win64
+
+mkdir server_linux
+cp -r \
+ server_distribution/assets \
+ server_distribution/mods \
+ server_distribution/linux \
+ server_linux
diff --git a/scripts/gitlab-ci/windows32/build.bat b/scripts/gitlab-ci/windows32/build.bat
new file mode 100644
index 0000000..f353d8b
--- /dev/null
+++ b/scripts/gitlab-ci/windows32/build.bat
@@ -0,0 +1,25 @@
+set CMAKE_PREFIX_PATH="C:\Program Files\CMake"
+set PATH=%PATH%;%CMAKE_PREFIX_PATH%\bin;%QT_PREFIX_PATH%\bin
+
+mkdir build
+cd build || exit /b 1
+
+del /f CMakeCache.txt
+
+cmake.exe ^
+ -G"Visual Studio 14" ^
+ -T"v140_xp" ^
+ -DSTAR_ENABLE_STATIC_MSVC_RUNTIME=ON ^
+ -DSTAR_ENABLE_STEAM_INTEGRATION=ON ^
+ -DSTAR_ENABLE_DISCORD_INTEGRATION=ON ^
+ -DCMAKE_INCLUDE_PATH="..\lib\windows32\include" ^
+ -DCMAKE_LIBRARY_PATH="..\lib\windows32" ^
+ ..\source || exit /b 1
+
+cmake.exe --build . --config RelWithDebInfo || exit /b 1
+
+cd ..
+
+move dist windows32_binaries || exit /b 1
+
+copy lib\windows32\*.dll windows32_binaries\ || exit /b 1
diff --git a/scripts/gitlab-ci/windows32/sbinit.config b/scripts/gitlab-ci/windows32/sbinit.config
new file mode 100644
index 0000000..b200df4
--- /dev/null
+++ b/scripts/gitlab-ci/windows32/sbinit.config
@@ -0,0 +1,14 @@
+{
+ "assetDirectories" : [
+ "..\\assets\\",
+ "..\\mods\\"
+ ],
+
+ "storageDirectory" : "..\\storage\\",
+
+ "defaultConfiguration" : {
+ "gameServerBind" : "*",
+ "queryServerBind" : "*",
+ "rconServerBind" : "*"
+ }
+}
diff --git a/scripts/gitlab-ci/windows32/test.bat b/scripts/gitlab-ci/windows32/test.bat
new file mode 100644
index 0000000..6887309
--- /dev/null
+++ b/scripts/gitlab-ci/windows32/test.bat
@@ -0,0 +1,8 @@
+cd windows32_binaries
+
+set PATH="%PATH%;..\lib\windows32"
+
+copy ..\scripts\windows\sbinit.config .
+
+.\core_tests || exit /b 1
+.\game_tests || exit /b 1
diff --git a/scripts/gitlab-ci/windows64/build.bat b/scripts/gitlab-ci/windows64/build.bat
new file mode 100644
index 0000000..d657be7
--- /dev/null
+++ b/scripts/gitlab-ci/windows64/build.bat
@@ -0,0 +1,30 @@
+set QT_PREFIX_PATH="C:\Qt\5.7\msvc2015_64"
+set CMAKE_PREFIX_PATH="C:\Program Files\CMake"
+set PATH=%PATH%;%CMAKE_PREFIX_PATH%\bin;%QT_PREFIX_PATH%\bin
+
+mkdir build
+cd build || exit /b 1
+
+del /f CMakeCache.txt
+
+cmake.exe ^
+ -G"Visual Studio 14 Win64" ^
+ -T"v140" ^
+ -DCMAKE_PREFIX_PATH=%QT_PREFIX_PATH% ^
+ -DSTAR_USE_JEMALLOC=OFF ^
+ -DSTAR_ENABLE_STEAM_INTEGRATION=ON ^
+ -DSTAR_ENABLE_DISCORD_INTEGRATION=ON ^
+ -DSTAR_BUILD_QT_TOOLS=ON ^
+ -DCMAKE_INCLUDE_PATH="..\lib\windows64\include" ^
+ -DCMAKE_LIBRARY_PATH="..\lib\windows64" ^
+ ..\source || exit /b 1
+
+cmake.exe --build . --config RelWithDebInfo || exit /b 1
+
+cd ..
+
+move dist windows64_binaries || exit /b 1
+
+windeployqt.exe windows64_binaries\mod_uploader.exe || exit /b 1
+
+copy lib\windows64\*.dll windows64_binaries\ || exit /b 1
diff --git a/scripts/gitlab-ci/windows64/sbinit.config b/scripts/gitlab-ci/windows64/sbinit.config
new file mode 100644
index 0000000..b200df4
--- /dev/null
+++ b/scripts/gitlab-ci/windows64/sbinit.config
@@ -0,0 +1,14 @@
+{
+ "assetDirectories" : [
+ "..\\assets\\",
+ "..\\mods\\"
+ ],
+
+ "storageDirectory" : "..\\storage\\",
+
+ "defaultConfiguration" : {
+ "gameServerBind" : "*",
+ "queryServerBind" : "*",
+ "rconServerBind" : "*"
+ }
+}
diff --git a/scripts/gitlab-ci/windows64/test.bat b/scripts/gitlab-ci/windows64/test.bat
new file mode 100644
index 0000000..d6cb450
--- /dev/null
+++ b/scripts/gitlab-ci/windows64/test.bat
@@ -0,0 +1,8 @@
+cd windows64_binaries
+
+set PATH="%PATH%;..\lib\windows64"
+
+copy ..\scripts\windows\sbinit.config .
+
+.\core_tests || exit /b 1
+.\game_tests || exit /b 1