Skip to content

Commit c6f0bf3

Browse files
committed
Use remote mac build temporarily
1 parent 7317c6e commit c6f0bf3

File tree

2 files changed

+48
-25
lines changed

2 files changed

+48
-25
lines changed

release/build-and-deploy.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ cd /home/deen/isos/ddnet
1010

1111
if [ "$1" = "nightly" ]; then
1212
export UPDATE_FLAGS="-DAUTOUPDATE=OFF -DINFORM_UPDATE=OFF"
13-
export UPDATE_FLAGS_MACOSX="-DINFORM_UPDATE=OFF"
13+
export UPDATE_FLAGS_MACOS="-DINFORM_UPDATE=OFF"
1414
V="$(curl -s https://raw.githubusercontent.com/$MAIN_REPO_USER/$MAIN_REPO_NAME/$MAIN_REPO_BRANCH/src/game/version.h | grep "^#define GAME_RELEASE_VERSION" | cut -d'"' -f2)"
1515
export VERSION="$V-$(date +%Y%m%d)"
1616
./build.sh $VERSION &> builds/DDNet-nightly.log
1717
elif [ "$1" = "rc" ]; then
1818
export UPDATE_FLAGS="-DAUTOUPDATE=OFF -DINFORM_UPDATE=OFF"
19-
export UPDATE_FLAGS_MACOSX="-DINFORM_UPDATE=OFF"
19+
export UPDATE_FLAGS_MACOS="-DINFORM_UPDATE=OFF"
2020
export VERSION=$2
2121
./build.sh $VERSION &> builds/DDNet-$VERSION.log
2222
elif [ "$1" = "release" ]; then

release/build.sh

+46-23
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ set -ex
2222

2323
# Flags to pass to cmake when building a regular website build, Steam build is
2424
# always without autoupdater and without update info. For nightlies and RCs use:
25-
# UPDATE_FLAGS="-DAUTOUPDATE=OFF -DINFORM_UPDATE=OFF" UPDATE_FLAGS_MACOSX=-DINFORM_UPDATE=OFF
25+
# UPDATE_FLAGS="-DAUTOUPDATE=OFF -DINFORM_UPDATE=OFF" UPDATE_FLAGS_MACOS=-DINFORM_UPDATE=OFF
2626
UPDATE_FLAGS="${UPDATE_FLAGS:--DAUTOUPDATE=ON}"
27-
UPDATE_FLAGS_MACOSX="${UPDATE_FLAGS_MACOSX:-}"
27+
UPDATE_FLAGS_MACOS="${UPDATE_FLAGS_MACOS:-}"
2828

2929
MAIN_REPO_USER="${MAIN_REPO_USER:-ddnet}"
3030
MAIN_REPO_NAME="${MAIN_REPO_NAME:-ddnet}"
@@ -47,41 +47,60 @@ build_source ()
4747

4848
build_macos ()
4949
{
50-
ARCH=$1
51-
SUFFIX=$2
52-
FLAGS=$3
53-
rm -rf macos$SUFFIX-$ARCH
54-
mkdir macos$SUFFIX-$ARCH
55-
cd macos$SUFFIX-$ARCH
50+
SUFFIX=$1
51+
FLAGS=$2
52+
rm -rf macos$SUFFIX
53+
mkdir macos$SUFFIX
54+
cd macos$SUFFIX
5655
PATH=${PATH:+$PATH:}/home/deen/git/osxcross/target/bin
5756
eval `osxcross-conf`
5857
export OSXCROSS_OSX_VERSION_MIN=10.9
59-
if [ "$ARCH" = "fat" ]; then
60-
cmake -DVERSION=$VERSION -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DCMAKE_BUILD_TYPE=Release -DVIDEORECORDER=ON -DDISCORD=OFF -DWEBSOCKETS=OFF -DPREFER_BUNDLED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/darwin-arm64.toolchain -DCMAKE_OSX_SYSROOT=/home/deen/git/osxcross/target/SDK/MacOSX11.0.sdk/ $(echo $FLAGS) ../ddnet-source
61-
else
62-
cmake -DVERSION=$VERSION -DCMAKE_BUILD_TYPE=Release -DVIDEORECORDER=ON -DDISCORD=OFF -DWEBSOCKETS=OFF -DPREFER_BUNDLED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/darwin-$ARCH.toolchain -DCMAKE_OSX_SYSROOT=/home/deen/git/osxcross/target/SDK/MacOSX11.0.sdk/ $(echo $FLAGS) ../ddnet-source
63-
fi
58+
cmake -DVERSION=$VERSION -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DCMAKE_BUILD_TYPE=Release -DVIDEORECORDER=ON -DDISCORD=ON -DWEBSOCKETS=OFF -DPREFER_BUNDLED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/darwin-arm64.toolchain -DCMAKE_OSX_SYSROOT=/home/deen/git/osxcross/target/SDK/MacOSX11.0.sdk/ $(echo $FLAGS) ../ddnet-source
6459
make -j1 package_default
6560
}
6661

