openpilot is an open source driver assistance system. openpilot performs the functions of Automated Lane Centering and Adaptive Cruise Control for over 200 supported car makes and models.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
1.5 KiB

#!/usr/bin/bash
set -e
if [ -z "$SOURCE_DIR" ]; then
echo "SOURCE_DIR must be set"
exit 1
fi
if [ -z "$GIT_COMMIT" ]; then
echo "GIT_COMMIT must be set"
exit 1
fi
if [ -z "$TEST_DIR" ]; then
echo "TEST_DIR must be set"
exit 1
fi
umount /data/safe_staging/merged/ || true
sudo umount /data/safe_staging/merged/ || true
if [ -f "/EON" ]; then
rm -rf /data/core
rm -rf /data/neoupdate
rm -rf /data/safe_staging
fi
export KEYS_PATH="/usr/comma/setup_keys"
export CONTINUE_PATH="/data/continue.sh"
if [ -f "/EON" ]; then
export KEYS_PATH="/data/data/com.termux/files/home/setup_keys"
export CONTINUE_PATH="/data/data/com.termux/files/continue.sh"
fi
tee $CONTINUE_PATH << EOF
#!/usr/bin/bash
PARAMS_ROOT="/data/params/d"
while true; do
mkdir -p \$PARAMS_ROOT
cp $KEYS_PATH \$PARAMS_ROOT/GithubSshKeys
echo -n 1 > \$PARAMS_ROOT/SshEnabled
sleep 1m
done
sleep infinity
EOF
chmod +x $CONTINUE_PATH
# set up environment
if [ ! -d "$SOURCE_DIR" ]; then
git clone https://github.com/commaai/openpilot.git $SOURCE_DIR
fi
cd $SOURCE_DIR
rm -f .git/index.lock
git reset --hard
git fetch
find . -maxdepth 1 -not -path './.git' -not -name '.' -not -name '..' -exec rm -rf '{}' \;
git fetch --verbose origin $GIT_COMMIT
git reset --hard $GIT_COMMIT
git checkout $GIT_COMMIT
git clean -xdf
git submodule update --init --recursive
git submodule foreach --recursive "git reset --hard && git clean -xdf"
echo "git checkout done, t=$SECONDS"
rsync -a --delete $SOURCE_DIR $TEST_DIR
echo "$TEST_DIR synced with $GIT_COMMIT, t=$SECONDS"