Skip to content

Commit 2975b5d

Browse files
authored
Makes the release script better. (#112)
The release script will now attempt to checkout all things needed for the build from the correct branch. It should also prevent releases from dirty repositories.
1 parent 88f6310 commit 2975b5d

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

scripts/build_steam_release.sh

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,24 +34,42 @@ if ! command -v cpack > /dev/null 2>&1; then
3434
exit 1
3535
fi
3636

37+
GIT_BRANCH=${1:-master}
38+
BUILD_TYPE=${2:-Release}
39+
40+
echo "Building '${BUILD_TYPE}' build from '$GIT_BRANCH' branch"
41+
3742
STEAM_BUILD_DIR=build/steam-release
3843

3944
BUILD_DIR_LINUX=$STEAM_BUILD_DIR/linux
4045
BUILD_DIR_WINDOWS=$STEAM_BUILD_DIR/windows
4146

42-
4347
STEAM_CONTENT_DIR=$STEAM_BUILD_DIR/content
4448
STEAM_CONTENT_DIR_WINDOWS=$STEAM_CONTENT_DIR/windows
4549
STEAM_CONTENT_DIR_LINUX=$STEAM_CONTENT_DIR/linux
4650

51+
# Checkout branch and set up submodules
52+
git checkout $GIT_BRANCH
53+
git pull
54+
git submodule update --init --recursive
55+
56+
if [ -n "$(git status --porcelain)" ]; then
57+
echo "error: git repo not clean"
58+
exit 1
59+
fi
60+
61+
# Clear out any old builds
62+
rm -rf $STEAM_CONTENT_DIR_LINUX
63+
rm -rf $STEAM_CONTENT_DIR_WINDOWS
64+
4765
# Setup the depot dirs
4866
mkdir -p $STEAM_CONTENT_DIR_LINUX
4967
mkdir -p $STEAM_CONTENT_DIR_WINDOWS
5068

5169
# Build and package for linux
5270
mkdir -p $BUILD_DIR_LINUX
5371
cmake -B $BUILD_DIR_LINUX \
54-
-DCMAKE_BUILD_TYPE=Release \
72+
-DCMAKE_BUILD_TYPE=$BUILD_TYPE \
5573
-GNinja
5674
cmake --build $BUILD_DIR_LINUX
5775
rm -rf ${BUILD_DIR_LINUX:?}/package/*
@@ -64,7 +82,7 @@ unzip $BUILD_DIR_LINUX/package/*.zip -d $STEAM_CONTENT_DIR_LINUX/
6482
# Build and package for windows
6583
mkdir -p $BUILD_DIR_WINDOWS
6684
cmake -B $BUILD_DIR_WINDOWS \
67-
-DCMAKE_BUILD_TYPE=Release \
85+
-DCMAKE_BUILD_TYPE=$BUILD_TYPE \
6886
-DCMAKE_TOOLCHAIN_FILE=build_deps/toolchains/mingw-w64-i686.cmake \
6987
-DSDLMIXER_VENDORED=ON \
7088
-DSDLTTF_VENDORED=ON \

0 commit comments

Comments
 (0)