mirror of
				https://gogs.blitter.com/RLabs/xs
				synced 2024-08-14 10:26:42 +00:00 
			
		
		
		
	Moved body of CI push script into project from bacillus
This commit is contained in:
		
							parent
							
								
									134676a60b
								
							
						
					
					
						commit
						d9f08997e3
					
				
					 1 changed files with 74 additions and 0 deletions
				
			
		
							
								
								
									
										74
									
								
								bacillus/pushbuild.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										74
									
								
								bacillus/pushbuild.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,74 @@ | ||||||
|  | #!/bin/bash | ||||||
|  | 
 | ||||||
|  | export PATH=/usr/local/bin:/usr/bin:/usr/lib/ccache/bin:/bin | ||||||
|  | echo "workdir: ${BACILLUS_WORKDIR}" | ||||||
|  | mkdir -p "${BACILLUS_ARTFDIR}" | ||||||
|  | 
 | ||||||
|  | export GO111MODULE=on | ||||||
|  | export GOPATH="${HOME}/go" | ||||||
|  | # GOCACHE will be phased out in v1.12. [github.com/golang/go/issues/26809] | ||||||
|  | export GOCACHE="${HOME}/.cache/go-build" | ||||||
|  | 
 | ||||||
|  | echo "---" | ||||||
|  | go env | ||||||
|  | echo "---" | ||||||
|  | echo "passed env:" | ||||||
|  | env | ||||||
|  | echo "---" | ||||||
|  | 
 | ||||||
|  | cd ${REPO} | ||||||
|  | branch=$(git for-each-ref --sort=-committerdate --format='%(refname)' | head -n 1) | ||||||
|  | echo "Building most recent push on branch $branch" | ||||||
|  | git checkout "$branch" | ||||||
|  | ls | ||||||
|  | 
 | ||||||
|  | stage "Build" | ||||||
|  | make all | ||||||
|  | 
 | ||||||
|  | stage "Test(Authtoken)" | ||||||
|  | echo "Clearing test user $USER ~/.xs_id file ..." | ||||||
|  | rm -f ~/.xs_id | ||||||
|  | echo "Setting dummy authtoken in ~/.xs_id ..." | ||||||
|  | echo "localhost:asdfasdfasdf" >~/.xs_id | ||||||
|  | echo "Performing remote command on @localhost via authtoken login ..." | ||||||
|  | tokentest=$(timeout 10 xs -x "echo -n FOO" @localhost) | ||||||
|  | if [ "${tokentest}" != "FOO" ]; then | ||||||
|  |   echo "AUTHTOKEN LOGIN FAILED" | ||||||
|  |   exit 1 | ||||||
|  | else | ||||||
|  |   echo "client cmd performed OK." | ||||||
|  |   unset tokentest | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | stage "Test(S->C)" | ||||||
|  | echo "Testing secure copy from server -> client ..." | ||||||
|  | tmpdir=$$ | ||||||
|  | mkdir -p /tmp/$tmpdir | ||||||
|  | cd /tmp/$tmpdir | ||||||
|  | xc @localhost:${BACILLUS_WORKDIR}/build/xs/cptest . | ||||||
|  | echo -n "Integrity check on copied files (sha1sum) ..." | ||||||
|  | sha1sum $(find cptest -type f | sort) >sc.sha1sum | ||||||
|  | diff sc.sha1sum ${BACILLUS_WORKDIR}/build/xs/cptest.sha1sum | ||||||
|  | stat=$? | ||||||
|  | 
 | ||||||
|  | cd - | ||||||
|  | rm -rf /tmp/$tmpdir | ||||||
|  | if [ $stat -eq "0" ]; then | ||||||
|  |   echo "OK." | ||||||
|  | else | ||||||
|  |   echo "FAILED!" | ||||||
|  |   exit $stat | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | stage "Test(C->S)" | ||||||
|  | echo "TODO ..." | ||||||
|  | 
 | ||||||
|  | stage "Artifacts" | ||||||
|  | echo -n "Creating tarfile ..." | ||||||
|  | tar -cz --exclude=.git --exclude=cptest -f ${BACILLUS_ARTFDIR}/xs.tgz . | ||||||
|  | 
 | ||||||
|  | stage "Cleanup" | ||||||
|  | rm -f ~/.xs_id | ||||||
|  | 
 | ||||||
|  | echo | ||||||
|  | echo "--Done--" | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue