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.
		
		
		
		
		
			
		
			
				
					
					
						
							109 lines
						
					
					
						
							2.6 KiB
						
					
					
				
			
		
		
	
	
							109 lines
						
					
					
						
							2.6 KiB
						
					
					
				| #!/usr/bin/env bash
 | |
| set -e
 | |
| 
 | |
| mkdir -p /dev/shm
 | |
| chmod 777 /dev/shm
 | |
| 
 | |
| # Write cpuset
 | |
| echo $$ > /dev/cpuset/app/tasks
 | |
| echo $PPID > /dev/cpuset/app/tasks
 | |
| 
 | |
| 
 | |
| SOURCE_DIR=/data/openpilot_source
 | |
| TARGET_DIR=/data/openpilot
 | |
| 
 | |
| ln -sf $TARGET_DIR /data/pythonpath
 | |
| 
 | |
| export GIT_COMMITTER_NAME="Vehicle Researcher"
 | |
| export GIT_COMMITTER_EMAIL="user@comma.ai"
 | |
| export GIT_AUTHOR_NAME="Vehicle Researcher"
 | |
| export GIT_AUTHOR_EMAIL="user@comma.ai"
 | |
| export GIT_SSH_COMMAND="ssh -i /tmp/deploy_key"
 | |
| 
 | |
| echo "[-] Setting up repo T=$SECONDS"
 | |
| if [ ! -d "$TARGET_DIR" ]; then
 | |
|   mkdir -p $TARGET_DIR
 | |
|   cd $TARGET_DIR
 | |
|   git init
 | |
|   git remote add origin git@github.com:commaai/openpilot.git
 | |
| fi
 | |
| 
 | |
| echo "[-] fetching public T=$SECONDS"
 | |
| cd $TARGET_DIR
 | |
| git prune || true
 | |
| git remote prune origin || true
 | |
| 
 | |
| echo "[-] bringing master-ci and devel in sync T=$SECONDS"
 | |
| git fetch origin master-ci
 | |
| git fetch origin devel
 | |
| 
 | |
| git checkout --track origin/master-ci || true
 | |
| git reset --hard master-ci
 | |
| git checkout master-ci
 | |
| git reset --hard origin/devel
 | |
| git clean -xdf
 | |
| 
 | |
| # leave .git alone
 | |
| echo "[-] erasing old openpilot T=$SECONDS"
 | |
| rm -rf $TARGET_DIR/* $TARGET_DIR/.gitmodules
 | |
| 
 | |
| # delete dotfiles in root
 | |
| find . -maxdepth 1 -type f -delete
 | |
| 
 | |
| # reset tree and get version
 | |
| cd $SOURCE_DIR
 | |
| git clean -xdf
 | |
| git checkout -- selfdrive/common/version.h
 | |
| 
 | |
| VERSION=$(cat selfdrive/common/version.h | awk -F\" '{print $2}')
 | |
| echo "#define COMMA_VERSION \"$VERSION-release\"" > selfdrive/common/version.h
 | |
| 
 | |
| # do the files copy
 | |
| echo "[-] copying files T=$SECONDS"
 | |
| cd $SOURCE_DIR
 | |
| cp -pR --parents $(cat release/files_common) $TARGET_DIR/
 | |
| 
 | |
| # in the directory
 | |
| cd $TARGET_DIR
 | |
| 
 | |
| rm -f panda/board/obj/panda.bin.signed
 | |
| 
 | |
| echo "[-] committing version $VERSION T=$SECONDS"
 | |
| git add -f .
 | |
| git status
 | |
| git commit -a -m "openpilot v$VERSION release"
 | |
| 
 | |
| # Run build
 | |
| SCONS_CACHE=1 scons -j3
 | |
| 
 | |
| echo "[-] testing openpilot T=$SECONDS"
 | |
| echo -n "0" > /data/params/d/Passive
 | |
| echo -n "0.2.0" > /data/params/d/CompletedTrainingVersion
 | |
| echo -n "1" > /data/params/d/HasCompletedSetup
 | |
| echo -n "1" > /data/params/d/CommunityFeaturesToggle
 | |
| 
 | |
| PYTHONPATH="$TARGET_DIR:$TARGET_DIR/pyextra" nosetests -s selfdrive/test/test_openpilot.py
 | |
| PYTHONPATH="$TARGET_DIR:$TARGET_DIR/pyextra" GET_CPU_USAGE=1 selfdrive/manager.py
 | |
| 
 | |
| echo "[-] testing panda build T=$SECONDS"
 | |
| pushd panda/board/
 | |
| make bin
 | |
| popd
 | |
| 
 | |
| echo "[-] testing pedal build T=$SECONDS"
 | |
| pushd panda/board/pedal
 | |
| make obj/comma.bin
 | |
| popd
 | |
| 
 | |
| if [ ! -z "$PUSH" ]; then
 | |
|   echo "[-] Pushing to $PUSH T=$SECONDS"
 | |
|   git push -f origin master-ci:$PUSH
 | |
| fi
 | |
| 
 | |
| echo "[-] done pushing T=$SECONDS"
 | |
| 
 | |
| # reset version
 | |
| cd $SOURCE_DIR
 | |
| git checkout -- selfdrive/common/version.h
 | |
| 
 | |
| echo "[-] done T=$SECONDS"
 | |
| 
 |