1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-23 16:25:16 +03:00
opentx/tools/nightly23/build-nightly.sh

79 lines
3.1 KiB
Bash
Executable file

#!/bin/bash
set -e
branch=2.3.0
docker=nightly23
workdir=/home/opentx/nightly23
output=/var/www/html/2.3/nightlies
version=2.3.0
echo "Increment nightly index"
index=`cat index.txt`
index=`expr $index + 1`
suffix="N$index"
cd ${workdir}
echo "Create on-demand build environment"
cp code/radio/util/Dockerfile .
docker build -t new-${docker} --build-arg OPENTX_VERSION_SUFFIX=${suffix} .
docker rmi -f ${docker} || true
docker tag new-${docker} ${docker}
docker rmi -f new-${docker}
echo "Call sdcard generation"
code/tools/nightly23/build-sdcard.sh
echo "Delete companion container in case of previous failed atempt"
if [ "$(docker ps -aq -f name=companion)" ]; then
docker rm --force companion
fi
echo "Build firmware stamps"
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"
cp -f ${workdir}/binaries/stamp-opentx.txt ${output}/firmware
# These radios are currently not enabled
# echo "#define BLOCK \"x10,x12s\"" >> ${output}/firmware/stamp-opentx.txt
echo "#define ERROR \"MOVE_TO_RELEASE\"" >> ${output}/firmware/stamp-opentx.txt
docker exec companion rm -rf build
echo "Check if Linux companion is needed"
if [ ! -f ${output}/companion/linux/companion23_${version}${suffix}_amd64.deb ]; then
echo "Build Linux companion"
docker exec companion /opentx/code/tools/build-companion-nightly.sh /opentx/code /opentx/binaries/ ${suffix}
cp -f binaries/*.deb ${output}/companion/linux/companion23_${version}${suffix}_amd64.deb
fi
docker stop companion
docker rm companion
echo "Check if Windows companion is needed"
if [ ! -f ${output}/companion/windows/companion-windows-${version}${suffix}.exe ]; then
echo "Build Windows companion"
cd ${output}/companion/windows
wget --tries=1 --read-timeout=6000 -O- http://winbox.open-tx.org/companion-builds/compile23.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
echo "Check if Macosc companion is needed"
if [ ! -f ${output}/companion/macosx/opentx-companion-${version}${suffix}.dmg ]; then
echo "Build Macosx companion"
cd ${output}/companion/macosx
wget --tries=1 -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
echo "Update Companion stamps"
echo "#define VERSION \"${version}${suffix}\"" > ${output}/companion/companion-windows.stamp
cp -f ${output}/companion/companion-windows.stamp ${output}/companion/companion-linux.stamp
cp -f ${output}/companion/companion-windows.stamp ${output}/companion/companion-macosx.stamp
echo "Clean binaries It will be hosting built on demand firmware"
rm -rf ${workdir}/binaries/*
rm -rf ${workdir}/binaries/.lock
echo "Release $index successfully completed"
echo $index > ${workdir}/index.txt