1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-17 13:25:20 +03:00
opentx/tools/rc22/build-rc.sh
2018-08-30 13:34:13 +02:00

71 lines
2.7 KiB
Bash
Executable file

#!/bin/bash
set -e
branch=2.2
docker=rc22
workdir=/home/opentx/rc22
output=/var/www/html/2.2/rc
version=2.3.0
# Increment RC index
index=`cat index.txt`
index=`expr $index + 1`
suffix="RC$index"
cd ${workdir}
# Create on-demand build environment
cp code/radio/util/Dockerfile .
docker build -t new-${docker} --build-arg OPENTX_VERSION_SUFFIX=${suffix} .
set +e
docker rmi -f ${docker}
set -e
docker tag new-${docker} ${docker}
docker rmi -f new-${docker}
# Call sdcard generation
code/tools/rc22/build-sdcard.sh
# Build Linux companion
docker run -dit --name companion -v /home/opentx/${docker}:/opentx ${docker}
docker exec companion sh -c "mkdir -p build && cd build && cmake /opentx/code && cp radio/src/stamp.h /opentx/binaries/stamp-opentx.txt"
docker exec companion rm -rf build
if [ ! -f ${output}/companion/linux/companion22_${version}${suffix}_amd64.deb ]; then
docker exec companion /opentx/code/tools/build-companion-release.sh /opentx/code /opentx/binaries/
docker exec companion sh -c "cp /build/radio/src/lua/*.txt /opentx/binaries"
cp -f binaries/*.deb ${output}/companion/linux/companion22_${version}${suffix}_amd64.deb
cp -f binaries/lua_fields_*.txt ${output}/firmware
fi
docker stop companion
docker rm companion
# Request companion compilation on Windows
if [ ! -f ${output}/companion/windows/companion-windows-${version}${suffix}.exe ]; then
cd ${output}/companion/windows
wget -qO- http://winbox.open-tx.org/companion-builds/compile22.php?branch=$branch\&suffix=${suffix}
wget -O companion-windows-${version}${suffix}.exe http://winbox.open-tx.org/companion-builds/companion-windows-${version}${suffix}.exe
chmod -Rf g+w companion-windows-${version}${suffix}.exe
fi
# Request companion compilation on Mac OS X
if [ ! -f ${output}/companion/macosx/opentx-companion-${version}${suffix}.dmg ]; then
cd ${output}/companion/macosx
wget -qO- http://opentx.blinkt.de:8080/~opentx/build-opentx.py?branch=${branch}\&suffix=${suffix}
wget -O opentx-companion-${version}${suffix}.dmg http://opentx.blinkt.de:8080/~opentx/builds/opentx-companion-${version}${suffix}.dmg
chmod -Rf g+w opentx-companion-${version}${suffix}.dmg
fi
# Update stamps
cp -f $workdir/binaries/stamp-opentx.txt ${output}/firmware
echo "#define VERSION \"${version}${suffix}\"" > ${output}/companion/companion-windows.stamp
cp -f ${output}/companion/companion-windows.stamp ${output}/companion/companion-macosx.stamp
cp -f ${output}/companion/companion-windows.stamp ${output}/companion/companion-linux.stamp
# Clean binaries It will be hosting built on demand firmware
rm -rf $workdir/binaries/*
rm -rf $workdir/binaries/.lock
# RC is considered as valid ony if we get to that point
echo $index > ${workdir}/index.txt