Create build script for Jenkins (and use it) (#4473)
* Add Jenkins build script, so it can actually be used. * Build tools * Reduce build threads to 2 so as not to overload server * Rename CIBuild.sh to travisbuild.sh, better reflect actual use * Echo commands as they are executed * Add toolchain file configuration
This commit is contained in:
parent
a0d2e934eb
commit
cfedb03a09
@ -66,7 +66,7 @@ matrix:
|
|||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- export PATH=$(echo "$PATH" | sed -e 's/:\/usr\/lib\/ccache//')
|
- export PATH=$(echo "$PATH" | sed -e 's/:\/usr\/lib\/ccache//')
|
||||||
script: ./CIbuild.sh
|
script: ./travisbuild.sh
|
||||||
cache: ccache
|
cache: ccache
|
||||||
|
|
||||||
|
|
||||||
|
84
jenkinsbuild.sh
Executable file
84
jenkinsbuild.sh
Executable file
@ -0,0 +1,84 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
# Parse arguments.
|
||||||
|
while [[ $# -gt 1 ]]
|
||||||
|
do
|
||||||
|
key="$1"
|
||||||
|
case $key in
|
||||||
|
-s|--server-name)
|
||||||
|
SERVERNAME="$2"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-t|--target)
|
||||||
|
TARGET="$2"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-c|--compiler)
|
||||||
|
CCOMP="$2"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-cxx|--cxx-compiler)
|
||||||
|
CXXCOMP="$2"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-m|--compile-mode)
|
||||||
|
COMPILEMODE="-DCMAKE_BUILD_TYPE=$2"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-n|--build-number)
|
||||||
|
BUILDID="$2"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-p|--toolchain-file)
|
||||||
|
TOOLCHAINFILE="-DCMAKE_TOOLCHAIN_FILE=$2"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-b|--branch)
|
||||||
|
BRANCH="$2"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-32|--force-32)
|
||||||
|
FORCE32="-DFORCE_32=$2"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
git submodule update --init
|
||||||
|
|
||||||
|
# Set up build information.
|
||||||
|
export CUBERITE_BUILD_SERIES_NAME="$SERVERNAME $TARGET $COMPILEMODE ($BRANCH)"
|
||||||
|
export CUBERITE_BUILD_ID="$BUILDID"
|
||||||
|
export CUBERITE_BUILD_DATETIME="`date`"
|
||||||
|
|
||||||
|
export CCACHE_CPP2=true
|
||||||
|
CACHE_ARGS="-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache"
|
||||||
|
|
||||||
|
# Build
|
||||||
|
CXX=$CXXCOMP CC=$CCOMP cmake . -DNO_NATIVE_OPTIMIZATION=1 -DBUILD_TOOLS=1 ${TOOLCHAINFILE} ${COMPILEMODE^^} ${FORCE32^^}
|
||||||
|
make -j 2
|
||||||
|
|
||||||
|
|
||||||
|
# Package Server
|
||||||
|
echo Cuberite "$CUBERITE_BUILD_SERIES_NAME-$CUBERITE_BUILD_ID\n$BUILD_URL" > Server/buildinfo.txt
|
||||||
|
|
||||||
|
# h: dereference (archive file/folder instead of symlink)
|
||||||
|
# z: gzip (compress)
|
||||||
|
# c: create
|
||||||
|
# v: verbose
|
||||||
|
# T: files-from (list of server files accepted for release archives)
|
||||||
|
# f: file (output file location)
|
||||||
|
pushd Server
|
||||||
|
tar -hzcv -T Install/UnixExecutables.list -f ../Cuberite.tar.gz
|
||||||
|
popd
|
||||||
|
sha1sum Cuberite.tar.gz > Cuberite.tar.gz.sha1
|
||||||
|
|
||||||
|
# Package ProtoProxy
|
||||||
|
pushd Tools/ProtoProxy
|
||||||
|
sha1sum ProtoProxy > ProtoProxy.sha1
|
||||||
|
popd
|
Loading…
Reference in New Issue
Block a user