6762
build_macos_website ()
6863
{
69-
ARCH=$1
70-
build_macos $ARCH "" $UPDATE_FLAGS_MACOSX
71-
mv DDNet-*.dmg $BUILDS/DDNet-$VERSION-macos-$ARCH.dmg
64+
build_macos "" $UPDATE_FLAGS_MACOS
65+
mv DDNet-*.dmg $BUILDS/DDNet-$VERSION-macos.dmg
7266
cd ..
7367
rm -rf macos
7468
}
7569

7670
build_macos_steam ()
7771
{
78-
ARCH=$1
79-
build_macos $ARCH -steam "-DSTEAM=ON"
80-
mv DDNet-*.dmg ../DDNet-$VERSION-steam-macos-$ARCH.dmg
72+
build_macos -steam "-DSTEAM=ON"
73+
mv DDNet-*.dmg ../DDNet-$VERSION-steam-macos.dmg
8174
cd ..
8275
rm -rf macos-steam
8376
}
8477

78+
build_remote_macos ()
79+
{
80+
SUFFIX=$1
81+
FLAGS=$2
82+
ssh deen@si "rm -rf macos$SUFFIX && \
83+
mkdir macos$SUFFIX && \
84+
cd macos$SUFFIX && \
85+
/opt/homebrew/bin/cmake -DVERSION=$VERSION -DCMAKE_OSX_ARCHITECTURES=\"arm64;x86_64\" -DCMAKE_BUILD_TYPE=Release -DVIDEORECORDER=ON -DDISCORD=ON -DWEBSOCKETS=OFF -DPREFER_BUNDLED_LIBS=ON $(echo $FLAGS) ../ddnet-source && \
86+
make -j10 package_default
87+
"
88+
}
89+
90+
build_remote_macos_website ()
91+
{
92+
build_remote_macos "" $UPDATE_FLAGS_MACOS
93+
scp deen@si:macos/DDNet-\*.dmg $BUILDS/DDNet-$VERSION-macos.dmg
94+
ssh deen@si "rm -rf macos"
95+
}
96+
97+
build_remote_macos_steam ()
98+
{
99+
build_remote_macos -steam "-DSTEAM=ON"
100+
scp deen@si:macos-steam/DDNet-\*.dmg DDNet-$VERSION-steam-macos.dmg
101+
ssh deen@si "rm -rf macos-steam"
102+
}
103+
85104
build_linux ()
86105
{
87106
PLATFORM=$1
@@ -172,10 +191,13 @@ build_source &
172191
unzip -q libs.zip
173192
rm -rf ddnet-source/ddnet-libs
174193
mv $LIBS_REPO_NAME-$LIBS_REPO_BRANCH ddnet-source/ddnet-libs
194+
ssh deen@si "rm -rf ddnet-source"
195+
rsync -avzP ddnet-source deen@si:
175196

176-
(build_macos_website x86_64; build_macos_steam x86_64) &> builds/mac_x86_64.log &
177-
(build_macos_website arm64; build_macos_steam arm64) &> builds/mac_arm64.log &
178-
(build_macos_website fat; build_macos_steam fat) &> builds/mac_fat.log &
197+
# Can't cross-compiler currently since macOS with arm is stricter with unsigned
198+
# binaries and signing doesn't work. Temporarily use build from macOS:
199+
(build_remote_macos_website; build_remote_macos_steam) &> builds/mac.log &
200+
#(build_macos_website; build_macos_steam) &> builds/mac.log &
179201

180202
build_linux x86_64 $BUILDDIR/debian6 &> builds/linux_x86_64.log &
181203
CFLAGS=-m32 LDFLAGS=-m32 build_linux x86 $BUILDDIR/debian6_x86 &> builds/linux_x86.log &
@@ -236,7 +258,7 @@ cp $BUILDDIR/steamworks/sdk/redistributable_bin/linux32/libsteam_api.so ddnet
236258
zip -9r DDNet-$VERSION-linux_x86.zip ddnet
237259
rm -r ddnet
238260

239-
7z x ../DDNet-$VERSION-steam-macos-x86_64.dmg
261+
7z x ../DDNet-$VERSION-steam-macos.dmg
240262
rm -r DDNet-*-macos/DDNet.app/Contents/Resources/data DDNet-*-macos/DDNet-Server.app/Contents/Resources/data
241263
mkdir ddnet
242264
mv DDNet-*-macos/DDNet.app/Contents/MacOS/DDNet DDNet-*-macos/DDNet-Server.app/Contents/MacOS/DDNet-Server* ddnet
@@ -247,6 +269,7 @@ zip -9r DDNet-$VERSION-macos.zip ddnet Frameworks
247269
rm -r ddnet Frameworks DDNet-*-macos
248270

249271
rm -rf ddnet-source
272+
ssh deen@si "rm -rf ddnet-source"
250273

251274
NOW=$(date +'%F %R')
252275
echo "Finished build of $VERSION at $NOW"

0 commit comments

Comments
 (0)