mirror of
https://github.com/arduino/Arduino.git
synced 2025-03-15 12:29:26 +01:00
first stab at scripts to actually run the build
This commit is contained in:
parent
a0918ef02d
commit
057fbfe5b8
109
build/auto-build/arduino-trunk-auto-build
Executable file
109
build/auto-build/arduino-trunk-auto-build
Executable file
@ -0,0 +1,109 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# this script is the first attempt to have an automated updater and builder
|
||||||
|
|
||||||
|
# the source dir where this script is
|
||||||
|
SCRIPT_DIR=`echo $0 | sed 's|\(.*\)/.*$|\1|'`
|
||||||
|
. $SCRIPT_DIR/auto-build-common
|
||||||
|
|
||||||
|
# the name of this script
|
||||||
|
SCRIPT=`echo $0| sed 's|.*/\(.*\)|\1|g'`
|
||||||
|
|
||||||
|
BUILD_DIR=.
|
||||||
|
case $SYSTEM in
|
||||||
|
linux)
|
||||||
|
BUILD_DIR=linux_make
|
||||||
|
echo "Configuring to use $BUILD_DIR on GNU/Linux"
|
||||||
|
;;
|
||||||
|
darwin)
|
||||||
|
BUILD_DIR=darwin_app
|
||||||
|
echo "Configuring to use $BUILD_DIR on Darwin/Mac OS X"
|
||||||
|
;;
|
||||||
|
mingw*)
|
||||||
|
BUILD_DIR=win32_inno
|
||||||
|
echo "Configuring to use $BUILD_DIR on MinGW/Windows"
|
||||||
|
;;
|
||||||
|
cygwin*)
|
||||||
|
BUILD_DIR=win32_inno
|
||||||
|
echo "Configuring to use $BUILD_DIR on Cygwin/Windows"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "ERROR: Platform $SYSTEM not supported!"
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
# convert into absolute path
|
||||||
|
cd `echo $0 | sed 's|\(.*\)/.*$|\1|'`/../..
|
||||||
|
auto_build_root_dir=`pwd`
|
||||||
|
echo "root: $auto_build_root_dir"
|
||||||
|
|
||||||
|
# let rsync handle the cleanup with --delete
|
||||||
|
case $SYSTEM in
|
||||||
|
mingw*)
|
||||||
|
/c/cygwin/bin/sh --login -c \
|
||||||
|
"rsync -a --delete rsync://128.238.56.50/arduino/arduino-trunk/ ${auto_build_root_dir}/"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
rsync -a --delete rsync://128.238.56.50/arduino/arduino-trunk/ ${auto_build_root_dir}/
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
cd "${auto_build_root_dir}/build/$BUILD_DIR"
|
||||||
|
./dist.sh
|
||||||
|
|
||||||
|
exit
|
||||||
|
|
||||||
|
upload_build ()
|
||||||
|
{
|
||||||
|
platform_folder=$1
|
||||||
|
build_folder=$2
|
||||||
|
archive_format=$3
|
||||||
|
|
||||||
|
archive="${auto_build_root_dir}/packages/${platform_folder}/${build_folder}/Pd*.${archive_format}"
|
||||||
|
|
||||||
|
echo "upload specs $1 $2 $3"
|
||||||
|
echo "Uploading $archive"
|
||||||
|
upload_filename=`ls -1 ${archive} | sed "s|.*/\(.*\)\.${archive_format}|\1-${HOSTNAME}.${archive_format}|"`
|
||||||
|
case $SYSTEM in
|
||||||
|
mingw*)
|
||||||
|
if [ -e ${archive} ]; then
|
||||||
|
/c/cygwin/bin/sh --login -c \
|
||||||
|
"rsync -a ${archive} rsync://128.238.56.50/arduinoupload/${DATE}/${upload_filename}" && \
|
||||||
|
md5sum ${archive} > ${archive}.md5 && \
|
||||||
|
/c/cygwin/bin/sh --login -c \
|
||||||
|
"rsync -a ${archive}.md5 rsync://128.238.56.50/arduinoupload/${DATE}/${upload_filename}.md5" && \
|
||||||
|
echo SUCCESS
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if [ -e ${archive} ]; then
|
||||||
|
rsync -a ${archive} rsync://128.238.56.50/arduinoupload/${DATE}/${upload_filename} && \
|
||||||
|
md5sum ${archive} > ${archive}.md5 && \
|
||||||
|
rsync -a ${archive}.md5 rsync://128.238.56.50/arduinoupload/${DATE}/${upload_filename}.md5 && \
|
||||||
|
echo SUCCESS
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
case $SYSTEM in
|
||||||
|
linux)
|
||||||
|
if [ -x /usr/bin/dpkg-deb ]; then
|
||||||
|
upload_build linux_make . deb
|
||||||
|
else
|
||||||
|
upload_build linux_make build tar.bz2
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
darwin)
|
||||||
|
upload_build darwin_app . dmg
|
||||||
|
;;
|
||||||
|
mingw*)
|
||||||
|
upload_build win32_inno Output exe
|
||||||
|
;;
|
||||||
|
cygwin*)
|
||||||
|
upload_build win32_inno Output exe
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
50
build/auto-build/run-auto-builds
Executable file
50
build/auto-build/run-auto-builds
Executable file
@ -0,0 +1,50 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
cd /
|
||||||
|
|
||||||
|
# On Mac OS X, there are some handy things in Fink, but don't override the
|
||||||
|
# built-in tools
|
||||||
|
PATH="${PATH}:/sw/bin:/sw/sbin"
|
||||||
|
export PATH
|
||||||
|
|
||||||
|
# the source dir where this script is
|
||||||
|
SCRIPT_DIR=`echo $0 | sed 's|\(.*\)/.*$|\1|'`
|
||||||
|
. $SCRIPT_DIR/auto-build-common
|
||||||
|
|
||||||
|
# the name of this script
|
||||||
|
SCRIPT=`echo $0| sed 's|.*/\(.*\)|\1|g'`
|
||||||
|
|
||||||
|
run_build_script ()
|
||||||
|
{
|
||||||
|
distro=$1
|
||||||
|
|
||||||
|
LOGFILE=/home/arduino/logs/${DATE}_${TIME}_${SYSTEM}_${HOSTNAME}_${distro}_${SCRIPT}.txt
|
||||||
|
touch ${LOGFILE}
|
||||||
|
|
||||||
|
sh /home/arduino/auto-build/${distro}/build/auto-build/${distro}-auto-build >> $LOGFILE 2>&1
|
||||||
|
|
||||||
|
case $SYSTEM in
|
||||||
|
mingw*)
|
||||||
|
/c/cygwin/bin/sh --login -c \
|
||||||
|
"rsync -a ${LOGFILE} rsync://128.238.56.50/arduinoupload/${DATE}/logs/"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
rsync -a ${LOGFILE} rsync://128.238.56.50/arduinoupload/${DATE}/logs/
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# send status report if something failed
|
||||||
|
completion_test=`tail -1 ${LOGFILE}`
|
||||||
|
if [ "x${completion_test}" != "xSUCCESS" ]; then
|
||||||
|
if [ "x${RECIPIENT}" != "x" ]; then
|
||||||
|
SUBJECT="autobuild: $distro $HOSTNAME $DATE $TIME"
|
||||||
|
tail -20 ${LOGFILE} | mail -s "${SUBJECT}" ${RECIPIENT}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
for dir in /home/arduino/auto-build/*; do
|
||||||
|
dirname=`echo $dir | sed 's|.*/\(.*\)|\1|'`
|
||||||
|
test -e $dir/build/auto-build/${dirname}-auto-build && \
|
||||||
|
run_build_script $dirname
|
||||||
|
done
|
Loading…
x
Reference in New Issue
Block a user